Android 16的模拟器,Tinker patch启用失败
Author: chejdjCreated Dec 1, 2025Updated Dec 18, 2025
这边使用Android 16的模拟器测试patch是否生效,发现不生效,但是真机可以 tinker版本:1.9.14.19 模拟器:Pixel 9 API 36 (Apple M1 使用AndroidStudio 默认创建的模拟器) 日志
2025-12-01 19:23:10.023 12259-12778 Tinker.HotfixManager com.ganji.android V 开始请求配置
2025-12-01 19:23:10.023 12259-12778 Tinker.HotfixManager com.ganji.android V 配置文件url:http://a.58cdn.com.cn/ganji/android/hotfix/v10.40.80.json
2025-12-01 19:23:10.029 12259-12778 Tinker.HotfixManager com.ganji.android V 保存热修复信息:{"buildId":"562517","patchVer":"1","cpuArch":"arm64-v8a","md5":"bffc3e9cfea164469576e3269893c4dd","url":"xxxx"}
2025-12-01 19:23:10.029 12259-12778 Tinker.HotfixManager com.ganji.android V 文件不存在,去下载
2025-12-01 19:23:10.031 12259-12779 Tinker.HotfixManager com.ganji.android V 补丁父路径:/data/user/0/com.ganji.android/files/hotfix/path
2025-12-01 19:23:10.031 12259-12779 Tinker.HotfixManager com.ganji.android V 开始下载补丁包: https://wosin16.58corp.com/DeJazYxWvUDF/betain/basicpck-562531-patch-10.40.80-app-arm64-v8a-release.apk
2025-12-01 19:23:10.033 12259-12779 Tinker.HotfixManager com.ganji.android V 创建补丁目录:/data/user/0/com.ganji.android/files/hotfix/path/562517/1
2025-12-01 19:23:10.130 12259-12779 Tinker.HotfixManager com.ganji.android V 补丁文件下载成功:/data/user/0/com.ganji.android/files/hotfix/path/562517/1/patch.tmp
2025-12-01 19:23:10.130 12259-12779 Tinker.HotfixManager com.ganji.android V 补丁文件下载成功:/data/user/0/com.ganji.android/files/hotfix/path/562517/1/patch.apk
2025-12-01 19:23:10.130 12259-12779 Tinker.HotfixManager com.ganji.android V checkLocalConfig
2025-12-01 19:23:10.131 12259-12779 Tinker.HotfixManager com.ganji.android V 补丁信息以及补丁文件存在,md5值为:bffc3e9cfea164469576e3269893c4dd
2025-12-01 19:23:10.131 12259-12779 Tinker.Tin...chListener com.ganji.android V receive a patch file: /data/user/0/com.ganji.android/files/hotfix/path/562517/1/patch.apk, file size:19085
2025-12-01 19:23:10.132 12259-12779 Tinker.PatchInfo com.ganji.android W read property failed, e:java.io.FileNotFoundException: /data/user/0/com.ganji.android/tinker/patch.info: open failed: ENOENT (No such file or directory)
2025-12-01 19:23:10.132 12259-12779 Tinker.PatchInfo com.ganji.android W read property failed, e:java.io.FileNotFoundException: /data/user/0/com.ganji.android/tinker/patch.info: open failed: ENOENT (No such file or directory)
2025-12-01 19:23:10.133 12259-12779 Tinker.Upg...PatchRetry com.ganji.android W onPatchListenerCheck retry file is not exist, just return
2025-12-01 19:23:10.134 12259-12779 Tinker.Tin...chListener com.ganji.android V get platform:all
2025-12-01 19:23:10.137 12259-12779 Tinker.Tin...tchService com.ganji.android I run patch service...
2025-12-01 19:23:10.141 12259-12779 Tinker.HotfixManager com.ganji.android V 加载补丁包,补丁信息{"buildId":"562517","patchVer":"1","cpuArch":"arm64-v8a","md5":"bffc3e9cfea164469576e3269893c4dd","url":"https://wosin16.58corp.com/DeJazYxWvUDF/betain/basicpck-562531-patch-10.40.80-app-arm64-v8a-release.apk"}
2025-12-01 19:23:10.145 685-733 ActivityManager system_server I Start proc 12780:com.ganji.android:patch/u0a217 for service {com.ganji.android/com.tencent.tinker.lib.service.TinkerPatchForeService}
2025-12-01 19:23:10.193 12780-12780 Tinker.TinkerLoader com.ganji.android:patch D tryLoad test test
2025-12-01 19:23:10.194 12780-12780 Tinker.TinkerLoader com.ganji.android:patch W tryLoadPatchFiles: we don't load patch with :patch process itself, just return
2025-12-01 19:23:10.194 12780-12780 Tinker.DefaultAppLike com.ganji.android:patch D onBaseContextAttached:
2025-12-01 19:23:10.195 12780-12780 Tinker.Tin...chListener com.ganji.android:patch V application maxMemory:192
2025-12-01 19:23:10.195 12780-12780 Tinker.Tinker com.ganji.android:patch W tinker patch directory: /data/user/0/com.ganji.android/tinker
2025-12-01 19:23:10.195 12780-12780 Tinker.Tinker com.ganji.android:patch I try to install tinker, isEnable: true, version: 1.9.14.19
2025-12-01 19:23:10.195 12780-12780 Tinker.TinkerLoadResult com.ganji.android:patch I parseTinkerResult loadCode:-1, process name:com.ganji.android:patch, main process:false, systemOTA:false, fingerPrint:google/sdk_gphone64_arm64/emu64a:16/BE2A.250530.026.D1/13818094:user/release-keys, oatDir:null, useInterpretMode:false
2025-12-01 19:23:10.195 12780-12780 Tinker.TinkerLoadResult com.ganji.android:patch W tinker is disable, just return
2025-12-01 19:23:10.195 12780-12780 Tinker.Def...adReporter com.ganji.android:patch I patch loadReporter onLoadResult: patch load result, path:/data/user/0/com.ganji.android/tinker, code: -1, cost: 0ms
2025-12-01 19:23:10.195 12780-12780 Tinker.Tinker com.ganji.android:patch W tinker load fail!
2025-12-01 19:23:10.195 12780-12780 Tinker.DefaultAppLike com.ganji.android:patch D onCreate
2025-12-01 19:23:10.198 12780-12780 Tinker.TinkerLoader com.ganji.android:patch D [PendingLog @ 2025-12-01 19:23:10.193] tryLoad test test
2025-12-01 19:23:10.198 12780-12780 Tinker.TinkerLoader com.ganji.android:patch W [PendingLog @ 2025-12-01 19:23:10.194] tryLoadPatchFiles: we don't load patch with :patch process itself, just return
2025-12-01 19:23:10.198 12780-12780 Tinker.DefaultAppLike com.ganji.android:patch D [PendingLog @ 2025-12-01 19:23:10.194] onBaseContextAttached:
2025-12-01 19:23:10.201 12780-12796 Tinker.Tin...tchService com.ganji.android:patch I for system version >= Android O, we just ignore increasingPriority job to avoid crash or toasts.
2025-12-01 19:23:10.201 12780-12780 Tinker.Upg...PatchRetry com.ganji.android:patch W onPatchRetryLoad retry is not main process, just return
2025-12-01 19:23:10.201 12780-12796 Tinker.Def...chReporter com.ganji.android:patch I patchReporter onPatchServiceStart: patch service start
2025-12-01 19:23:10.202 12780-12796 Tinker.Upg...PatchRetry com.ganji.android:patch W try copy file: /data/user/0/com.ganji.android/files/hotfix/path/562517/1/patch.apk to /data/user/0/com.ganji.android/tinker_temp/temp.apk
2025-12-01 19:23:10.211 12780-12796 Tinker.UpgradePatch com.ganji.android:patch I UpgradePatch tryPatch:patchMd5:bffc3e9cfea164469576e3269893c4dd
2025-12-01 19:23:10.212 12780-12796 Tinker.PatchInfo com.ganji.android:patch W read property failed, e:java.io.FileNotFoundException: /data/user/0/com.ganji.android/tinker/patch.info: open failed: ENOENT (No such file or directory)
2025-12-01 19:23:10.212 12780-12796 Tinker.PatchInfo com.ganji.android:patch W read property failed, e:java.io.FileNotFoundException: /data/user/0/com.ganji.android/tinker/patch.info: open failed: ENOENT (No such file or directory)
2025-12-01 19:23:10.212 12780-12796 Tinker.UpgradePatch com.ganji.android:patch I UpgradePatch tryPatch:patchVersionDirectory:/data/user/0/com.ganji.android/tinker/patch-bffc3e9c
2025-12-01 19:23:10.212 12780-12796 Tinker.UpgradePatch com.ganji.android:patch W UpgradePatch copy patch file, src file: /data/user/0/com.ganji.android/files/hotfix/path/562517/1/patch.apk size: 19085, dest file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/patch-bffc3e9c.apk size:19085
2025-12-01 19:23:11.136 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes.dex.jar, size: 3563333, use time: 922
2025-12-01 19:23:11.538 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes10.dex.jar, size: 1970486, use time: 402
2025-12-01 19:23:12.025 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes11.dex.jar, size: 2541528, use time: 487
2025-12-01 19:23:12.341 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes12.dex.jar, size: 1525191, use time: 316
2025-12-01 19:23:12.616 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes2.dex.jar, size: 1287266, use time: 275
2025-12-01 19:23:13.346 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes3.dex.jar, size: 3532201, use time: 730
2025-12-01 19:23:13.390 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes4.dex.jar, size: 231625, use time: 44
2025-12-01 19:23:13.985 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes5.dex.jar, size: 2833010, use time: 595
2025-12-01 19:23:14.524 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes6.dex.jar, size: 3007914, use time: 539
2025-12-01 19:23:14.756 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes7.dex.jar, size: 1109539, use time: 232
2025-12-01 19:23:15.288 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes8.dex.jar, size: 2800303, use time: 532
2025-12-01 19:23:15.554 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch W success recover dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes9.dex.jar, size: 1342966, use time: 266
2025-12-01 19:23:15.554 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I try Extracting /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/test.dex.jar
2025-12-01 19:23:15.557 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I isExtractionSuccessful: true
2025-12-01 19:23:16.036 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes4.dex.jar
2025-12-01 19:23:16.036 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes3.dex.jar
2025-12-01 19:23:16.036 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes5.dex.jar
2025-12-01 19:23:16.036 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes8.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes2.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes11.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes9.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes10.dex.jar
2025-12-01 19:23:16.037 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes7.dex.jar
2025-12-01 19:23:16.038 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes6.dex.jar
2025-12-01 19:23:16.038 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/classes12.dex.jar
2025-12-01 19:23:16.038 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/test.dex.jar
2025-12-01 19:23:16.038 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I merge classN dex file /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk, result: true, size: 69147475, use: 481ms
2025-12-01 19:23:16.039 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I legal files to do dexopt: [/data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk]
2025-12-01 19:23:16.041 12780-12796 Tinker.TinkerInternals com.ganji.android:patch D getCurrentInstructionSet:arm64
2025-12-01 19:23:16.043 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I patch recover, try to optimize dex file count:1, optimizeDexDirectory:/data/user/0/com.ganji.android/tinker/patch-bffc3e9c/odex/
2025-12-01 19:23:16.052 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I start to parallel optimize dex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk, size: 69147475
2025-12-01 19:23:16.052 12780-12796 Tinker.TinkerInternals com.ganji.android:patch I class not found exception
2025-12-01 19:23:16.055 12780-12796 i.android:patch com.ganji.android:patch W Unsupported class loader: java.lang.Class<com.tencent.tinker.loader.TinkerClassLoader>
2025-12-01 19:23:16.058 12780-12796 i.android:patch com.ganji.android:patch E Attempt to load writable dex file: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk
2025-12-01 19:23:16.209 12780-12796 Tinker.ParallelDex com.ganji.android:patch I [+] Hit target device, do dexopt logic now.
2025-12-01 19:23:16.212 12780-12796 Tinker.ParallelDex com.ganji.android:patch I [+] Execute shell cmd, args: [reconcile-secondary-dex-files, com.ganji.android]
2025-12-01 19:23:16.226 12780-12796 Tinker.ParallelDex com.ganji.android:patch I [+] Execute shell cmd done.
2025-12-01 19:23:16.234 685-2143 PackageManager system_server I Ignored unsupported registerDexModule call for /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk in com.ganji.android
2025-12-01 19:23:16.235 12780-12796 Tinker.ParallelDex com.ganji.android:patch I [+] Oat file /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.odex is found after registerDexModule
2025-12-01 19:23:17.236 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 1 time(s), wait again.
2025-12-01 19:23:19.236 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 2 time(s), wait again.
2025-12-01 19:23:23.238 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 3 time(s), wait again.
2025-12-01 19:23:31.244 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 4 time(s), wait again.
2025-12-01 19:23:47.249 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 5 time(s), wait again.
2025-12-01 19:24:19.251 12780-12796 Tinker.ParallelDex com.ganji.android:patch W [!] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting 6 time(s), wait again.
2025-12-01 19:24:19.252 12780-12796 Tinker.ParallelDex com.ganji.android:patch E [-] Vdex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.vdex does not exist after waiting for 6 times.
2025-12-01 19:24:19.253 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I success to parallel optimize dex /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/tinker_classN.apk, opt file:/data/user/0/com.ganji.android/tinker/patch-bffc3e9c/dex/oat/arm64/tinker_classN.odex, opt file size: 0, use time 63201
2025-12-01 19:24:19.254 12780-12796 Tinker.Dex...chInternal com.ganji.android:patch I recover dex result:true, cost:69042
2025-12-01 19:24:19.255 12780-12796 Tinker.BsD...chInternal com.ganji.android:patch W patch recover, library is not contained
2025-12-01 19:24:19.258 12780-12796 Tinker.Res...chInternal com.ganji.android:patch I res dir: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/res/, meta: resArscMd5:d40fed82b263c9583e3fcf7d305425e5
arscBaseCrc:2339678131
pattern:resources\.arsc
pattern:res/.*
pattern:assets/.*
addedSet:assets/only_use_to_test_tinker_resource.txt
largeModifiedSet:resources.arsc
2025-12-01 19:24:19.335 12780-12796 Tinker.Res...chInternal com.ganji.android:patch W success recover large modify file:/data/user/0/com.ganji.android/tinker/patch-bffc3e9c/res/res_temp/resources.arsc, file size:2322076, use time:61
2025-12-01 19:24:19.335 12780-12796 Tinker.Res...chInternal com.ganji.android:patch W success recover all large modify and store resources use time:75
2025-12-01 19:24:19.528 12780-12796 Tinker.PatchFileUtil com.ganji.android:patch I safeDeleteFile, try to delete path: /data/user/0/com.ganji.android/tinker/patch-bffc3e9c/res/res_temp/resouSource: Tencent/tinker