Skip to content

ACE加固后无法出补丁包 #1770

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
champinn001 opened this issue Apr 22, 2025 · 0 comments
Open

ACE加固后无法出补丁包 #1770

champinn001 opened this issue Apr 22, 2025 · 0 comments

Comments

@champinn001
Copy link

champinn001 commented Apr 22, 2025

创建完基准包和最新包后,分别对这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)
`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant