0
点赞
收藏
分享

微信扫一扫

Bugly Android热更新问题解决[Android11,minSdkVersion=23]

@[TOC] Bugly Android热更新问题解决[Android11,minSdkVersion=23]

最近在使用Bugly Android热更新的时候遇到一些问题,在这里分享一些解决方案。

Bugly Android热更新使用指南

首先关于基本的集成步骤可以参考官方文档。下面主要讲一下需要改动注意的地方。

注意事项

  1. Project下面的build.gradle需要一下改动:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter() //必须添加jcenter()才能下载插件
    }
    dependencies {
//        classpath "com.android.tools.build:gradle:7.0.4"
//gradle版本不能高于4.0,tinker还没做高版本的适配,我个人用的是3.6.1
        classpath "com.android.tools.build:gradle:3.6.1"

        classpath "com.tencent.bugly:tinker-support:1.2.3"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
  1. 在app Module下的build.gradle需要注意:

minSdkVersion 23 //最低兼容的SDK版本不能超过24,不然的话热更新的包会编译失败

        release {
        	//在这里注释minifyEnabled false ,不然热更新会失败
        	//minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
  1. tinker-support.gradle目录下添加一下配置
tinkerPatch {
	//新增start
    allowLoaderInAnyDex =  true
    removeLoaderForAllDex = true
    //新增end
    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"
    }
    buildConfig {
        keepDexApply = false
    }
}
  1. 如果用到第三方库的话需要注意最低兼容版本同样不能高于24

以上修改过之后,基本就可以正常使用热更新了。

举报

相关推荐

0 条评论