android热修复 游戏渠道,Android 热修复(腾讯bugly)

编程入门 行业动态 更新时间:2024-10-28 12:29:35

android热修复 游戏渠道,Android 热修复(<a href=https://www.elefans.com/category/jswz/34/1770070.html style=腾讯bugly)"/>

android热修复 游戏渠道,Android 热修复(腾讯bugly)

腾讯bugly集成指南

1、在build.gradle中添加依赖

dependencies {

classpath 'com.android.tools.build:gradle:3.2.0'

classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0'

classpath 'com.tencent.bugly:tinker-support:1.1.5'//加上这行

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

2、在 app build.gradle中添加依赖,没有加Android support中的MultiDex,是因为我用了Androidx,里面自带这个包,如果没有需要添加上,建议用Androidx,毕竟官方已经出了,这样可以少引入好多包,好处多多。

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.tencent.bugly:nativecrashreport:latest.release'//bug上传

3、在Application中初始化,初始化完毕,别忘了在清单文件中引入自定义的application,我是基于

enableProxyApplication = true的情况下做的,要不改的代码太多了,只能用这中方式了。

@Override

protected void attachBaseContext(Context base) {

super.attachBaseContext(base);

MultiDex.install(this);//必须加

Beta.installTinker();//初始化

}

@TargetApi(9)

protected void setStrictMode() {

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());

StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyLog().build());

}

@Override

public void onCreate() {

super.onCreate();

setStrictMode();

// 设置是否开启热更新能力,默认为true

Beta.enableHotfix = true;

// 设置是否自动下载补丁

Beta.canAutoDownloadPatch = true;

// 设置是否提示用户重启

Beta.canNotifyUserRestart = true;

// 设置是否自动合成补丁

Beta.canAutoPatch = true;

Bugly.init(this, "xxxxxx", true);

}

4、在app 目录下创建thinker-support.gradle文件

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

def bakPath = file("${buildDir}/bakApk/")

/**

* 此处填写每次构建生成的基准包目录

这个是你第一次assembleRelease会在build生成一个如下的文件夹

创建补丁包的时候,需要填写,否则报错。

*/

def baseApkDir = "app-0829-10-34-40"

/**

* 对于插件各参数的详细解析请参考

*/

tinkerSupport {

// 开启tinker-support插件,默认值true

enable = true

// 自动生成tinkerId, 你无须关注tinkerId,默认为false

autoGenerateTinkerId = true

// 指定归档目录,默认值当前module的子目录tinker

autoBackupApkDir = "${bakPath}"

// 是否启用覆盖tinkerPatch配置功能,默认值false

// 开启后tinkerPatch配置不生效,即无需添加tinkerPatch

overrideTinkerPatchConfiguration = true

// 编译补丁包时,必需指定基线版本的apk,默认值为空

// 如果为空,则表示不是进行补丁包的编译

// @{link tinkerPatch.oldApk }

baseApk = "${bakPath}/${baseApkDir}/app-release.apk"

// baseApk = "${bakPath}/${baseApkDir}/app-debug.apk"

// 对应tinker插件applyMapping

baseApkProguardMapping = "${bakPath}/${baseApkDir}/app-release-mapping.txt"

// baseApkProguardMapping = "${bakPath}/${baseApkDir}/app-debug-mapping.txt"

// 对应tinker插件applyResourceMapping

baseApkResourceMapping = "${bakPath}/${baseApkDir}/app-release-R.txt"

// baseApkResourceMapping = "${bakPath}/${baseApkDir}/app-debug-R.txt"

// 构建基准包跟补丁包都要修改tinkerId,主要用于区分

tinkerId = "1.0.3-path"

// 打多渠道补丁时指定目录

// buildAllFlavorsDir = "${bakPath}/${baseApkDir}"

// 是否使用加固模式,默认为false

// isProtectedApp = true

// 是否采用反射Application的方式集成,无须改造Application

enableProxyApplication = true

// 支持新增Activity

supportHotplugComponent = true

}

/**

* 一般来说,我们无需对下面的参数做任何的修改

* 对于各参数的详细介绍请参考:

*

*/

tinkerPatch {

tinkerEnable = true

ignoreWarning = false

useSign = false

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"

// path = "/usr/local/bin/7za"

}

buildConfig {

keepDexApply = false

// tinkerId = "base-2.0.1"

}

}

5、可能会报一些错,在gradle.properties中加入

android.useDexArchive= true

android.enableD8.desugaring= true

android.enableD8 = true

6、需要注意的点,打补丁包的时候用buildThinkerPatch.Release,然后上传到bugly的发布补丁就行了。

更多推荐

android热修复 游戏渠道,Android 热修复(腾讯bugly)

本文发布于:2024-03-06 15:14:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715652.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:腾讯   渠道   游戏   android   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!