为什么使用Bugly热更新?
· 无需关注Tinker是如何合成补丁的
· 无需自己搭建补丁管理后台
· 无需考虑后台下发补丁策略的任何事情
· 无需考虑补丁下载合成的时机,处理后台下发的策略
· 我们提供了更加方便集成Tinker的方式
· 我们通过HTTPS及签名校验等机制保障补丁下发的安全性
· 丰富的下发维度控制,有效控制补丁影响范围
· 我们提供了应用升级一站式解决方案
视频教程
课程1:Bugly热更新介绍
课程3:集成升级SDK
课程4:生成补丁包之痛我懂你
课程5:补丁包为何上传不上去?
课程6:普通打包的热更新、
课程7:渠道包的热更新
课程8:加固的热更新
配置过程
第一步:添加插件依赖
当前集成的版本是bugly最新版本1.9.6
工程根目录下build.gradle文件中添加
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "com.tencent.bugly:tinker-support:1.1.2"
}
在项目的build.gradle中添加
android {
defaultConfig {
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
// 多dex配置
//注释掉原有bugly的仓库
//compile 'com.tencent.bugly:crashreport:latest.release'//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.3.4
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
// compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0
}
这里注意下,最新版本的sdk已经集成了crash上报,所以不需要在配置,已经配置符号表的保留。
第二步:添加thinker-gradle
在build.gradle的同级目录下创建一个thinker-support.gradle文件
并复制以下内容:
apply plugin: 'com.tencent.bugly.tinker-support'
def bakPath = file("${buildDir}/bakApk/")
/**
* 此处填写每次构建生成的基准包目录,基准包可不填写
*/
def baseApkDir = "sgcc-0801-17-27-23"
/**
* 对于插件各参数的详细解析请参考
*/
tinkerSupport {
// 开启tinker-support插件,默认值true
enable = true
// 指定归档目录,默认值当前module的子目录tinker
autoBackupApkDir = "${bakPath}"
// 是否启用覆盖tinkerPatch配