开头(坑的开始)
总所周知.多渠道打包是一个不容易的工作。它的必要性以及使用可以看一下的文章. Android 多渠道打包总结
Android使用walle多渠道打包
新一代开源Android渠道包生成工具Walle
最后不用管那么多.我这边就是使用Walle进行一个打包
操作步骤
1.降级Gradle. 此工具不支持7.0以上的Gradle.具体的可以去看issue
2.添加allprojects的依赖库 一定记得,因为默认的Maven库和一些公共库没有这个包的资源…
buildscript {
dependencies {
classpath 'com.meituan.android.walle:plugin:1.1.7'
}
}
allprojects {
repositories {
maven {
url 'https://maven.aliyun.com/repository/public/'
}
}
}
3.gradle.app中添加依赖以及配置秘钥,插件等 如果你直接添加依赖,但是没有配置SigningConfig,然后又apply插件,那么就会报错.
分别添加apply plugin. 配置 SigningConfigs. buildTypes dependencies walle
apply plugin: 'walle'
signingConfigs {
release {
storeFile file('..\\test01.jks')
storePassword '123456'
keyAlias 'test'
keyPassword '123456'
}
debug {
storeFile file('..\\test01.jks')
storePassword '123456'
keyAlias 'test'
keyPassword '123456'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.findByName('release') ?: signingConfigs.debug
}
}
dependencies {
implementation 'com.meituan.android.walle:library:1.1.7'
}
walle {
apkOutputFolder = new File("${project.buildDir}/outputs/channels");
apkFileNameFormat = '${appName}-${packageName}-${channel}.apk';
channelFile = new File("${project.getProjectDir()}/channel.txt")
}
4.其它剩下的就和github上面差不多了 就是在项目中执行该命令
生成渠道包 ./gradlew clean assembleReleaseChannels
成功了就去 output去操作就好了.
给固定的apk加入渠道信息
比如场景为生成包->加固->加入渠道信息. 那么,上述的插件场景是不满足我们的条件的。 所以就意味着要将一个apk再生成多个渠道的apk了. 先把大佬的先放在这里先.主要是要用命令行的方式. https://blog.csdn.net/blf09/article/details/72782795
命令一:(单个写入,如果未指定目录,生成的新Apk与[apk路径]同级目录)
java -jar walle-cli-all.jar put -c[渠道名] [apk路径] [生成的apk路径(可选)] 例如:
java -jar walle-cli-all.jar put -cqiyu C:\Users\Administrator\Desktop\apksigner\qiyu_jiagu_zipalign_v2_sign_walla_channel_tools.apk
命令二:(批量写入,如果未指定目录,生成的新apk与[apk路径]同级目录)
java -jar walle-cli-all.jar batch -f[渠道文件] [apk路径] [生成的新apk路径(可选)]
java -jar walle-cli-all.jar batch-f
C:\\apksigner\qiyu_jiagu_zipalign_v2_sign_walla_channel_tools.apk
C:\Users\Administrator\Desktop\apksigner\apk
|