热修复学习笔记

热修复

配置tinker出现的错误,

Error:Execution failed for task ':app:tinkerProcessDebugManifest'.
> tinkerId is not set!!!

查了网上的一些帖子说是tinkerid如果采用一个方法动态获取的时候,会出现设置不上,
链接如下

关于git命令

我尝试把tinkerId设置成死值,依旧不能成功打包,过了n天后,想起了这茬事,回忆到配置tinker的各种参数含义,发现了是否开启tinkerPatch配置功能的参数——overrideTinkerPatchConfiguration。

我原本的设置中overrideTinkerPatchConfiguration这个参数是false表示不启用新的配置。而tinkerId的配置正是在新配置中,所以不能生效。

后期的一些尝试

在我把id换成应用的版本号后依然提示找不到id。

配置gradle注意的参数

1.基准包的命名路径

def baseApkDir = "app-0419-17-04-40"

2.基准备的版本号

 tinkerId = "1.0.1"

3.是否开启反射Application功能,

enableProxyApplication = true

4.是否覆盖tinkerPatch配置

overrideTinkerPatchConfiguration = true

设置Application需要关注的内容

1.初始化bugly,这里第三个参数可以选择是否开启日志功能,true表示开启

   Bugly.init(getApplication(), appId, true);

2.分dex

    MultiDex.install(base);

3.安装tinker,为的是加载打的补丁包,位置在appplication回调的方法(onBaseContextAttached)里

Beta.installTinker(this);

打差异包

1.包所在的目录

image.png

2.包传不上去

包没问题

提示:找不到合适的版本与补丁包匹配
原因:未联网上抱
完善方法:基准包在手机上运行一遍

包有问题

提示:“上传失败,文件不合法,请上传有效的补丁包”

image.png
原因:基准包里有空格和中文字符
完善方法:去掉空格和中文字符在打一遍

3.补丁包对应那个应用版本呢?

1.基准包中两个版本号(应用的和热修复tinkerid的)产生了

4.打包时注意

  • 1.基准包包名
  • 2.r资源文件名

备注:要想让补丁自动生效,需要注意
1.appliacton中要开启这一系列参数
image.png

文章链接

Android热更新之微信Tinker集成(接入Bugly热更新)

热更新实践:Bugly热更新打包及修复

阿里Android热修复技术选型——三大流派解析

Android热更新:美团大众点评Android热更新方案Robust

Android插件化之使用AndFix进行Hot fix

tup
脑图链接
https://www.processon.com/view/link/5a8eb9cae4b0874437cbbf22

视频资料

02.tinker-support插件

03.集成升级SDK

05.补丁包为何上传不上去

为什么我选择使用bugly热修复方案而不选择其他的?

  • 1.详解的文档,我找到了非常详尽的文档,并且还有视频教程。这个是做开发和支持的后盾。
  • 2.这个平台接入方便,对源代码改造性小,热修复的内容和源代码能够很好的隔离开。
  • 3.这个方案所提供的补丁管理平台操作简单。
  • 4.补丁管理平台还支持日志的捕捉。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值