问题描述
今天,当我使用apktool反编译一些apk时,出现以下错误:
I: Using Apktool 2.4.1 on 025A.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\potter\AppData\Local\apktool\framework\1.apk
Exception in thread "main" java.lang.NullPointerException
at java.io.Writer.write(Writer.java:157)
at org.xmlpull.renamed.MXSerializer.attribute(MXSerializer.java:631)
at org.xmlpull.v1.wrapper.classic.XmlSerializerDelegate.attribute(XmlSerializerDelegate.java:106)
at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:84)
at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:142)
at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:154)
at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:162)
at brut.androlib.res.AndrolibResources.decodeManifestWithResources(AndrolibResources.java:204)
at brut.androlib.Androlib.decodeManifestWithResources(Androlib.java:134)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:122)
at brut.apktool.Main.cmdDecode(Main.java:170)
at brut.apktool.Main.main(Main.java:76)
但是同时,我可以使用aapt2 dump badging 025A.apk
来获取程序包名称。
解决方法
根据this issue,通过实验降级到2.4.0可以缓解此问题。