腾讯Bugly集成问题总结

前言

热更新能力是Bugly为解决开发者紧急修复线上bug,而无需重新发版让用户无感知就能把问题修复的一项能力。目前比较流行的热更新框架有:阿里的AndFix、美团的Robust、QZone的超级补丁方案和微信官方开源的Tinker。其中最容易集成的要数Tinker了,而Bugly热更新是在Tinker的基础上再封装了一层。集成了Tinker-support插件,使得Tinker集成和学习的成本更低了。

官方文档

腾讯Bugly热更新文档
其实基本上跟着文档走就好了。后面我就讲下本人集成时候遇到的一些问题。希望能帮到后面的人

遇到的问题

1、添加插件依赖

微信截图_20190128112611.png

这里的“自tinkersupport 1.0.3版本起无需再配tinker插件的classpath”的意思是工程根目录下的build.gradle文件不需要填写tinker的classpath,但是app module的build.gradle文件是需要集成对应版本的tinker的。

2、Tinker版本对应问题

微信截图_20190128113024.png

这里如果按照文档所说“tinker-support 1.1.3 对应 tinker 1.9.8”的话,运行应用会抛出一个java.lang.NoClassDefFoundError的错误,网上搜索后发现这里是一个坑。如果对应tinker 1.9.9的话这个异常就会消失

assembleRelease生成的基准包是app-release-unsigned.apk

这是因为打包是没有加入签名导致的,具体可以参考这篇文章Jenkins Android gradle只能打包app-release-unsigned.apk

baseDir基准包生成目录问题

微信截图_20190128114136.png

经过测试发现生成基准包时baseApk、baseApkProguardMapping、baseApkResourceMapping这些配置并不生效,生成的基准包的目录名称是随机的,并不是我们设置的路径,这与网上一些文章的截图有些出入。但是生成补丁包时这个路径必须填写正确。

集成Bugly热更新后无法调试

这个在官方文档的常见问题里面有解释:


微信截图_20190128114706.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容