网上有一篇文章说的很明白,
图文来教你在eclipse下用gradle 来打包Android
http://blog.csdn.net/x605940745/article/details/41242687
步骤为:
1. Elipse里面导出,Generate Gradle build files
2. 找到生成的gradle文件夹,里面有 gradle-wrapper.properties,打开后如下
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http://services.gradle.org/distributions/gradle-1.10-all.zip
3. 复制最后一行,下载这个文件,并拷贝到指定目录4. 配置环境变量, GRADLE_HOME= E:GraldeTestgradle-1.10-all\,并把 GRADLE_HOMEin 加入到PATH里面。
5. 命令行里面输入 gradle -v, 如果配置成功,会显示相应的版本号。
6. 跳转到android 工程文件夹,执行gradle build,生成APK。APK 在buildoutputsapk里面。
7. 如果要Release版本的,build.gradle 要做一下修改,
增加:
signingConfigs{
release{
storeFile file("keystores/SeagateDashboard.keystore")
storePassword "nero1234"
keyAlias "[dashboard]"
keyPassword "nero1234"
}
}buildTypes{
release{
signingConfig signingConfigs.release
}
}8. 如果使用了最新的gradle,例如 2.3,导致build失败,需要修改一下配置
distributionUrl=http://services.gradle.org/distributions/gradle-2.3-all.zip
当然了,GRADLE_HOME里面也要改过的。
另外
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}这个版本号和grade的对应,参考 https://developer.android.com/tools/revisions/gradle-plugin.html
具体的对应关系不详,需要多试试。
9. 编译时可能会报错 sdk location not found.define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
本地创建一个local.properties, 内容为
sdk.dir=C:androidsdk …. (ANDROID_HOME所在路径)
如果是在集成服务器上,例如Bamboo,需要使用第三方组件 android-sdk-manager (https://github.com/JakeWharton/sdk-manager-plugin)。
这个组件会帮我们下载android sdk,并配置local.properties.
并且需要在build.gradle头部增加如下信息,这些必须在apply android前面。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
}
}
apply plugin: 'android-sdk-manager'
apply plugin: 'android-library'dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
其他参考: