Android Gradle配置 Gradle Config
Gradle是一種依賴管理工具可以配置在Android內,基於Groovy語言,面向Java應用為主。本篇將會介紹Android怎麼配置Gradle的各種操作,因為基本上都是固定不變的,Gradle如果運用自如也會對開發Android上有很大的幫助。
文章目錄
- 打包輸出的檔名
- 過濾指定Library的CPU
- 過濾指定的CPU
- 導入外掛
- 導入DataBinding&ViewBinding
- Debug Release版本的簽名
- Debug Release版本的參數
- 配置config.gradle
- 加快編譯速度gradle.properties
- 移除Lint檢查的error
1.打包輸出的檔名
android.applicationVariants.all { variant ->
variant.outputs.all {
def date = new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("GMT+08"))
outputFileName = "{applicationId}{variant.buildType.name}_{versionName}{date}.apk"
}
}
2.過濾指定Library的CPU
7種CPU(armeabi-v7a, arm64-v8a, armeabi, x86, x86_64, mips64, mips)
packagingOptions {
exclude 'lib/x86/libopencv_java3.so'
exclude 'lib/x86_64/libopencv_java3.so'
exclude 'lib/mips64/libopencv_java3.so'
exclude 'lib/mips/libopencv_java3.so'
}
3.過濾指定的CPU
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
4.導入外掛
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
5.導入DataBinding&ViewBinding
buildFeatures {
dataBinding = true
viewBinding = true
}
6.Debug Release版本的簽名
signingConfigs {
release {
//路徑是ProjectName\app\test.jks
storeFile file("test.jks")
keyAlias "test"
keyPassword "qqq11111"
storePassword "qqq11111"
}
debug {
//路徑是ProjectName\app\test.jks
storeFile file("test.jks")
keyAlias "test"
keyPassword "qqq11111"
storePassword "qqq11111"
}
}
//路徑是ProjectName\petpass.jks
storeFile file("../petpass.jks")
7.Debug Release版本的參數
要放在signingConfigs後面
buildTypes {
release {
//release參數
buildConfigField('String', 'ServerAddress', "\"https://badgameshow.com/\"")
// zipAlign優化
zipAlignEnabled true
//移除沒用的resource文件(要配合混淆才有用)
shrinkResources true
//混淆
minifyEnabled true
//混淆配置檔
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
//debug參數
buildConfigField('String', 'ServerAddress', "\"https://badgameshow.com/flytest/\"")
signingConfig signingConfigs.debug
}
}
8.配置config.gradle
如果專案大起來有10個Module 同時用相同的Library 之後Library更新 就需要改10次
所以利用config.gradle 讓10個Module 都指向config.gradle 裡的Library 就可以解決改10次的問題
config.gradle教學
9.加快編譯速度gradle.properties
把這個註釋打開
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
//默認開啟 不用另外開
org.gradle.daemon=true
//使用Kotlin可以再添加 增量構建在Kotlin1.0.2以後版本支援
kotlin.incremental = true
10.移除Lint檢查的error
lintOptions.abortOnError = false