android——热修复(补丁)
打包补丁流程
1. 生成基准包 (baseline apk)
首先需要生成一个基准包,后续的补丁都是基于这个基准包生成的:
./gradlew assembleRelease
生成的基准包位于 app/build/bakApk/
目录下。
2. 修改代码
修复 bug 或进行其他修改后,确保只修改了代码而没有新增或删除资源文件(Tinker 对资源文件的修改有限制)。
3. 配置补丁信息(由于已经配置到单独文件,所以此步可省略)
在 app/build.gradle
中配置 tinkerPatch:
tinkerPatch {oldApk = "基准apk路径"ignoreWarning = falseuseSign = truebuildConfig {tinkerId = "补丁版本号"keepDexApply = false}dex {dexMode = "jar"pattern = ["classes*.dex"]loader = ["com.xxx.xxx.MyApplication"] // 你的Application类}lib {pattern = ["lib/*/*.so"]}res {pattern = ["res/*", "assets/*", "resources.arsc", "AndroidManifest.xml"]ignoreChange = ["assets/sample_meta.txt"]largeModSize = 100}packageConfig {configField("patchMessage", "fix bugs")}
}
4. 生成补丁包
运行以下命令生成补丁包:
./gradlew tinkerPatchRelease
生成的补丁包位于 app/build/outputs/tinkerPatch/
目录下,文件名为 patch_signed_7zip.apk
。
demo地址:https://download.csdn.net/download/wy313622821/91316471