原文地址:http://blog.csdn.net/rrkdddd33/article/details/73641630
普通打包
1 Constants.isWalleChannel 设置成false
2 不要注释掉
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
walle打包
前提
1 集成了tinker 及 walle
2 A <!--Walle 打包时注释掉-->
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
B Constants.isWalleChannel 设置成true
3 正式包 将tinkerpatch.gradle中 tinkerEnable=true;
打公测包时,将tinkerpatch.gradle中 tinkerEnable=false;
一 tinker 打基线包
1.1 关闭 instant run
1.2 修改tinkerpatch.gradle 配置中的 app版本号为当前app版本
1.3 如果启用加固
protectedApp = true 否则设置为false
1.4 打开gradle面板
1.5 找到相应app module ,双击相应的渠道task
1.6 等待生成包,生成的包会放在build -bakApk下自动生成的当前日期+时间文件夹下
这三个文件要保存起来,之后此app版本下的补丁包都要基于此包来打补丁
二 tinker打补丁包
2.1 修改修改tinkerpatch.gradle 中基线包路径及名称
修改tinkerpatch.gradle中 baseInfo为基线包 所在文件夹名称,variantName为对应渠道信息
2.2 进入gradle --app module--task---tinker ,双击相应的渠道task
等待生成补丁包,补丁包路径如图
三 发布补丁
3.1 http://www.tinkerpatch.com -----》我的app ----》选择相应app进入管理页面
3.2添加app版本
3.3上传补丁
3.4 查看 补丁集成情况
四 多渠道 加固及打包
4.1 如果需要加固,可以上传基础包到目标页面上加固,并下载。(别使用它们的签名方式)
以360渠道为例:
http://jiagu.360.cn/
将应用上传360加固(网页-上传和加固(不签名),加固完后下载到本地备用。
release.encrypted.apk 360加固未签名包
打开CMD,进入Android SDK-> build-tools -> 25.+目录
4.2 zipalign 对齐
zipalign -v 4 C:\Users\admin1\Desktop\channels\release.encrypted.apk C:\Users\admin1\Desktop\channels\release.encrypted.zipalign.apk
4.3 签名
apksigner sign --ks 签名文件 C:\Users\admin1\Desktop\channels\release.encrypted.zipalign.apk
4.4 检查是否使用V2签名
Java -jar C:\Users\admin1\Desktop\channels\CheckAndroidV2Signature.jar C:\Users\admin1\Desktop\channels\release.encrypted.zipalign.apk
4.5 打多渠道包 \apk 多渠道目录
java -jar C:\Users\admin1\Desktop\channels\walle-cli-all.jar batch -f C:\Users\admin1\Desktop\channels\channel C:\Users\admin1\Desktop\channels\release.encrypted.zipalign.apk C:\Users\admin1\Desktop\channels\apk