Android 多渠道打包進階版
更新時間:2021年09月01日 11:44:37 作者:SongSenior
上篇文章更了Android 多渠道打包,這篇文章將做一個后續(xù)繼續(xù)更Android 多渠道打包進階版,上次意未盡的朋友可以繼續(xù)啦,第一次點進來的朋友也可以看上次文章
上一篇文章鏈接//www.dhdzp.com/article/221446.htm
Android 多渠道打包進階版
文章開始前,先看一下下面這種情況:
android {
productFlavors {
//100 個多渠道配置
}
//多渠道簽名的配置
signingConfigs {
xiaomi {
storeFile file("../xiaomi.keystore")
storePassword 'xiaomi'
keyAlias 'xiaomi'
keyPassword 'xiaomi'
v1SigningEnabled true
v2SigningEnabled true
}
huawei {
storeFile file("../huawei.keystore")
storePassword 'huawei'
keyAlias 'huawei'
keyPassword 'huawei'
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
debug {
// debug這里設置不起作用,可能是編譯器的問題?
// productFlavors.xiaomi.signingConfig signingConfigs.test
// productFlavors.huawei.signingConfig signingConfigs.test
}
release {
productFlavors.xiaomi.signingConfig signingConfigs.xiaomi
productFlavors.huawei.signingConfig signingConfigs.huawei
//....100 個簽名配置
}
}
//不同渠道不同資源文件配置
sourceSets{
xiaomi.res.srcDirs 'src/main/res-xiaomi'
huawei.res.srcDirs 'src/main/res-huawei'
xxx.res.srcDirs 'src/main/res-xxx'
xxx.res.srcDirs 'src/main/res-xxx'
xxx.res.srcDirs 'src/main/res-xxx'
//....100 個資源文件配置
}
//不同渠道不同的依賴文件
dependencies {
xiaomiApi('xxxxxxx')
huaweiImplementation('xxxxxxxx')
xxxApi('xxxxxxx')
xxxApi('xxxxxxx')
xxxApi('xxxxxxx')
//....100 個渠道不同依賴配置
}
}
不難發(fā)現(xiàn),當渠道比較多的時候,不同渠道不同的配置就會很繁瑣,有沒有更方便的方法呢?答案是肯定的。
1、資源文件配置
sourceSets{
def sets = getSourceSets()//獲取資源設置集合
productFlavors.all{//遍歷多渠道
if('huawei'.equals(name))//針對特殊的渠道做特殊處理
sets.getByName(name).res.srcDir 'src/main/res-xxx'
else
sets.getByName(name).res.srcDir 'src/main/res-'+name
//相當于 xiaomi.res.srcDir 'src/main/res-xiaomi'
// huawei.res.srcDir 'src/main/res-huawei'
// .....
}
}
2、依賴配置
def dependenMap =[xiaomi: 'xiaomi依賴',
huawei: 'huawei依賴',
...
xxx: 'xxx 依賴']
dependencies{
productFlavors.all{
if('huawei'.equals(name))//針對特殊的渠道做特殊處理
dependencies.add(name+"Implementation",project(dependenMap[name]))
else
dependencies.add(name+"Api",project(dependenMap[name]))
//xiaomiApi('xiaomi依賴')
//huaweiImplementation('xiaomi依賴')
//xxxxApi('xxx依賴')
}
}
3、簽名配置
signingConfigs {
xiaomi{
storeFile file("../xiaomi.keystore")
storePassword 'xiaomi'
keyAlias 'xiaomi'
keyPassword 'xiaomi'
v1SigningEnabled true
v2SigningEnabled true
}
huawei{
storeFile file("../xiaomi.keystore")
storePassword 'xiaomi'
keyAlias 'xiaomi'
keyPassword 'xiaomi'
v1SigningEnabled true
v2SigningEnabled true
}
....更多簽名配置
}
buildTypes {
debug {
}
release {
productFlavors.all {
if('huawei'.equals(name))//針對特殊的渠道做特殊處理
productFlavors[name].signingConfig signingConfigs.xxx
else
productFlavors[name].signingConfig signingConfigs[name]
}
}
}
到此這篇關于Android 多渠道打包進階版的文章就介紹到這了,更多相關Android 多渠道打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android日期選擇器對話框DatePickerDialog使用詳解
這篇文章主要為大家詳細介紹了Android日期選擇器對話框DatePickerDialog的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
Android 源碼淺析RecyclerView ItemAnimator
這篇文章主要為大家介紹了Android 源碼淺析RecyclerView ItemAnimator,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
Android ListView分頁功能實現(xiàn)方法
這篇文章主要為大家詳細介紹了Android ListView分頁功能的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Android實現(xiàn)監(jiān)聽電話呼叫狀態(tài)的方法
這篇文章主要介紹了Android實現(xiàn)監(jiān)聽電話呼叫狀態(tài)的方法,涉及Android權限控制及電話狀態(tài)監(jiān)聽的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10

