热更新的使用(腾讯的Bugly)

简介: 热更新解决方案,选择的是腾讯的bugly,同时附带着bug手机,很好用,反馈率很高,也比较准,目前对集成的项目来看还没有太大的问题。0.0多渠道打包速度太慢不知道算不算。

热更新解决方案,选择的是腾讯的bugly,同时附带着bug手机,很好用,反馈率很高,也比较准,目前对集成的项目来看还没有太大的问题。0.0多渠道打包速度太慢不知道算不算。

腾讯bugle理解:热更分为基准包+补丁包;基准包为线上版本在运行的apk包,补丁包为依赖于基准包而生成的补丁文件,需要上传到bugly更新列表中;补丁包上传到bugly更新列表成功的前提是基准包在补丁包上传之前在APP上联网运行过。。当然,较大程度的更新还是依赖于发APK包的形式,小的更新+解决比较着急致命的bug直接使用热更即可。

bugly热更新的局限性

1、不支持修改清单文件,不支持新增android端四大组件(页面、Service服务,广播、数据库)。后续版本应该也支持了

2、不建议在GP渠道热更新代码。

3、在Android N上对启动时间有轻微影响。

4、不支持部分三星android-21机型,加载补丁时会主动抛出异常。

不支持一些动画类型的资源文件的更新。

官方链接:腾讯bugly官方地址

下面是具体的集成步骤,官方文档介绍的比较详细,这里着重把需要注意的点写下来,少趟坑。

1.工程根目录下“build.gradle”文件中添加:

dependencies {    classpath "com.tencent.bugly:tinker-support:1.1.2"}

1、APP下的build.gradle中添加bugly SDK的依赖

dependencies {  

    compile "com.android.support:multidex:1.0.1" // 多dex配置    

    compile 'com.tencent.bugly:crashreport_upgrade:1.3.5'    // 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker)    

    compile 'com.tencent.tinker:tinker-android-lib:1.9.6'    compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如2.2.0

    }

// 依赖插件脚本apply from: 'tinker-support.gradle'


1、APP创建tinker-support.gradle文件,文件中大体内容为

tinker-support.gradle以及注意点

            针对上述tinker-support.gradle文件中的三个重要点

            1、baseApkDir:打补丁包时依据的基准包地址,大基准包时不用定义。

            2、tinkerId:基础包+补丁包的版本号(打基础包时改为基础包版本号,打补丁包时改为补丁包版本号)

            3、enableProxyApplication:是否使用自己的Application,或者是集成sdk中的application。(文档中有详细说明)

             另外:支持加固模式和多渠道也在上图注释中有,说明一点的是,多渠道打包的时候,只需要在build.gradle中加入productFlavors即可

多渠道打包配置

实例化热更新

实例化热更新SDK

build.gradle中配置好打包信息后,使用Gradle自带的打包命令进行基础包、补丁包的打包

打包命令


多渠道打包的时候,基准包的生成会有单个文件:mapper文件(如果没有,说明build.gradle中的minifyEnabled没有开启混淆)、APK文件、TXT文件,需要进行联网运行的基础包就是该APK文件。补丁包选取patch下的7z.apk文件。上传到bugly后台即可。

补丁包
重启项目补丁下载的回调

下面附完整截图流程,接入Demo需要的联系我私发。

完整接入流程
相关文章
|
1月前
|
运维 监控 安全
应用研发平台EMAS常见问题之sophix ios flutter热更新如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
79 0
|
10月前
|
存储 Java Android开发
关于安卓bugly更新,bugly上传符号表实现
关于安卓bugly更新,bugly上传符号表实现
294 0
|
11月前
|
存储 监控 JavaScript
如何治理 Electron 版本淘宝直播应用崩溃?
如何治理 Electron 版本淘宝直播应用崩溃?
11392 0
|
11月前
|
前端开发 数据安全/隐私保护 开发者
2023年最新iOS打包发布流程汇
2023年最新iOS打包发布流程汇
|
前端开发 JavaScript API
晒一晒我的简易版热更新
前端项目开发过程中热更新的机制大家都知道,不知道你在开发的时候是否做了这方面的配置。 相信接触最多的就是 webpack 的热更新,文件保存后页面自动刷新,或者 css 自动更新,页面的样式在不刷新页面的情况下就会更新。 还有就是模块热替换。 热更新机制很好玩,能提升不少开发效率,但是只是处于会用的阶段不是我们的目的,我们应该适当的深入学习下,看看他背后的原理,一个是否思考过,一个是否能自己实现。
150 0
晒一晒我的简易版热更新
|
Arthas 小程序 Java
Arthas,热更新线上代码神器
日常开发过程中,可能会遇到小问题,本地代码改完后,总得重新打包部署,线上代码才会生效,这样太麻烦了,这个时候就可以考虑使用Arthas(阿尔萨斯)工具来热更新线上代码,先使线上的功能能使用,后面有大的迭代版本的时候再打包部署。笔者使用了这个工具,发现这个操作实在是骚的很,太好用了,在此做下笔记,以供后续参考。
696 0
Arthas,热更新线上代码神器
|
Android开发
关于安卓集成Bugly热更新后,补丁包合成失败问题
安卓集成Bugly热更新后,补丁包合成失败问题
266 0
|
安全 Android开发
|
监控 开发者 iOS开发
iOS开发:腾讯bugly符号表文件上传
腾讯bugly确实是一个好东西,它实现了面向移动开发者提供专业的 Crash 监控、崩溃分析等质量跟踪服务。能帮助移动互联网开发者更及时地发现掌控异常,更全面的了解定位异常,更高效的修复解决异常
277 0
iOS开发:腾讯bugly符号表文件上传