使用apktool反编译,出现brut.androlib.err.UndefinedResObject

昨天,由于开发需要,反编译一个apk。出现了

brut.androlib.err.UndefinedResObject: resource spec: 
 02. 0x010300dd 错误提示。

百度一下,

 发现一篇文章

http://www.cnblogs.com/lxshanye/p/4031303.html

是这么说的:

 

根据提示描述是找不到资源文件,应该是要反编译的APK文件用到了系统的一些资源。
 
解决办法:
 
从手机中导出framework-res.apk文件,该文件是/system/framework下面,把这个文件拷到跟apkTool同一个目录下,执行以下语句把资源文件加进来:
 
    apktool if framework-res.apk
 

执行完以后就可以把framework-res.apk导进来。此时再执行apktool d即可以正常反编译了。

 

然后,我果断把手机(华为荣耀6)接上usb线,打开360手机助手

在系统目录里面找到framework-res.apk,拷贝到电脑执行apktool if framework-res.apk

很不幸出现错误:

Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:
spec=0x01040308 string/lockscreen_carrier_default, config=[DEFAULT]
        at brut.androlib.res.data.ResType.addResource(ResType.java:66)
        at brut.androlib.res.data.ResType.addResource(ResType.java:55)
        at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:252)

又百度N次,有人说是apktool版本低了,用了apktool2.0.3也不行

百思不得其解,不得已,那了另外一台联想手机,拷贝了里面的

framework-res.apk,执行,这次" apktool if framework-res.apk
" 可以成功执行,但是

反编译还是失败。

 

I: Using Apktool 2.0.3 on 5.0.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Administrator\apktool\framework\1.
apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x01010462
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:59)

 

变成了提示:brut.androlib.err.UndefinedResObject

我日的。什么鬼。

又百度N次。

有人说要删除C:\Users\Administrator\apktool\framework里面的文件

果断删除。

居然成功了。

 

 

 

 

你可能感兴趣的:(手机软件开发)