alle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器。
瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求
我测试的打包工具流程 1 用的是gradle:2.3.1 classpath 'com.android.tools.build:gradle:2.3.1
- Gradle插件方式,方便快速集成
- 命令行方式,最大化满足各种自定义需求
####Gradle插件方式
配置好根底部grdle
buildscript { ext.kotlin_version = '1.1.51' repositories { jcenter() google() } dependencies { classpath 'com.meituan.android.walle:plugin:1.1.6' classpath 'com.android.tools.build:gradle:2.3.1' } }
app 中 build.gradle
apply plugin: 'walle'
implementation 'com.meituan.android.walle:library:1.1.6'
在Project Structure中配置好签名方式,这里配置好后,module的build.gradle文件会自动显示出来
同样在module中的build.gradle文件中配置walle出包方式
特别注意
configFile = new File("${project.getProjectDir()}/config.json")
channelFile = new File("${project.getProjectDir()}/channel")
configFile和config.json是对应关系
channelFile和channel是对应关系
渠道文件别放错位置了,如图所示, channel文件也是放在这里
获取渠道包信息
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
案例
获取渠道包信息:
具体的配置文件:
生成渠道包 在下面
生成渠道包 ./gradlew clean assembleReleaseChannels
2 用的是gradle3.0+ 发现会编译不成功出现以下问题
What went wrong:
A problem occurred configuring project ':app'.
> Could not generate a proxy class for class com.android.build.gradle.tasks.BuildArtifactReportTask.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org