Bugly 热更新简单介绍

Bugly 热更新介绍

Bugly 采用 微信Tinker 的开源方案,并集成了自动下载补丁包、合成、并应用补丁的功能,同时提供了管理后台。检查下载补丁包在启动应用时,并在下次启动应用时生效补丁包。

集成 Bugly SDK 请参照官方文档:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20181014122344

注意:不能更新 AndroidManifest 文件,参见:https://github.com/Tencent/tinker#known-issues 争议第 1 条

tinker-support.gradle 配置文件主要要修改参数:


// 此处填写每次构建生成的基准包目录
def baseApkDir = "app-0402-18-31-11"

tinkerSupport {
	...

    // 构建基准包和补丁包都要指定不同的tinkerId,并且必须保证唯一性
    tinkerId = "patch-1.81-12"

    // 构建多渠道补丁时使用
     buildAllFlavorsDir = "${bakPath}/${baseApkDir}"

    // 是否启用加固模式,默认为false.(tinker-spport 1.0.7起支持)
     isProtectedApp = true

    // 是否开启反射Application模式
    enableProxyApplication = true
}
  • tinkerId 无论是在打基包或补丁包时都要修改该值,并保持唯一性
  • buildAllFlavorsDir 构建多渠道打包时用到,默认被注释状态
  • isProtectedApp 表示启用加固模式,默认被注释状态
  • enableProxyApplication 开启反射 Application 模式,快捷集成 SDK,默认为 false
打包过程
  • 生成基包

    1. 修改 TinkerId 为 base-version
    2. 生成包 Gradle Projects -> :app -> Tasks -> build -> assembleRelease
    3. 获取 APK,在 /app/build/bakApk/baseApkDir/flavors/app-flavor-release.apk
  • 生成补丁包

    1. 修改代码
    2. 修改 TinkerId 为 patch-version
    3. 设置 baseApkDir 路径为基包的名称
    4. 生成基包 Gradle Projects -> :app -> Tasks -> tinker-support -> buildAllFlavorsTinkerPatchRelease
    5. 获取 APK,在 /app/build/output/patch/flavors/release/patch_signed_7zip.apk
注意事项
  • 生成基包后记得保存 app-release-R.txt 文件,否则下次可能无法生成补丁包.

其实官网的相关说明文档还是蛮详细的。只要跟着指南一步一步操作就会可以实现功能了,至于应用到具体的项目中时,肯定还会有各种各样的冲突,坑肯定还是有不少的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值