这篇文章主要是来讲遇到的问题的,如果需要集成教程
最好还是到官方的文档中心
https://bugly.qq.com/docs/
废话不多说,开始
坑1: 所有针对bugly 属性的设置不生效。
原因:属性设置一定要放在
Bugly.init(getApplicationContext(), "*******", BuildConfig.DEBUG);初始化之前
坑2: bugly初始化热更新不会像服务器报版本,LOG里没有804成功的信息
原因:在初始化前调用了
Beta.autoCheckUpgrade = false;
这个是因为这一个开关是控制版本更新和热更新两个地方,原本我只是检查不进行版本大更新,结果连热更新都不会有了
解决方法是在初始化后
Beta.checkUpgrade(false,true);这个方法是手动检查更新,并且检查全量更新也不会弹窗。因为第二个参数是true,标识不弹窗。 但是会上传服务器热更新的版本,即热更新的基线版本和tinkerID。总的顺序就是
Beta.autoCheckUpgrade = false;
Bugly.init(getApplicationContext(), "*******", BuildConfig.DEBUG);
Beta.checkUpgrade(false,true);
坑3:这个是神坑啊,热更新后,发布一个版本更新,发现第一次检查更新会直接提示下载完成。但是并没有下载,也不能升级。重新进入应用就好了。
第一次下载会报错
07-05 13:00:27.503 8568-8568/com.example.a90671.hotfixdemo E/CrashReport: upgrade failed:(2080)安装失败,请检查您的App是否兼容7.0设备
07-05 13:00:27.503 8568-8568/com.example.a90671.hotfixdemo E/CrashReport: download fail, please try later
可以说报错信息起了很大的误导作用,因为这个是bugly自己的bug,只要升级到最新版本就好了。我还在github的热更新demo提了这个问题,当然最后还是我自己发现解决方法的……楼主配置的版本为
compile "com.tencent.bugly:crashreport_upgrade:1.3.5" // 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker) compile 'com.tencent.tinker:tinker-android-lib:1.9.6'当然其实这个报错是对应了一个Android7的问题的,但是网上和官方文档都说了如何解决。不赘述了。 以上三个问题都是遇到了,但是网上没有查到资料的。