最新国产好看的视频,伊人天堂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)來學(xué)習(xí)下吧,建議收藏以防迷路

多渠道打包進(jìn)階知識(shí)

文章開始前,先看一下下面這種情況:

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è)置不起作用,可能是編譯器的問題?
//         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ì)很繁瑣,有沒有更方便的方法呢?答案是肯定的。

資源文件配置

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

五寨县| 临洮县| 宜兰县| 博白县| 额济纳旗| 饶阳县| 通化县| 台中市| 宣化县| 孟州市| 沧源| 屏东市| 桓仁| 大余县| 广宁县| 宁津县| 宣化县| 朝阳县| 都昌县| 延津县| 永兴县| 华宁县| 宿松县| 阳春市| 宜川县| 瓦房店市| 萍乡市| 安阳市| 抚顺市| 正蓝旗| 临夏市| 衡南县| 夏津县| 阜新市| 普安县| 望城县| 晋中市| 成武县| 青海省| 大埔县| 视频|