之前在做apk渠道打包的工作,使用的是国内友盟的工具,根据工作的需要,进行相应的修改,遇到过解包错误的问题,特记一笔。
测试的时候发现使用友盟的工具始终提示找不到AndroidManifest(下面简称manifest)。
测试的时候发现使用友盟的工具始终提示找不到AndroidManifest(下面简称manifest)。
看日志文件里面有相应的log信息,如下:
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:
spec=0x7f0b000e dimen/poster_imageview_width, config=-v13
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165
)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
5)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:315)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:50)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:43)
at brut.androlib.Androlib.getResTable(Androlib.java:44)
at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:120)
at brut.apktool.Main.main(Main.java:57)
使用第三方的反编译工具,提示反编译失败,不能提取出manifest文件,后来看网上也有不少人提到这个问题,但是没有什么解决办法。
后来尝试从google官网下载最新的apktool工具,再次测试,发现成功反编译出了文件。呵呵,看来任何工具都要与时俱进啊。