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