Bugly热更新最详细的使用教程
Bugly热更新最详细的使用教程
1.第一步请仔细阅读官方文档,如果时间充足,可以观看官方的教程视频,因为文档也许会说的不清楚,官方视频讲的很清楚
https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=201711231635352.将这个classpath "com.tencent.bugly:tinker-support:latest.release" 配置到项目的外层的build.gradle
3.在项目的app目录下创建tinker-support.gradle文件
该文件内容如下:
apply plugin: 'com.tencent.bugly.tinker-support' def bakPath = file("${buildDir}/bakApk/") /** * 此处填写每次构建生成的基准包目录 */ def baseApkDir = "app-1205-14-53-05" /** * 对于插件各参数的详细解析请参考 */ tinkerSupport {// 开启tinker-support插件,默认值true enable = true // 指定归档目录,默认值当前module的子目录tinker autoBackupApkDir = "${bakPath}" // 是否启用覆盖tinkerPatch配置功能,默认值false // 开启后tinkerPatch配置不生效,即无需添加tinkerPatch overrideTinkerPatchConfiguration = true // 编译补丁包时,必需指定基线版本的apk,默认值为空 // 如果为空,则表示不是进行补丁包的编译 // @{link tinkerPatch.oldApk } baseApk = "${bakPath}/${baseApkDir}/app-release.apk" // 对应tinker插件applyMapping baseApkProguardMapping = "${bakPath}/${baseApkDir}/app-release-mapping.txt" // 对应tinker插件applyResourceMapping baseApkResourceMapping = "${bakPath}/${baseApkDir}/app-release-R.txt" // 构建基准包和补丁包都要指定不同的tinkerId,并且必须保证唯一性,base后面的就是的版本号 tinkerId = "base-2.0.2"
// tinkerId = "patch-2.0.2"
// 构建多渠道补丁时使用 // buildAllFlavorsDir = "${bakPath}/${baseApkDir}" // 是否启用加固模式,默认为false.(tinker-spport 1.0.7起支持) // isProtectedApp = true // 是否开启反射Application模式 enableProxyApplication = false}/** * 一般来说,我们无需对下面的参数做任何的修改 * 对于各参数的详细介绍请参考: * https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97 */tinkerPatch { //oldApk ="${bakPath}/${appName}/app-release.apk" ignoreWarning = false useSign = true dex { dexMode = "jar" pattern = ["classes*.dex"] loader = [] } lib { pattern = ["lib/*/*.so"] } res { pattern = ["res/*", "r/*", "assets/*", "resources.arsc", "AndroidManifest.xml"] ignoreChange = [] largeModSize = 100 } packageConfig { } sevenZip { zipArtifact = "com.tencent.mm:SevenZip:1.1.10"// path = "/usr/local/bin/7za" } buildConfig { keepDexApply = false //tinkerId = "1.0.1-base" //applyMapping = "${bakPath}/${appName}/app-release-mapping.txt" // 可选,设置mapping文件,建议保持旧apk的proguard混淆方式 //applyResourceMapping = "${bakPath}/${appName}/app-release-R.txt" // 可选,设置R.txt文件,通过旧apk文件保持ResId的分配 }}
4.在app目录的build.gradle中引入,如图:
apply from: 'tinker-support.gradle'
5.改造MyApplication
6.至此配置完成,如果你还不清楚的话,请参考官方文档或视频:
打开AS右侧的Gradle,选择app下的build执行Debug或Release命令
成功以后
你会在项目的app目录下的build文件夹内看到你的基准包,你可以人为制造一个小bug,以便进行热修复,接下来,将你的基准包上传至Bugly
如果你没有账号,建议先注册一个账号,非常简单
7.接下来就是重头戏,打出对应版本的补丁
依旧打开AS右侧的Gradle,打开App目录下的 tinker-supporrt执行Debug或Release命令
成功以后,会在你的项目的build文件夹下的outputs文件夹生成 patch和 tinkerPatch这么两个文件夹,其中 tinkerPatch文件夹
里放的是一些打包信息,补丁放在patch里的,就是 .zip结尾的一个包
你可以打开看一哈
Bugly有一个联网上报功能,就是当你的App打开后,他会将你App的一些信息上报到Bugly上面去,这样的话,你的补丁在Bugly上面发布的时候才会匹配到你的App,
补丁和App是一一对应的,如图所示:
这是Bugly的日志,如果你想看的话,请参考本教程的第五步,现在我们可以将补丁发布到Bugly上啦,如图所示:
如果你在发布补丁时出错,是因为还没有联网上报,请先启动你的App,否则你的补丁将匹配不到所对应的App;
补丁上传成功以后,当你在打开App是,Bugly会自动检测是否有新的补丁,如果有,会在后台自动下载并合并你的App
通过查看Bugly的日志 如图:
可以有人会问,为什么还是不行呢?因为你需要重新启动App
重新启动App后:
成功!
8.最后
Bugly热更新最详细的使用教程相关推荐
- Code Push 热更新使用详细说明和教程
CodePush CodePush是一个微软开发的云服务器.通过它,开发者可以直接在用户的设备上部署手机应用更新.CodePush相当于一个中心仓库,开发者可以推送当前的更新(包括JS/HTML/CS ...
- Android热更新初探,Bugly热更新的集成和使用(让你的应用轻松具备热更新能力)
介绍 在介绍Bugly之前,需要先向大家简单介绍下一些热更新的相关内容.当前市面的热补丁方案有很多,其中比较出名的有阿里的AndFix.美团的Robust以及QZone的超级补丁方案.但它们都存在 ...
- CodePush热更新组件详细接入教程
CodePush热更新组件详细接入教程 什么是CodePush CodePush是一个微软开发的云服务器.通过它,开发者可以直接在用户的设备上部署手机应用更新.CodePush相当于一个中心仓库,开发 ...
- walle多渠道打包+Tinker(bugly)热更新集成+360加固(乐固)
这三个东东是干啥的相信大家都有所耳闻了,如果你没有听说过,请出门左拐,百度一下你就知道.这里不对这三个东东具体的集成方式做详细的介绍,因为官方文档已经写的很详细了,主要是对同时使用这三个东东时所需要注 ...
- bugly热更新加固应用失败详解
最近做了一个热更新的功能,前几天把热更新的坑全部踩了一遍之后,热更新功能得以使用,但是昨天又发现了一个新的问题,就是热更新成功,但是加固后的包就不行了.注意:我这里是用的360和乐固加固测试的. 最初 ...
- Cordova App 热更新 超详细教程
前言: Cordova热更新的一些要点: 1.在不用重新安装App的情况下,更新你的代码.可以越过应用商店的审核步骤. 2.涉及的插件依赖发生变化时,无法使用热更新,需要去应用商店下载最新版本安装. ...
- bugly热更新使用
官网文档:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20181014122344 官网介绍 1 ...
- bugly热更新、多渠道集成及加固问题
Bugly Android热更新使用指南–>大部分步骤按照文档即可:官方文档 ========================================================== ...
- war包热更新_热更新实践:Bugly热更新打包及修复
上一篇[热更新:使用Bugly集成的Tinker]主要是说的配置,配置Tinker确实很麻烦,当然好处也是很大的.不仅支持各种类,so,资源的替换,体积也较小,是一款很强大的热修复工具.妈妈再也不用担 ...
- android热更新bugly
工作中偶尔会遇到的场景:当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装 ...
最新文章
- Spring Boot集成Swagger导入YApi@无界编程
- 大江论坛服务器维护,Kangle“多节点服务器扩展”功能的详细介绍
- 【.net部署】Server Error in ‘/‘ Application.错误解决方案
- 敏捷开发_全面解析瀑布式开发和敏捷式开发
- 一文读懂什么是C++移动语义《一》
- Java里的稀疏矩阵Sparse Array
- python能自学成功吗-python能够自学吗
- 不用写代码,谷歌教你如何用2个小时做出只属于你的游戏。
- 多投资机构点评神州信息2019业绩:看好金融信创,给出增持评级!
- 微信小程序input标签详解
- 芯片架构--四大处理器架构
- hive explode(split(split_feild,‘split_char‘)) split_feild为null 整条数据会丢掉
- python re 正则提取中文
- ORA-3136报错
- 前后端齐全的扫码点餐小程序(后端Java)
- 据说,年薪百万的程序员,都是这么开悟的---笑一笑十年少
- 点击“加入QQ群”链接打开电脑QQ扫码后发现登录地点不是本地
- 计算机三级在线题库,计算机三级网络技术题库(附答案)
- 【CSDN问答】使用体验、产品BUG和改进建议
- python做公众号赚钱_太强了!做副业月入3W的大佬公众号,值得了解