在项目开发过程中,一般由程序员完成开发工作后,将代码提交到git上,测试 同学pull代码后,项目build.gradle中设置如下代码
buildTypes {
release {
def env = project.hasProperty('ENV')?ENV:"PRODUCT"
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
buildConfigField("String", "BUILD_ENV", "\"$env\"")
printf('------>ENV = '+env)
zipAlignEnabled true
signingConfig signingConfigs.release
}
debug {
def env = project.hasProperty('ENV')?ENV:"TEST"
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
buildConfigField("String", "BUILD_TIME", "\"${buildTime()}\"")
buildConfigField("String", "BUILD_ENV", "\"$env\"")
zipAlignEnabled true
signingConfig signingConfigs.release
}
}
代码里可获取BUILD_ENV的值
if("PRODUCT".equals(BuildConfig.BUILD_ENV)){
//生产环境
}else if("TEST".equals(BuildConfig.BUILD_ENV)){
//测试环境
}
打包命令
gradle clean assemblerelease -PENV=PRODUCT
gradle clean assemblerelease -PENV=TEST
gradle clean assembledebug -PENV=TEST
gradle clean assembledebug -PENV=TEST