1、Log开关控制。定义动态编译生成对象,通过 buildConfigField 控制,然后在Java文件中通过BuildConfig.enableLog来获取,代码如下:
buildTypes {
release {
buildConfigField("boolean","enableLog","true")
}
debug {
buildConfigField("boolean","enableLog","true")
}
}
2、版本号、依赖统一管理。建立一个独立的 gradle(config.gradle),然后在工程的 build.gradle 文件中,使用
apply from: "config.gradle" 引入。通过设置 project.ext,就可以通过 rootProject.ext.android["compileSdkVersion"] 使用,代码如下:
ext {
android = [
compileSdkVersion : 28,
buildToolsVersion : "28.0.3",
minSdkVersion : 21,
targetSdkVersion : 22,
versionCode : 156,
versionName : "2.4.1"
]
version = [
androidSupportSdkVersion: "28.0.0",
retrofitSdkVersion : "2.4.0",
dagger2SdkVersion : "2.15",
glideSdkVersion : "4.7.1",
butterknifeSdkVersion : "8.8.1"
]
}
3、apk输出名字定制化。定制化apk输出的名字,可以自动加上版本号、时间等信息,代码如下:
applicationVariants.all { variant ->
variant.outputs.all { output ->
outputFileName =
"erp_${buildType.name}_v${variant.versionName}_${variant.versionCode}.apk"
}
}