最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Android多渠道打包的進(jìn)階知識(shí)

 更新時(shí)間:2021年08月19日 10:08:33   作者:SongSenior  
前一篇文章主要介紹了關(guān)于Android程序的多渠道打包方法,這一篇文章介紹了多渠道打包的進(jìn)階知識(shí),還不會(huì)的同學(xué)快進(jìn)來(lái)學(xué)習(xí)下吧,建議收藏以防迷路

多渠道打包進(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)文章

最新評(píng)論

防城港市| 体育| 剑阁县| 义马市| 柘城县| 威海市| 嘉定区| 北辰区| 河间市| 紫云| 宣武区| 南溪县| 枣阳市| 太谷县| 阜平县| 华坪县| 临武县| 大石桥市| 呼图壁县| 教育| 常宁市| 文安县| 定安县| 青冈县| 大埔区| 衡山县| 高陵县| 石城县| 城口县| 车险| 漳浦县| 雷州市| 兴海县| 涞源县| 枞阳县| 宝兴县| 渭源县| 香河县| 正蓝旗| 无为县| 汝南县|