国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:64日期:2022-09-19 11:48:10
介紹

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

瓦力通過(guò)在Apk中的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è)快…

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

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

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

apply plugin: ’walle’...dependencies { ... compile ’com.meituan.android.walle:library:1.1.3’}walle { // 指定渠道包的輸出路徑 apkOutputFolder = new File('${project.buildDir}/outputs/channels'); // 定制渠道包的APK的文件名稱 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的文件名稱, 默認(rèn)值為:

’appName−appName−{buildType}-${channel}.apk’可使用以下變量:

projectName - 項(xiàng)目名字

appName - App模塊名字

packageName - applicationId (App包名packageName)

buildType - buildType (release/debug等)

channel - channel名稱 (對(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文件,用于配置渠道信息(文件類型:Text)

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

下面是我的配置表

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)的指令,即可完成打包。看到BUILD SUCCESSFUL后說(shuō)明已經(jīng)完成打包了。

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

所有渠道

./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)的渠道包。

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

以上就是Android使用Walle實(shí)現(xiàn)多渠道打包功能的實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于Android實(shí)現(xiàn)多渠道打包功能的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 江安县| 娄底市| 闵行区| 界首市| 霍邱县| 尼勒克县| 龙岩市| 马公市| 凌源市| 宿松县| 威远县| 类乌齐县| 唐山市| 澄城县| 东兰县| 吉首市| 航空| 双柏县| 蛟河市| 威海市| 莎车县| 梁山县| 大城县| 连云港市| 望都县| 阿鲁科尔沁旗| 蒲城县| 内黄县| 色达县| 兴仁县| 兴国县| 徐州市| 淮安市| 合作市| 噶尔县| 周宁县| 马龙县| 九龙坡区| 五莲县| 山阴县| 苍山县|