tinker icon indicating copy to clipboard operation
tinker copied to clipboard

ACE加固后无法出补丁包

Open champinn001 opened this issue 8 months ago • 0 comments

创建完基准包和最新包后,分别对这2个包使用ACE加固,然后使用tinker-patch-cli.jar创建补丁,但是创建失败了。 `-----------------------Tinker patch begin----------------------- configuration: oldApk:G:\Android_Proj\tinker-sample-android\so_stest_b\app-debug-old.apk newApk:G:\Android_Proj\tinker-sample-android\so_stest_b\app-debug-new.apk outputFolder:G:\Android_Proj\tinker-sample-android\so_stest_b\1 isIgnoreWarning:false isAllowLoaderClassInAnyDex:false isRemoveLoaderForAllDex:false isProtectedApp:false 7-ZipPath:E:/F_bak/v8-build/7z.exe useSignAPk:true package meta fields: filed name:patchMessage, filed value:classes.dex filed name:platform, filed value:all dex configs: dexMode: jar dexPattern:classes..dex dexPattern:assets/secondary-dex-..jar dex loader:com.tencent.tinker.loader. dex loader:tinker.sample.android.SampleApplication lib configs: libPattern:lib/./..so resource configs: resPattern:resources.arsc resPattern:AndroidManifest.xml resPattern:assets/.* resPattern:res/.* resIgnore change:assets/sample_meta.txt largeModSize:100kb useApplyResource:false ArkHot: arkHot / patch.apk

config: arkHot patch.apkassets\arkHot_meta.txt Analyze old and new apk files1: old apk: app-debug-old.apk, size=2567329, md5=b8e29cea576c1b2685f26b06bac6c36b new apk: app-debug-new.apk, size=2567329, md5=44d54cb89bde166a5a28f943f7a76bad

Manifest was changed, while there's no any new components added. Make sure if such changes were all you expected.

UnZipping apk to G:\Android_Proj\tinker-sample-android\so_stest_b\1\app-debug-old UnZipping apk to G:\Android_Proj\tinker-sample-android\so_stest_b\1\app-debug-new found modify resource: AndroidManifest.xml, but it is AndroidManifest.xml, just ignore! Found modify resource: assets/__tpcfinfo.tsa Found modify resource: assets/__tpinfo.tp Found modify resource: assets/__tpinfo.tsc Found modify resource: assets/__tpinfo.tsc.sig Found modify resource: assets/__tpinfo.tsd Found modify resource: assets/__tpinfo.tsd.sig Check for loader classes in dex: classes.dex Collect class descriptors in classes.dex Check for loader classes in dex: classes2.dex Collect class descriptors in classes2.dex path:null oldFile:G:\Android_Proj\tinker-sample-android\so_stest_b\1\app-debug-old\lib\arm64-v8a\liblenovo.so BsDiffDecoder:write meta file data: liblenovo.so,lib/arm64-v8a,295b690085ed19e1248e7ab3736889ca,3746665441,0e19a8c19e31929a00b0805f96f02361 path:null oldFile:G:\Android_Proj\tinker-sample-android\so_stest_b\1\app-debug-old\lib\arm64-v8a\libtprt.so BsDiffDecoder:write meta file data: libtprt.so,lib/arm64-v8a,4d10cd1518615b50c726ae0eaa8de23c,1511874770,877b2126f4a5f86636bd759ffe775c3d Check if loader classes in classes.dex refer to any classes that is not in loader class patterns. FATAL: method ':VILLZZZ' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method ':V' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'attachBaseContext:VL' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'attachBaseContext:VL' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getAssets:L' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getAssets:L' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getBaseContext:L' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getBaseContext:L' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getClassLoader:L' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getClassLoader:L' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getResources:L' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getResources:L' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getSystemService:LL' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getSystemService:LL' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'getTheme:L' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'getTheme:L' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'onConfigurationChanged:VL' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'onConfigurationChanged:VL' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'onCreate:V' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'onCreate:V' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'onLowMemory:V' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'onLowMemory:V' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'onTerminate:V' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'onTerminate:V' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. FATAL: method 'onTrimMemory:VI' in loader class 'Lcom/tencent/tinker/loader/app/TinkerApplication;' refers to method 'onTrimMemory:VI' in class 'Lcom/ace/gshell/AceApplication;' which is not in loader class, this may cause crash when patch is loaded. Check if loader classes in classes2.dex refer to any classes that is not in loader class patterns. com.tencent.tinker.build.util.TinkerPatchException: There are fatal reasons that cause Tinker interrupt patch generating procedure, see logs above. at com.tencent.tinker.build.decoder.DexDiffDecoder.checkIfLoaderClassesReferToNonLoaderClasses(DexDiffDecoder.java:386) at com.tencent.tinker.build.decoder.DexDiffDecoder.onAllPatchesEnd(DexDiffDecoder.java:246) at com.tencent.tinker.build.decoder.ApkDecoder.patch(ApkDecoder.java:128) at com.tencent.tinker.build.patch.Runner.tinkerPatch(Runner.java:69) at com.tencent.tinker.patch.CliMain.run(CliMain.java:112) at com.tencent.tinker.patch.CliMain.main(CliMain.java:58) `

champinn001 avatar Apr 22 '25 07:04 champinn001