1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Android使用Walle實(shí)現(xiàn)多渠道打包功能

        共 2247字,需瀏覽 5分鐘

         ·

        2021-12-23 09:19

        介紹


        Walle(瓦力)是Android Signature V2 Scheme簽名下的新一代渠道包打包神器。


        瓦力通過(guò)在A(yíng)pk中的APK Signature Block區(qū)塊添加自定義的渠道信息來(lái)生成渠道包,從而提高了渠道包生成效率,可以作為單機(jī)工具來(lái)使用,也可以部署在HTTP服務(wù)器上來(lái)實(shí)時(shí)處理渠道包Apk的升級(jí)網(wǎng)絡(luò)請(qǐng)求。


        使用


        使用Walle生成多渠道的速度是很快的,原來(lái)的項(xiàng)目打一個(gè)包就需要兩分鐘多,每次發(fā)布打7個(gè)包需要十幾分鐘。用了Walle后,7個(gè)包只要兩分鐘左右就完事了。那叫一個(gè)快…


        添加依賴(lài)&配置渠道,在項(xiàng)目的build.gradle文件中添加依賴(lài):

        buildscript {    dependencies {        classpath 'com.meituan.android.walle:plugin:1.1.3'    }}


        在當(dāng)前app的build.gradle 文件中添加依賴(lài),以及配置插件

        apply plugin: 'walle'
        ...
        dependencies { ... compile 'com.meituan.android.walle:library:1.1.3'}
        walle { // 指定渠道包的輸出路徑 apkOutputFolder = new File("${project.buildDir}/outputs/channels"); // 定制渠道包的APK的文件名稱(chēng) apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk'; // 渠道配置文件 channelFile = new File("${project.getProjectDir()}/channel")}


        對(duì)應(yīng)的屬性:


        apkOutputFolder:指定渠道包的輸出路徑, 默認(rèn)值為:

        new File(“${project.buildDir}/outputs/apk”)

        這里指定為build/outputs/apk。


        apkFileNameFormat:定制渠道包的APK的文件名稱(chēng), 默認(rèn)值為:

        ’appName?appName?{buildType}-${channel}.apk’



        可使用以下變量:


        projectName - 項(xiàng)目名字


        appName - App模塊名字


        packageName - applicationId (App包名packageName)


        buildType - buildType (release/debug等)


        channel - channel名稱(chēng) (對(duì)應(yīng)渠道打包中的渠道名字)


        versionName - versionName (顯示用的版本號(hào))


        versionCode - versionCode (內(nèi)部版本號(hào))


        buildTime - buildTime (編譯構(gòu)建日期時(shí)間)


        fileSHA1 - fileSHA1 (最終APK文件的SHA1哈希值)


        flavorName - 編譯構(gòu)建 productFlavors 名


        channelFile:包含渠道配置信息的文件路徑


        channelFile:包含渠道配置信息的文件路徑。


        在app目錄下創(chuàng)建channel文件,用于配置渠道信息(文件類(lèi)型:Text)



        下面是我的配置表

           Qh360 #360   Yyb #應(yīng)用寶   Wdj #豌豆莢   Lenovo #聯(lián)想   Xiaomi #小米   Huawei #華為  ?Meizhu?#魅族


        獲取渠道信息,通過(guò)以下代碼,可以取渠道信息:

        String?channel?=?WalleChannelReader.getChannel(this.getApplicationContext());


        生成渠道包,到這里,基本的配置都已完成。接下來(lái)可以直接打包了。


        在Terminal中輸入對(duì)應(yīng)的指令,即可完成打包??吹紹UILD SUCCESSFUL后說(shuō)明已經(jīng)完成打包了。



        所有渠道

        ./gradlew?clean?assembleReleaseChannels


        渠道包的生成目錄默認(rèn)存放在 build/outputs/apk/,也可以通過(guò)Walle閉包中的apkOutputFolder參數(shù)來(lái)指定輸出目錄。


        指定渠道
        生成單個(gè)渠道包(huawei渠道):

        ./gradlew?clean?assembleReleaseChannels?-PchannelList=huawei


        生成多個(gè)渠道包(huawei、xiaomi渠道):

        ?./gradlew?clean?assembleReleaseChannels?-PchannelList=huawei,xiaomi


        結(jié)果,運(yùn)行

        ./gradlew clean assembleReleaseChannels

        后,可以在build/outputs/channels看到對(duì)應(yīng)的渠道包。



        到這里就介紹完啦.

        文章轉(zhuǎn)自龍旋(ID:longxuanzhigu
        作者雙木L,侵刪。

        瀏覽 120
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            淫荡的熟女 | 久久大香蕉视频 | 爱福利导航| 深夜激情五月 | 碓氷人妻无码中文字幕 | 亚洲成色7777777老人头 | 女子被狂揉下部羞羞图片 | 成人麻豆视频 | 青娱乐老视频 | 亚洲精品无码久久久香草影院 |