Tinker + Bugly热修复实现 参考官方文档:Bugly Android热更新使用指南、Bugly Android热更新详解 主要接入流程: 打基准包安装并上报联网(注:填写唯一的tinkerId) 对基准包的 bug 修复(可以是 Java 代码变更,资源的变更) 修改基准包路径、修改
Tinker缺点 Tinker的更新是只能针对同一个版本的app更新,时间越久更新包越大,它不能更新app版本,需要保证每个发布的apk都采用不用的APP版本 Tinker不支持修改AndroidManifest.xml,Tinker不支持新增四大组件(1.9.0支持新增非export的Activ
前言 由于公司需要,入坑Tinker,结果发现dex以及资源文件,可以替换。而So文件,Log日志提示替换成功,而使用时不好使。 目标 更新Dex,资源文件,以及So库文件 原理 简单说下Tinker的原理。通过算法,将新的更新的APK和原版的BaseApk之间的差异生成一个Patch补丁包。将补
SDK 所有的 API 都位于TinkerPatch.java中,可以参考 TinkerPatch 中的Sample 初始化 SDK 初始化 SDK 有两个接口,推荐使用默认接口 默认接口(推荐使用) //接口定义 public static TinkerPatch init(Applicatio
对Flavors的支持 如果只是多渠道的需求,建议不要使用Flavor。多flavor必须在后台建立相应的基线工程(如下例子的命名规则为:appVersion_flavorName),每次生成补丁时也必须对应的生成多个分别上传。 TinkerPatch增加了tinkerPatchAllFlavor
TinkerPatch的使用步骤非常简单,一般来说可以参考以下几个步骤: (1)运行assembleRelease task 构建基准包(务必在发布前确保更新tinkerpatchSupport中的appVersion),tinkerPatch会基于填入的autoBackupApkPath自动备份基
初始化TinkerPatch的SDK,无需考虑Tinker是如何下载/合成/应用补丁包,也无需引入Tinker的相关类。 reflectApplication = true 的情况 若使用reflectApplication模式,我们无需为接入Tinker而改造我们的Application类。初始化
什么是Tinker Tinker 是一个开源项目(Github:https://github.com/Tencent/tinker ),它是微信官方的 Android 热补丁解决方案,它支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,也可以使用Tinker来更新
热修复方案按照是否必须重启分为两类:重启生效 / 即时生效。按照实现方式可以分为3类:Java层的实现 / Native层的实现 / Java Native混合实现 阿里AndFix 方案(已弃用) AndFix 是 无需重启 的 Native层 的实现。但是,AndFix目前已经3年多没维护更新