Tinker 热修复 Bugly-Tinker方案接入总结

本文用于分享Bugly的Tinker热修复方案接入流程及遇到问题的记录。

开发环境:

Gradle版本:gradle-5.6.4-all
Gradle插件版本:3.5.2

开始接入:

接入流程相对简单,可以直接参考官方文档进行。
官方文档:Bugly Android热更新使用指南

相关问题:

  1. 依赖问题:
    实际上文档中的依赖并不明确,需要参考的另一个文档 Android 应用升级 SDK 更新日志。
    例如如果需要接入1.4.2版本,则需要使用对用的Tinker版本,否则有可能导致补丁包无法修复等问题。

  2. Tinker-support配置:
    参考文档为:tinker-support配置说明

  3. 接入方法选择:
    接入方法分为继承TinkerApplication或者使用框架的反射实现。根据Tinker的建议应尽量使用继承方式。

使用过程:

使用流程并不复杂,也是可以直接参考官方文档进行。
官方文档:Bugly Android热更新详解

相关问题:

  1. Mapping规则重复:
    开发中曾遇到这样的问题:在生成补丁包的时候,框架调用基准包的mapping时报混淆规则重复。
    看了一下issues中也有提及到相关的问题:issues 1269,issues 1253
    这里有2个解决方案:
    1- 设置baseApkProguardMapping = false
    2- 关闭R8混淆,在AS 3.2以上版本中,R8默认启动,关闭R8需要在gradle.properties中添加:
android.enableR8.libraries = false
android.enableR8=false
  1. 后台没有应用数据:
    导致该原因的可能有不少,可能appid填写错误,可能配置错误等等。
    这里分享一个相对隐蔽的问题:App targetSdkVersion >= 28(Android 9.0)情况下,系统默认不允许http网络请求。
    官方文档:网络安全配置
    解放方案可以参考:适配Bugly不支持Android P

你可能感兴趣的:(Tinker 热修复 Bugly-Tinker方案接入总结)