關(guān)于Android多渠道打包的進(jìn)階知識(shí)
多渠道打包進(jìn)階知識(shí)
文章開(kāi)始前,先看一下下面這種情況:
android {
productFlavors {
//100 個(gè)多渠道配置
}
//多渠道簽名的配置
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這里設(shè)置不起作用,可能是編譯器的問(wèn)題?
// productFlavors.xiaomi.signingConfig signingConfigs.test
// productFlavors.huawei.signingConfig signingConfigs.test
}
release {
productFlavors.xiaomi.signingConfig signingConfigs.xiaomi
productFlavors.huawei.signingConfig signingConfigs.huawei
//....100 個(gè)簽名配置
}
}
//不同渠道不同資源文件配置
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 個(gè)資源文件配置
}
//不同渠道不同的依賴文件
dependencies {
xiaomiApi('xxxxxxx')
huaweiImplementation('xxxxxxxx')
xxxApi('xxxxxxx')
xxxApi('xxxxxxx')
xxxApi('xxxxxxx')
//....100 個(gè)渠道不同依賴配置
}
}
不難發(fā)現(xiàn),當(dāng)渠道比較多的時(shí)候,不同渠道不同的配置就會(huì)很繁瑣,有沒(méi)有更方便的方法呢?答案是肯定的。
資源文件配置
sourceSets{
def sets = getSourceSets()//獲取資源設(shè)置集合
productFlavors.all{//遍歷多渠道
if('huawei'.equals(name))//針對(duì)特殊的渠道做特殊處理
sets.getByName(name).res.srcDir 'src/main/res-xxx'
else
sets.getByName(name).res.srcDir 'src/main/res-'+name
//相當(dāng)于 xiaomi.res.srcDir 'src/main/res-xiaomi'
// huawei.res.srcDir 'src/main/res-huawei'
// .....
}
}
依賴配置
def dependenMap =[xiaomi: 'xiaomi依賴',
huawei: 'huawei依賴',
...
xxx: 'xxx 依賴']
dependencies{
productFlavors.all{
if('huawei'.equals(name))//針對(duì)特殊的渠道做特殊處理
dependencies.add(name+"Implementation",project(dependenMap[name]))
else
dependencies.add(name+"Api",project(dependenMap[name]))
//xiaomiApi('xiaomi依賴')
//huaweiImplementation('xiaomi依賴')
//xxxxApi('xxx依賴')
}
}
簽名配置
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))//針對(duì)特殊的渠道做特殊處理
productFlavors[name].signingConfig signingConfigs.xxx
else
productFlavors[name].signingConfig signingConfigs[name]
}
}
}
到此這篇關(guān)于關(guān)于Android多渠道打包的進(jìn)階知識(shí)的文章就介紹到這了,更多相關(guān)Android多渠道打包進(jìn)階內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu中為Android系統(tǒng)實(shí)現(xiàn)內(nèi)置Java應(yīng)用程序測(cè)試Application Frameworks層的硬件服務(wù)
本文主要介紹Ubuntu中為Android系統(tǒng)內(nèi)置應(yīng)用訪問(wèn)Application Frameworks層的硬件服務(wù),這里提供了詳細(xì)的流程和代碼實(shí)例,有興趣的朋友可以參考下2016-08-08
Native.js獲取監(jiān)聽(tīng)開(kāi)關(guān)等操作Android藍(lán)牙設(shè)備實(shí)例代碼
本文為大家分享了Native.js對(duì)Android藍(lán)牙設(shè)備的操作實(shí)例代碼包括:監(jiān)聽(tīng)藍(lán)牙開(kāi)關(guān)狀態(tài),開(kāi)啟關(guān)閉藍(lán)牙,獲取藍(lán)牙設(shè)備列表,藍(lán)牙連接票據(jù)打印機(jī)2018-09-09
Android實(shí)現(xiàn)手電筒電源鍵關(guān)閉功能
這篇文章主要介紹了Android實(shí)現(xiàn)手電筒電源鍵關(guān)閉功能,在打開(kāi)手電筒之后,機(jī)器休眠,客戶要求點(diǎn)擊電源鍵,手電筒需要關(guān)閉,下面小編給大家分享實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-11-11
Android開(kāi)發(fā)之彈出軟鍵盤(pán)工具類(lèi)簡(jiǎn)單示例
這篇文章主要介紹了Android開(kāi)發(fā)之彈出軟鍵盤(pán)工具類(lèi),結(jié)合實(shí)例形式分析了Android彈出軟鍵盤(pán)及獲取焦點(diǎn)的簡(jiǎn)單操作技巧,需要的朋友可以參考下2018-01-01
Android中activity處理返回結(jié)果的實(shí)現(xiàn)方式
這篇文章主要介紹了Android中activity處理返回結(jié)果的實(shí)現(xiàn)方式,為了實(shí)現(xiàn)這個(gè)功能,Android提供了一個(gè)機(jī)制,跳轉(zhuǎn)到其他activity時(shí),再返回,可以接受到其他activity返回的值,無(wú)需再start新的當(dāng)前activity。需要的朋友可以參考下2016-12-12
淺析Android Service中實(shí)現(xiàn)彈出對(duì)話框的坑
這篇文章主要介紹了Android Service中實(shí)現(xiàn)彈出對(duì)話框的坑,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
android實(shí)現(xiàn)密碼框右側(cè)顯示小眼睛
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)密碼框右側(cè)顯示小眼睛,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
Android使用Notification實(shí)現(xiàn)寬視圖通知欄(二)
這篇文章主要為大家詳細(xì)介紹了Android使用Notification實(shí)現(xiàn)寬視圖通知欄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12

