公司項目渠道包越來越大,每次發版本都是開發人員打包,研究了下如何批量打渠道包,記錄過程
步驟
1.gradle配置
android{
//配置簽名
signingConfigs {
release {
keyAlias 'key0'
keyPassword '123456'
storeFile file('sign/keystore')
storePassword '123456'
}
}
buildTypes {
debug {
minifyEnabled false
signingConfig signingConfigs.release
}
release {
//這幾個是混淆等壓縮配置,可以不開,這裏只是個示例
minifyEnabled true
shrinkResources true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
//注意這裏,需要使用上面配置的簽名
signingConfig signingConfigs.release
}
}
//不同的渠道
flavorDimensions "versionCode"
productFlavors {
huawei {
dimension "versionCode"
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"]
buildConfigField "int", "FLAVOR_TYPE", "1" //apk渠道:1華爲、2小米、3oppo、4vivo、6快手(奇趣官網包也併入6快手架道)
}
xiaomi {
dimension "versionCode"
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
buildConfigField "int", "FLAVOR_TYPE", "2"
}
}
//更改輸出的apk名稱
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${variant.buildType.name}.apk"
}
}
}}
2.執行gradle命令
原本是想通過命令行來進行的,但是執行的時候卻是提示沒有配置Java11環境,於是就想Android Studio裏面都可以不用配置Java環境就可以執行的gradle命令
於是就找到了右側的gradle命令面板
在裏面執行下面代碼即可
app:assembleRelease
PS: 可能是由於項目的關係,在檢查lint會不通過,然後最後打完包Android Studio會提示說gradle task被取消,但是實際上是打包成功了,進入對應的
app/build/渠道包/release/
目錄下,可以找到對應的apk文件