一、多渠道打包
tinker官方文档推荐用walle或者packer-ng-plugin来辅助打渠道包。估计有不少同学用过,今天我想推荐另外一款多渠道打包的插件ApkMultiChannelPlugin,它作为Android Studio插件进行多渠道打包。 安装步骤:打开 Android Studio: 打开 Setting/Preferences -> Plugins -> Browse repositories 然后搜索 ApkMultiChannel 安装重启。 有不了解的同学,可以直接看它的文档。
我是采用add channel file to META-INF方式进行多渠道打包,在这里提供一个读取渠道的工具类ChannelHelper。
选择基准包的一个apk,然后右键,点击Build MultiChannel
1-1:选择基准包
配置签名信息,打包方式和渠道等。
1-2:配置多渠道
配置说明:
Key Store Path: 签名文件的路径 Key Store Password: 签名文件的密码 Key Alias: 密钥别名 Key Password: 密钥密码
Zipalign Path: zipalign 文件的路径(用于优化 apk;zipalign 可以确保所有未压缩的数据均是以相对于文件开始部分的特定字节对齐开始,这样可减少应用消耗的 RAM 量。) Signer Version: 选择签名版本:apksigner 和 jarsigner Build Type: 打包方式
Channels: 渠道列表,每行一个,最前面可加 > 或不加(保存信息的时候,程序会自行加上)
我们刚才刚才配置的东西会保存在根目录的 channels.properties里
1-3:channel配置文件
配置完成后,选择基准包的一个apk,然后右键,点击Build MultiChannel,就会开始进行多渠道打包,文件会输出在选中的apk的当前目录下的channels是目录下,如图:
1-4:多渠道打包
将刚才打包完成的包,分别发布到对应的应用市场。
随便修改部分代码
在生成补丁包前,我们需要去tinkerpatch.gradle文件下修改一些信息。
双击TinkerPatchRelease生成差分包,patch_signed_7zip.apk就是补丁包
1-5:生成补丁包
回到Tinker后台,选中我们开始新建的项目,补丁下发->添加APP版本。然后上传刚刚的patch_signed_7zip.apk。
APP开启强制更新的话那么重启应用就会更新,否则会通过轮询去更新。应用重启才生效。
1-6: 发布补丁包.png
-keep public class * implements com.tencent.tinker.loader.app.ApplicationLike
如图:
1-7: 混淆代码
这里推荐一篇混淆代码的文章:5分钟搞定android混淆。
到这里Tinker的多渠道集成成功。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。