網上有一篇文章說的很明白,
圖文來教你在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:\GraldeTest\gradle-1.10-all\,并把 GRADLE_HOME\bin 加入到PATH里面。
5. 命令行里面輸入 gradle -v, 如果配置成功,會顯示相應的版本號。
6. 跳轉到android 工程文件夾,執行gradle build,生成APK。APK 在build\outputs\apk里面。
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:\android\sdk …. (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')
}
?
?
其他參考: