What
buildType
顾名思义:构建类型。在Android Studio中Android项目默认构建工具是gradle,而项目在建立是就存在了两种构建类型:debug
与release
.
Why
使用buildType
来指定Andrioid项目的构建类型,可以根据不同的构建类型选取不同的签名文件,不同的Manifest
文件、混淆配置等等,达到通过更改构建类型来创建不同的APK的效果。
How
构建类型中可以定义的属性
属性名称 | debug默认值 | release默认值 | 其他构建类型默认值 |
---|---|---|---|
debuggable | true | false | false |
jniDebuggable | false | false | false |
renderscriptDebuggable | false | false | false |
renderscriptOptimLevel | 3 | 3 | 3 |
applicationIdSuffix | null | null | null |
versionNameSuffix | null | null | null |
signingConfig | android.signingConfigs.debug | null | null |
zipAlignEnabled | false | true | true |
minifyEnabled | false | false | false |
proguardFile | N/A (set only) | N/A (set only) | N/A (set only) |
proguardFiles | N/A (set only) | N/A (set only) | N/A (set only) |
buildTypes的使用位置
一般用在app-level
下的build.gradle文件下
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
...
}
buildTypes {
release {
minifyEnabled false
buildConfigField "String", "BUILD_STRING", "\"release\""
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug{
minifyEnabled false
buildConfigField "String", "BUILD_STRING", "\"debug\""
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
一些使用技巧
1.通过buildConfigField
配置通用属性
可以在代码中通过BuildConfig
来调用
//设置属性名为BUILD_STRING值为release的属性,注意需要使用\"定义字符串
buildConfigField "String", "BUILD_STRING", "\"release\""
//定义boolean类型数据
buildConfigField "boolean", "IS_OK", "false"
//定义int类型数据
buildConfigField "int", "NUM", "0"
2.添加包名后缀
applicationIdSuffix ".release"