android studio c语言插件,GitHub - nukc/ApkMultiChannelPlugin: [Deprecated] Android 多渠道打包的 Android Studi...

ApkMultiChannel Plugin

这是一个为了方便 Android 多渠道打包的 Android Studio / IDEA 插件:

支持v2签名:jarsigner 和 apksigner

支持2种渠道打包方式:

修改 AndroidManifest.xml 的 meta-data (name 为 UMENG_CHANNEL) 的 value 值,没有则插入,然后重新打包签名

美团的方式,直接往 apk 的 META-INF 目录里添加空文件(文件名为:c_渠道)

packer-ng-plugin的方式,往 apk 注释字段保存渠道号和验证标记字节

安装

打开 Android Studio: 打开 Setting/Preferences -> Plugins -> Browse repositories

然后搜索 ApkMultiChannel 安装重启

或者

下载 ApkMultiChannelPlugin.jar

然后 Setting/Preferences -> Plugins -> Install plugin from disk 选择 ApkMultiChannelPlugin.jar 安装重启

使用方式

1. 选择 apk

选择一个 apk 然后右键,点击 Build MultiChannel

b5f5f428f0e6051f9bb007f93fa603ca.png

2. 配置

配置签名信息,打包方式和渠道等

ef8ad0a58cbfb7cb51e74bd639fb17dd.png

配置说明:

Key Store Path: 签名文件的路径

Key Store Password: 签名文件的密码

Key Alias: 密钥别名

Key Password: 密钥密码

Zipalign Path: zipalign 文件的路径(用于优化 apk;zipalign 可以确保所有未压缩的数据均是以相对于文件开始部分的特定字节对齐开始,这样可减少应用消耗的 RAM 量。)

Signer Version: 选择签名版本:apksigner 和 jarsigner

Build Type: 打包方式

Channels: 渠道列表,每行一个,最前面可加 > 或不加(保存信息的时候,程序会自行加上)

3. 开始打包

配置完成之后按 OK 就会开始进行渠道打包,文件会输出在选中的apk的当前目录下的channels目录中

89afb802fae8a3c86ebb495c87382a44.png

说明

在开始打包前,配置信息先会保存在项目根目录的 channels.properties:

1557e586112c6b0844321ee015217d15.png

渠道可以直接在 channels.properties 添加(这里必须要在前面加 >,为了方便解析,只有加了 > 才会参与打包),也可以删除和注释(#)

配置完后,想改配置但是又不想直接修改 channels.properties 文件的话,可以在 Build > Channel Setting 打开配置界面,

在这里打开配置界面按 OK 按钮后不会自动开始打包,仅用于修改配置。

Build Type 说明

update AndroidManifest.xml

先解压提取 AndroidManifest.xml 文件到 temp 文件夹中,然后根据渠道列表配置修改 meta-data,复制1个 apk 到 channels 文件夹下(除了 META-INF 目录下的签名文件),

同时替换 AndroidManifest.xml,最后重新签名。

add channel file to META-INF

复制1个 apk,先检查签名版本,如果未签名则进行签名(配置选择 jarsigner 则在渠道打包前签名,apksigner 则是添加空文件到其 META-INF 目录后再签名)。

读取渠道:ChannelHelper

write zip comment

先判断选中的 apk 中 comment 是否含有 SIGN 字节,如果有则不进行渠道打包并提示;之后检查是否是 v2 签名,如果是 v2,则复制1个不带签名文件的 apk 到 temp 文件夹并重新签名为 v1,

最后开始渠道打包。( v2 签名之后不能修改 ZIP End of Central Directory 区块,而且如果先修改 ZIP End of Central Directory 区块再 v2 签名,comment 会被抹掉。)

读取渠道:ZipCommentHelper

以后要加的功能

添加支持选择项目路径外的 apk 文件进行多渠道打包

buildType 添加支持美团新一代渠道包生成方式 Walle

有什么问题欢迎大家在 Issues 中提问

参考致谢

同时感谢 dim 和 区长 的指点迷津。

License

GPL-3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值