buildTypes {
release {
//配置URL
buildConfigField "String", "URL", "\"http://xxx.com/\""
//是否混淆
minifyEnabled true
//是否压缩
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
//配置URL
//在代码中直接引用BuildConfig.URL便可获取对应参数值
buildConfigField("String", "URL", "\"http://xxx/xxx/\"")
minifyEnabled false
zipAlignEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
复制代码
productFlavors{
//自定义名字不过不能和上面buildType中相同,否则Gradle编译会不经过。
TX{
// manifestPlaceholders中写到的『str』,『package_name』不支持用大写,不然Gradle编译会不经过。
// 这里所设置的变量能够直接使用在『AndroidManifest.xml』中,使用方式为:${package_name}
// android:label="${package_name}"
manifestPlaceholders = [APP_NAME:"腾讯版",APP_KEY:"2D673912328262FA81968B"]
// 这里的参数是为了在 java 代码中使用,具体的使用方式为:context.getResources().getString(R.string.strKey);
resValue("string" , "strKey","releaseStrValue")
}
//使用manifestPlaceholders的这种配置,一样适用于manifest的其余配置。好比你须要在不一样渠道发布的apk里面,指定不一样的启动Activity。
// 好比在豌豆荚里面发布的,启动的Activity显示的是豌豆荚首发的界面,应用宝里面启动的是应用宝首发的界面.
// 你就能够对你的activity的值使用${activity_name}的方式
// 而后在productFlavors里面配置这个${activity_name}的值。
CHANNEL{
manifestPlaceholders = [APP_NAME:"渠道版",APP_KEY:"C9FFA09BC76F949CE3EF"]
resValue("string" , "strKey","devStrValue")
}
复制代码
在build Variants中能够选择默认的运行版本java