android: 用buildConfigField将常量值注入到应用程序
一,代码:
1,build.gradle的配置
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "String", "ENV", '"prod"'
buildConfigField "String", "API_BASE_URL", '"https://api.baidu.com"'
signingConfig signingConfigs.debug
}
debug {
buildConfigField "String", "ENV", '"devel"'
buildConfigField "String", "API_BASE_URL", '"https://apidev.baidu.com"'
}
}
2, 代码中获取配置
//给按钮增加点击事件:当前环境
Button button2 = findViewById(R.id.downBtn);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//得到当前环境:
System.out.println("当前环境:"+ BuildConfig.ENV);
if (BuildConfig.DEBUG) {
// 测试版本的行为
System.out.println("这是测试版本");
} else {
// 正式版本的行为
System.out.println("这是正式版本");
}
System.out.println("当前API Host:"+ BuildConfig.API_BASE_URL);
}
});
二,测试效果
debug模式
release模式