apktool回编错误

本文详细解析了使用Apktool进行APK反编译时遇到的资源编译错误,特别是关于public.xml中未定义的公共符号问题。通过复制母包中的bool.xml文件到融合的APK中,成功解决了编译失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I: Using Apktool 
I: Smaling smali folder into classes.dex...
I: Building resources...
W: F:\PackageTemp\102294\game\res\values\public.xml:1063: error: Public symbol bool/abc_config_actionMenuItemAllCaps declared here is not defined.
W: F:\PackageTemp\102294\game\res\values\public.xml:1064: error: Public symbol bool/abc_config_closeDialogWhenTouchOutside declared here is not defined.
W: F:\PackageTemp\102294\game\res\values\public.xml:1065: error: Public symbol bool/abc_config_showMenuShortcutsWhenKeyboardPresent declared here is not defined.
brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\cygwin64\tmp\brut_util_Jar_1721065132948480744.tmp, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 22, --version-code, 30, --version-name, 2.3.3, -F, C:\cygwin64\tmp\APKTOOL1951957515533477955.tmp, -0, arsc, -0, properties, -0, zip, -0, arsc, -I, d:\frame_2.0.1\1.apk, -S, F:\PackageTemp\102294\game\res, -M, F:\PackageTemp\102294\game\AndroidManifest.xml]
    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:501)
    at brut.androlib.Androlib.buildResources(Androlib.java:435)
    at brut.androlib.Androlib.build(Androlib.java:334)
    at brut.androlib.Androlib.build(Androlib.java:270)
    at brut.apktool.Main.cmdBuild(Main.java:229)
    at brut.apktool.Main.main(Main.java:86)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\cygwin64\tmp\brut_util_Jar_1721065132948480744.tmp, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 22, --version-code, 30, --version-name, 2.3.3, -F, C:\cygwin64\tmp\APKTOOL1951957515533477955.tmp, -0, arsc, -0, properties, -0, zip, -0, arsc, -I, d:\frame_2.0.1\1.apk, -S, F:\PackageTemp\102294\game\res, -M, F:\PackageTemp\102294\game\AndroidManifest.xml]
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:444)
    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:487)
    ... 5 more
Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\cygwin64\tmp\brut_util_Jar_1721065132948480744.tmp, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 22, --version-code, 30, --version-name, 2.3.3, -F, C:\cygwin64\tmp\APKTOOL1951957515533477955.tmp, -0, arsc, -0, properties, -0, zip, -0, arsc, -I, d:\frame_2.0.1\1.apk, -S, F:\PackageTemp\102294\game\res, -M, F:\PackageTemp\102294\game\AndroidManifest.xml]
    at brut.util.OS.exec(OS.java:95)
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:438)
    ... 6 more

 

解决方式:

把母包里的bool.xml拷贝到融合的apk里

W: F:\PackageTemp\102294\game\res\values\public.xml:1063: error: Public symbol bool/abc_config_actionMenuItemAllCaps declared here is not defined.
W: F:\PackageTemp\102294\game\res\values\public.xml:1064: error: Public symbol bool/abc_config_closeDialogWhenTouchOutside declared here is not defined.
W: F:\PackageTemp\102294\game\res\values\public.xml:1065: error: Public symbol 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值