Walle渠道包打包神器
Walle(瓦力):Android Signature V2 Scheme 簽名下的新一代渠道包打包神器。
瓦力通過在 Apk 中的 APK Signature Block區(qū)塊添加自定義的渠道信息來生成渠道包,從而提高了渠道包生成效率,可以作為單機工具來使用,也可以部署在 HTTP 服務(wù)器上來實時處理渠道包 Apk 的升級網(wǎng)絡(luò)請求。
Quick Start
為了方便大家的使用,我們提供了2種使用方式:
-
Gradle 插件方式,方便快速集成
-
命令行方式,最大化滿足各種自定義需求
Gradle 插件使用方式
配置 build.gradle
在位于項目的根目錄 build.gradle 文件中添加Walle Gradle插件的依賴, 如下:
buildscript {
dependencies {
classpath 'com.meituan.android.walle:plugin:1.0.3'
}
}
并在當(dāng)前App的 build.gradle 文件中apply這個插件,并添加上用于讀取渠道號的AAR
apply plugin: 'walle'dependencies {
compile 'com.meituan.android.walle:library:1.0.3'}
如何獲取渠道信息
在需要渠道等信息時可以通過下面代碼進行獲取
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
如何生成渠道包
生成渠道包的方式是和assemble指令結(jié)合,可以通過傳入?yún)?shù)決定是否生成渠道包,渠道包的生成目錄存放在 build/outputs/apk/
下面是各類用法示例:
-
生成單個渠道包
./gradlew clean assembleRelease -PchannelList=meituan -
支持 productFlavors
./gradlew clean assembleMeituanRelease -PchannelList=meituan -
生成多個渠道包
./gradlew clean assembleRelease -PchannelList=meituan,dianping -
通過渠道配置文件來生成渠道包
./gradlew clean assembleRelease -PchannelFile=channel
渠道信息的配置文件支持配置相對路徑,詳見:配置文件示例,同時配置文件支持使用#號添加注釋。
