如何接入请参阅 【安卓】腾讯Bugly之应用升级&热更新-接入篇

什么是热更新:

热更新能力是Bugly为解决开发者紧急修复线上bug,而无需重新发版让用户无感知就能把问题修复的一项能力。Bugly目前采用微信Tinker的开源方案,开发者只需要集成我们提供的SDK就可以实现自动下载补丁包、合成、并应用补丁的功能,我们也提供了热更新管理后台让开发者对每个版本补丁进行管理。

为什么使用Bugly热更新?

  • 无需关注Tinker是如何合成补丁的
  • 无需自己搭建补丁管理后台
  • 无需考虑后台下发补丁策略的任何事情
  • 无需考虑补丁下载合成的时机,处理后台下发的策略
  • 我们提供了更加方便集成Tinker的方式
  • 我们通过HTTPS及签名校验等机制保障补丁下发的安全性
  • 丰富的下发维度控制,有效控制补丁影响范围
  • 我们提供了应用升级一站式解决方案

官方视频教程 :

课程1:Bugly热更新介绍

课程2:tinker-support插件使用

课程3:集成升级SDK

课程4:生成补丁包之痛我懂你

课程5:补丁包为何上传不上去?

课程6:普通打包的热更新、

课程7:渠道包的热更新

课程8:加固的热更新

ps :如果网页打不开,或者加载很慢。大家可以直接去腾讯视频官网,搜索 腾讯Bugly。

一、制作基准包

基准包就是我们后续升级或更新的依据,打出这个基准包之后,后续继续做出的一些调整都是依据基准包进行差别分析,从而生成补丁包。

1.点击右侧Gradle.

2.找到项目

3.展开Tasks

4.展开build

5.根据情况确定执行那种版本。

生成基准包之后, 在哪里可以找到

  • assembleDebug  调试版
  • assembleRelease  正式版

二、修改BUG,生成补丁包

这里以一个基础的下标越界异常为例,修改前的代码:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button updata = findViewById(R.id.updata);Button bug01 = findViewById(R.id.bug01);Button bug02 = findViewById(R.id.bug02);TextView msg = findViewById(R.id.msg);list = new ArrayList();list.add("信息1");msg.setText("基线版本 : grade-4.0.0\n补丁版本 : 暂无补丁\n当前状态 : 当前为最新版本");
//        updata.setText("更新完成,点击显示提示信息");updata.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Beta.checkUpgrade(true,false);}});bug01.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "list.get(1):" + list.get(1), Toast.LENGTH_SHORT).show();}});bug02.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "list.get(1):" + list.get(0), Toast.LENGTH_SHORT).show();}});}

修改后的代码:

list = new ArrayList();
list.add("信息1");
list.add("信息2");

修改完我们的BUG之后,生成补丁包:

1.修改 tinker-support.gradle 内信息

1.1 对应基准包版本号(如果你把基准包删除了,自然对应不上,更别提那什么去生成补丁包)

1.2 确定tinkerId,理论上可以随意写,但是我们必须确保他的唯一性,而且格式尽量规范

1.3 生成补丁包

ps :根据基准包的类别,生成对应的补丁包

生成好之后,就会有对应的文件:

三、上传并下发补丁包

1.打开文件所在位置

2.打开Bugly官网,登入自己的账号,点开集成的应用,找到应用升级,点击热更新,发布新补丁

3.选择要发布的补丁(后缀为 7zip的,不要问为什么。。。)

4.上传成功后,系统会提示上传成功,如果系统没有识别到目标版本,请自行百度(因为我没有遇到过这种情况,但是在集成的时候看到有人问这样的问题)

5.下发范围自行确定,点击立即下发

四、注意事项

为什么我按照流程都走完了,我的设备却没有接到更新?

实际测试之后,未成功收到补丁分为两种情况,第一种就是网络延迟,这个就看看自己的网络状况而定了,而且Bugly也存在延迟,具体延迟时间没有计算过,但是不会超过全量更新的15分钟。第二种就是你自己的配置错误。我在看官方视频的时候,主讲人的AS能看到运行情况,我的AS上却没有(难道是因为我用的Linux?。脸黑-.-!!。。)

