Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.15k stars 3.34k forks source link

打patch,代码变动过大,将新增的dex打入到 已经存在dex中,导致MD5检验失败,请问如何解决 #1712

Open LiviaGeneral opened 1 year ago

LiviaGeneral commented 1 year ago

打patch,代码变动过大,将新增的dex打入到 已经存在dex中,导致MD5检验失败,看了下dex-meta.txt文件,发现classex.7dex 有变动。 image

上面出现了2个classex7.dex 文件,不知道为什么? tinker版本为:1.9.14.25.1

2023-05-16 11:04:01.912 16844-16879/? I/Tinker.UpgradePatch: UpgradePatch tryPatch:patchVersionDirectory:/data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee 2023-05-16 11:04:01.992 16844-16879/? W/Tinker.UpgradePatch: UpgradePatch copy patch file, src file: /storage/emulated/0/Android/data/com.zhongwei.jxm/cache/TinkerPatch/-136229738.apk size: 6823193, dest file: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/patch-29cac2ee.apk size:6823193 2023-05-16 11:04:02.062 16844-16879/? I/Tinker.DexDiffPatchInternal: try Extracting /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/dex/classes7.dex.jar 2023-05-16 11:04:02.152 16844-16879/? I/Tinker.DexDiffPatchInternal: isExtractionSuccessful: false 2023-05-16 11:04:02.152 16844-16879/? I/Tinker.DexDiffPatchInternal: try Extracting /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/dex/classes7.dex.jar 2023-05-16 11:04:02.232 16844-16879/? I/Tinker.DexDiffPatchInternal: isExtractionSuccessful: false 2023-05-16 11:04:02.232 16844-16879/? W/Tinker.DexDiffPatchInternal: Failed to extract raw patch file /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/dex/classes7.dex.jar 2023-05-16 11:04:02.232 16844-16879/? I/Tinker.DefaultPatchReporter: patchReporter onPatchTypeExtractFail: file extract fail type: dex, path: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/patch-29cac2ee.apk, extractTo: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/dex/classes7.dex.jar, filename: classes7.dex 2023-05-16 11:04:02.302 16844-16879/? I/Tinker.PatchFileUtil: safeDeleteFile, try to delete path: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/patch-29cac2ee.apk 2023-05-16 11:04:02.302 16844-16879/? I/Tinker.PatchFileUtil: safeDeleteFile, try to delete path: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee/dex 2023-05-16 11:04:02.302 16844-16879/? I/Tinker.PatchFileUtil: safeDeleteFile, try to delete path: /data/user/0/com.zhongwei.jxm/tinker/patch-29cac2ee 2023-05-16 11:04:02.312 16844-16879/? W/Tinker.DexDiffPatchInternal: patch recover, extractDiffInternals fail 2023-05-16 11:04:02.312 16844-16879/? I/Tinker.DexDiffPatchInternal: recover dex result:false, cost:320 2023-05-16 11:04:02.312 16844-16879/? E/Tinker.UpgradePatch: UpgradePatch tryPatch:new patch recover, try patch dex failed 2023-05-16 11:04:02.312 16844-16879/? I/Tinker.DefaultPatchReporter: patchReporter onPatchResult: patch all result path: /storage/emulated/0/Android/data/com.zhongwei.jxm/cache/TinkerPatch/-136229738.apk, success: false, cost: 693 2023-05-16 11:04:02.312 16844-16879/? I/Tinker.PatchFileUtil: safeDeleteFile, try to delete path: /data/user/0/com.zhongwei.jxm/tinker_temp/temp.apk 2023-05-16 11:04:02.342 16517-16881/? V/Tinker.SampleResultService: SampleResultService receive result: PatchResult: isSuccess:false rawPatchFilePath:/storage/emulated/0/Android/data/com.zhongwei.jxm/cache/TinkerPatch/-136229738.apk costTime:693 dexoptTriggerTime:0 isOatGenerated:false patchVersion:29cac2eef9b7a85c955e5aa201747d98 2023-05-16 11:04:02.342 16517-16881/? V/Tinker.SampleResultService: 补丁加载失败

LiviaGeneral commented 1 year ago

@Nalecy 请大神帮忙看下这个是什么原因导致的?

liangdong9676 commented 1 year ago

试试19.14.25.2版本吧