前言
上一篇我们将sdk接入了进来,那么这一篇我们来模拟一次真实项目中使用热更新的场景,当然,是结合bugly来做。
还记得我们上一篇开始说了准备一个自带bug的项目(目录2,3),这里再来回忆下:
流程梳理
- 1.集成tinker sdk
- 2.打出基线版本,build内生成一个bakapk的目录
- 3.bug修复,java代码,so文件,资源文件。
- 4.修改tinker-support.gradle内的baseApkDir为基准包当前的路径名称为当前基线版本(上2生成出来的)的路径。
- 5.修改tinker-support.gradle内的tinkerId
- 6.打出补丁版本
- 7.基线版本上报联网
- 8.上传补丁包
- 9.补丁下发成功,热更新完成
那么我们就照着这个流程一步步的实现热更新吧(下文关于集成sdk的部分我就略了,因为上一篇已经讲了这部分内容了)。
step1:打出基线版本
这个没啥可说的,在本系列第一篇博客内就写了tinker脚本gradle task的打包的方式,就是在正确接入bugly sdk之后,我们去gradle task内找到这俩个task进行基准包的构建(app/Tasks/build下的assembleRelease或assembleDebug),这里我选择使用release的,顺带提一句,app/gradle内记得配置打包参数,否则执行这个task打出来的包还是未签名的。
完成之后,build内bakapk目录下生成了如下3个文件:
app-release.apk
app-release-mapping.txt
app-release-R.txt
另外提醒下打包之前注意配置好打包信息:
signingConfigs {
// your debug keystore
debug {
storeFile file("buglytestreleasekey.jks")
storePassword "buglytestreleasekey"
keyAlias "buglytest