【安卓】腾讯Bugly之应用升级热更新-热更新相关推荐

  1. Android 腾讯Bugly的应用升级热更新

    经过去年的九月份至现在,发现自己很久没有写过比较好的文章了.今天就趁着通宵的劲,写一下对腾讯Bugly的应用升级&热更新的理解,希望对新手有所帮助,有兴趣的可以了解下,没兴趣的也可以看完之后吐 ...

  2. 【腾讯bugly干货分享】微信Android热补丁实践演进之路

    为什么80%的码农都做不了架构师?>>>    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://bugly.qq.com/bbs/forum.ph ...

  3. 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...

  4. Android 腾讯Bugly使用(异常上报,全量升级,热更新)

    1.0.1腾讯Bugly使用(异常上报,全量升级,热更新) 说明 Bugly全量升级,热更新以及异常上报是一起集成的,还包括运营统计,本文档着重演示热更新功能. 接入步骤 1.在Project的bui ...

  5. 安卓开发腾讯Bugly热修复集成和使用思路

    文章目录 一,官方集成 一.获取App ID 二.添加插件依赖 三.集成SDK 四.配置Tinker 1.overrideTinkerPatchConfiguration 2.baseApkDir 3 ...

  6. android 热更新之腾讯Bugly 及所遇问题的修改总结

    具体的操作步骤,其实与官网上的一致 这里把官网贴一下腾讯热修复官网 第一步:添加插件依赖 工程根目录下"build.gradle"文件中添加: buildscript {repos ...

  7. 【腾讯Bugly干货分享】微信热补丁Tinker的实践演进之路

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ad7a70eaed47bb2699e68e Dev Club 是一个交流移动 ...

  8. 集成腾讯bugly的热修复功能sdk步骤

    首先为什么要集成bugly热修复.市面上有其他的热修复框架,为什么就用bugly?这里给出2张图大家就明白了. 引用腾讯bugly官网的一段话: 无需关注Tinker是如何合成补丁的 无需自己搭建补丁 ...

  9. 【腾讯Bugly干货分享】QFix探索之路—手Q热补丁轻量级方案

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ff5832bb8fec206ce2185d 导语 QFix 是手Q团队近期推 ...

最新文章

  1. iso镜像文件烧写到U盘
  2. CMD 控制台CMD程序怎么执行完不关闭界面?@pause
  3. 设计一个名为complex的类来表示复数_complex类java解决
  4. IDEA发布新版本,支持禅模式(免打扰)!
  5. 连文件搜索都不会用,也不自己反省一下?
  6. Revit二次开发之创建共享参数及绑定共享参数【比目鱼原创】
  7. STC15单片机定时器0工作模式介绍
  8. 【机器学习】树及其组合算法(一)(Bagging,Boosting,GBDT,XGboost,Adaboost,随机森林)
  9. c语言setw函数怎么用,C++中setw()的用法?
  10. 浅谈一万小时定律的表与里
  11. 微型计算机cpu组成部分是,微型计算机的中央处理器CPU由()和()两部分组成。 - 问答库...
  12. ArcGIS中无法复制粘贴的问题
  13. slides.com 导出PDF
  14. SQL 如何得到两个日期间的工作日(附假期表)
  15. 掌握真正科学的学习方法——学会如何学习(Learning How to Learn)课程笔记
  16. Java JUC 简介
  17. 如何高效的搜索github上面的资源
  18. 数据分析师兼职副业平台大量招聘
  19. JBuilder使用心得和小技巧
  20. k8s之external-etcd集群管理

热门文章

  1. 【高数】导数存在,导数就连续吗?
  2. 尚硅谷Docker实战教程学习总结文档
  3. 『2021语言与智能技术竞赛』-多技能对话任务基线系统 Fork 325 喜欢 7
  4. 本地资源库,中央资源库,远程资源库的介绍
  5. 关于绿色高山茶叶的营销方案
  6. [实践]必火网络安全-CTF-初级赛-笔记
  7. 平面几何--角平分线长定理
  8. 20190726--茎叶图,stem-and-leaf display
  9. 《计算机是怎样跑起来的》矢泽久雄 读书笔记(关于数据库,数据加密,XML和CSV)
  10. 字符串翻译python_字符串的这个东西-翻译表