Android Studio的1大特點就是自動構建工具gradle的使用。
新建GRADLE_HOME目錄:
打開系統->高級系統設置,在彈出的菜單當選擇系統變量,點擊新建,輸入Gradle名稱和目錄地址。
將GRADLE_HOME目錄加入系統Path中:
在系統變量中找到Path目錄,點擊編輯,在彈出的菜單當選擇新建,然后在文本框中輸入“%GRADLE_HOME%\bin”;
如果習慣與win7等傳統模式,可以點擊編輯文本按鈕
在彈出的文本編輯框中輸入“;%GRADLE_HOME%\bin”,記住前面1定要有1個英文狀態的“;”。
如果配置成功后,在文件搜索中可以輸入%GRADLE_HOME%,如果能夠正常跳轉到指定的gradle目錄,或在CMD中輸入dir %GRADLE_HOME%列出gradle目錄的結構,則配置成功。
點擊左下角的“Terminal”圖標:
然后出現以下的終端窗口:
在Android Studio的終端中輸入gradlew -v
下載成功后可以看到保存到了本地目錄
再次輸入“gradlew -v ”則出現當前的gradle版本
在Android Studio的終端中輸入gradlew -v
可以看到當前gradle版本為2.12。
在Android Studio的終端中輸入gradlew clean
輸入上訴命令后,可以看到工程目錄沒有了build文件夾了
在Android Studio的終端中輸入gradlew build,此命令把debug/release環境包都打出來,可以查看build->outputs->apk
如果在編譯的進程中出現以下毛病,可以在毛病報告指向的地址中查看詳細的毛病信息;紅色部份指明了毛病的類型;在最下面提供了解決辦法。
在Android Studio的終端中輸入gradlew assembleDebug
可以查看build->outputs->apk多了xx-debug.apk和xx-debug-unaligned.apk。
./gradlew assembleRelease 編譯并打Release包
在Android Studio的終端中輸入gradlew assembleRelease
可以查看build->outputs->apk多了xx-release-unaligned.apk,如果正式發布只需要打Release的包,則需要上訴assembleRelease命令。
打開Project Stucture圖形化界面,選中項目名稱,再選擇右側Signing項中的”+”
將右邊的config改名為release和debug并填寫簽名信息,點擊下面OK
然后分別在release/debug欄選擇對應的簽名配置信息(上面所填)
點擊OK后這個module的build.gradle文件多出了以下簽名信息
點擊clean project
輸入gradlew assembleReleas生成以上配置后的簽名apk,可以在build->outputs->apk中查看。
主要是指定該項目的名稱、版本信息等,以下圖所示:
apply plugin: 'com.android.application'
指定打包時排除重復過剩的文件
/** 打包選項 */
packagingOptions {
exclude “…”
}
指定編譯的版本配置信息等
/** 默許配置信息 */
defaultConfig {
applicationId "com.xx.xx.xx "
minSdkVersion 16 // 清單文件中不需要再次配置
targetSdkVersion 23
versionCode 20160523
versionName "1.01.14"
multiDexEnabled true // dex突破65535的限制
}
指定在構建時疏忽毛病信息
/** 履行lint檢查 */
lintOptions {
abortOnError false
}
指定命令方式簽名的簽名信息
/** 設置簽名路徑 */
signingConfigs {
debug {
keyAlias 'key..'
keyPassword 'password..'
storeFile file('E:/ADS/keystore.jks')
storePassword ' password..'
}
release {
keyAlias 'key..'
keyPassword ' password..'
storeFile file('E:/ADS/keystore.jks')
storePassword ' password..'}
}
指定編譯規則等
/** 編譯生成類型 */
buildTypes {
release {
buildConfigField "boolean", "LOG_DEBUG", "false"//不Log
minifyEnabled true // 混淆
zipAlignEnabled true // Zipalign優化
shrinkResources true // 移除無用的resource文件
// 加載默許混淆配置文件 progudard-android.txt在sdk目錄里面,不用管,proguard.cfg是我們自己配<span></span>的混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
signingConfig signingConfigs.release // 簽名
}
}
點擊項目的依賴“Dependencies”設置界面中的“+”
在彈出的界面中輸入gson,然后點擊右側的搜索圖標,在搜索結果當選中
點擊OK后,可以在build.gradle中看到依賴中多了1行
此時gson庫已不在libs下,而在External Libraries下。
但是gradle導入需要翻墻。
buildscript {
repositories {
// 所有通過gradle導入的jar包都是從http://bintray.com/bintray/jcenter這個中央倉庫上扒下來的
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
}
如果你需要的jar包在這個網站上沒有,那就沒法通過gradle的方式來導入。