开发时为 debug 和 release 版本设置不同的包名,这样 debug 和 release 可以同时安装到同一个手机上。为了区分可以为 debug 和 release 设置不同的名称或设置不同的 icon。
resValue 可以操作资源,配置如下
buildTypes {
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
resValue 'string', 'app_name', '青青互助-debug'
}
release {
resValue 'string', 'app_name', '青青互助'
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def suffix = ''
if (variant.buildType.name.equals('release')) {
suffix = 'release'
} else if (variant.buildType.name.equals('debug')) {
suffix = 'debug'
}
def fileName = "app_v${defaultConfig.versionName}_${variant.productFlavors[0].name}_${releaseTime()}_${suffix}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
记得删除原来 string.xml 中的 app_name,否则编译时会报资源重复
也可以为 debug 版本设置不同的 icon, 把图片扔到 app/src/debug/res 对应的目录中就行了