基于Walle的多渠道快速打包自動(dòng)腳本

無(wú)圖無(wú)真相 先看下最終實(shí)現(xiàn)目標(biāo)是什么

Paste_Image.png

setUp 1 生成簽名文件

如果有簽名文件最好 如果沒(méi)有那么就要?jiǎng)?chuàng)建一個(gè)簽名文件

Paste_Image.png

Paste_Image.png

Paste_Image.png

Paste_Image.png

Paste_Image.png

Paste_Image.png

這樣已經(jīng)很清楚了 在不了解請(qǐng)百度 這里有一篇文章可以參考下

setUp2 配置walle

walle GitHub 地址

1.配置渠道相關(guān)信息
在App 目錄下新建一個(gè)channel(txt)文件

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

2.在位于項(xiàng)目的根目錄 build.gradle 文件中添加Walle Gradle插件的依賴, 如下:

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

3.并在當(dāng)前App的 build.gradle文件中apply這個(gè)插件,并添加上用于讀取渠道號(hào)的AAR

apply plugin: 'walle'
dependencies { compile 'com.meituan.android.walle:library:1.1.4'}
 

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")
}

解釋以上配置

apkOutputFolder:指定渠道包的輸出路徑, 默認(rèn)值為new File("${project.buildDir}/outputs/apk")

apkFileNameFormat:定制渠道包的APK的文件名稱, 默認(rèn)為'${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 名
Paste_Image.png

4.如何獲取渠道信息

在需要渠道等信息時(shí)可以通過(guò)下面代碼進(jìn)行獲取

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

5.如何生成渠道包

生成單個(gè)渠道包: ./gradlew clean assembleReleaseChannels -PchannelList=meituan

生成多個(gè)渠道包: ./gradlew clean assembleReleaseChannels -PchannelList=meituan,dianping

生成所有渠道信息 ./gradlew clean assembleReleaseChannels

Paste_Image.png
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容