使用bugly+tinker热更新

    只做个集成记录,不深究具体原理,后面慢慢看,按以下步骤就能完成热更新部署!

第一步:注册bugly后台

在https://bugly.qq.com/v2/申请APP获取相应的appId和key。在https://bugly.qq.com/v2/申请APP获取相应的appId和key。

第二步:引入bugly和tinker依赖

在项目中引入bugly热更新SDK:

    implementation 'com.tencent.bugly:crashreport_upgrade:1.3.6'
    // 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker)
    implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'

添加分包依赖:

implementation "com.android.support:multidex:1.0.1"

在defaultConfig{}中添加:

multiDexEnabled true

在project的build.gradle添加:

classpath "com.tencent.bugly:tinker-support:latest.release"

第三步:配置tinker插件文件

新建tinker-support.gradle文件,和module的build.gradle同级:

apply plugin: 'com.tencent.bugly.tinker-support'

def bakPath = file("${buildDir}/bakApk/")
/*在本类中需要修改:
* 1.baseApkDir
* 2-4名称的修改
* 2.baseApk
* 3.baseApkProguardMapping
* 4.baseApkResourceMapping
* 5.tinkerId  编号必须一致
* */
/**
 * 此处填写每次构建生成的基准包目录  app/build/bakApk/app-0412-18-01-33
 */
def baseApkDir = "app-0321-13-16-10"
//def myTinkerId = "base-" + rootProject.ext.android.versionName // 用于生成基准包(不用修改)
def myTinkerId = "patch-" + rootProject.ext.android.versionName + ".0.0" // 用于生成补丁包(每次生成补丁包都要修改一次,最好是 patch-${versionName}.x.x)
/**
 * 对于插件各参数的详细解析请参考
 */
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-rel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值