项目中接入微信tinker时踩的坑

来源:互联网 发布:知乎专栏在哪里 编辑:程序博客网 时间:2024/05/17 05:05

微信tinkerGitHub上一开源,就受到了广泛的关注,我也加入了这个队伍,并把tinker接入到项目中。但在接入的过程中,真的是遇到了不少问题,踩了不少坑,现在总结一下,方便以后查阅,也希望能给以后需要接入tinker的小伙伴们一些参考。

1.tinkerId的问题

其实这个问题,好多人都遇到过,看githubtinkerissue就能看出来。一开始我把官网demo中的build.gradle中的配置直接搬到自己项目中,也报错,看了几位博友的文章(我已转载在我Android热修复——Tinker微信解决方案android微信热修复Tinker接入过程以及使用方法这两篇文章中都有提及),发现可以直接给tinkerId赋值,如buildConfig { tinkerId ="1.0"},这样果真就OK了。

2.自定义application

这个我没有好的办法,按照tinker官网的文档tinker自定义扩展做吧,多看几次,多试几次就好了。

3.签名signingConfig

这个需要注意的是debugrelease版本都需要签名的。

4.动态权限

tinker需要的权限是外部存储的读写权限,这个貌似很正常,但是当你的targetSDK版本在23以上时,即使在manifest中添加了这两个权限,还是会报错说没用相应的权限,这是因为在Android23以上,有些系统敏感的权限,需要动态获取。解决办法就是,要么把targetSDK版本降低到22或以下,要么在app中去动态获取权限。

5. release模式

有部分app会遇到debug模式可以正常生产patch包,并加载成功,但换到release模式,却出现问题。这个一般是配置问题,看出错的log,缺什么补什么配置,就可以了。比如Proguard配置的话,就按Proguard的规则把报错的类给添加到相对应的Proguard的配置文件Proguard-rules.pro中就可以了。

另外如果还有问题的话,可以加微信Tinker热补丁技术交流群 377388954,我遇到的问题,有一部分就是在群里得到解答的。


1 0
原创粉丝点击