2017-12-04 10 views
0

apktファイルを逆コンパイルするときに、以下のコマンドを使用してapkファイルをデコンパイルしようとしていますが、Androidマニフェストをデコードできず、例外がスローされます。私は別のアプリケーションでそれをテストし、常に同じ例外を取得します。私のjreのlibパス(つまり、/ usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext /)にxmlpull-1.1.3.1、xmlpull_1_0_5、およびkxml2のjarファイルがあります。 CLASSPATH内のパス。どうすれば解決できますか? xmlpullで工場出荷時のクラスをロードできない

apktool d uk.co.houseoffraser.apk 
I:リソースとデコードのAndroidManifest.xml:ロードリソーステーブル...
I:uk.co.houseoffraser.apk
IにApktool 2.3.0を使用しました。スレッドで..
例外 "メイン" brut.androlib.AndrolibException:brut.androlib.res.dでbrut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:145) でXML をデコードできませんでしたecoder.XmlPullStreamDecoder.decodeManifest brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:140)で(XmlPullStreamDecoder.java:153) brut.androlib.res.AndrolibResources.decodeManifestWithResourcesで (AndrolibResources.java:209) brut.apktool.Main.cmdDecodeでbrut.androlib.ApkDecoder.decode(ApkDecoder.java:113) でbrut.androlib.Androlib.decodeManifestWithResources(Androlib.java:137) (Main.java:160) ででbrut.apktool.Main.main(Main.java:72)
原因:org.xmlpull.v1.XmlPullParserException:ファクトリクラスをロードできませんでした(デフォルトまたは完全実装の場合でも)。ネストされた例外がある:org.xmlpull.v1.XmlPullParserFactory.newInstanceでorg.xmlpull.v1.XmlPullParserFactory.newInstanceで org.kxml2.io.XmlReader(XmlPullParserFactory.java:225) (XmlPullParserFactory.java:76) で(XmlPullWrapperFactory.java:52) at org.xmlpull.v1.wrapper.XmlPullWrapperFactory.newInstance(XmlPullWrapperFactory.java:29) at brut.androlib.res.decoder.XmlPullStreamDecoder.decode (XmlPullStreamDecoder.java:49) ... 7もっと

答えて

0

私は最終的に、xmlpull_1_0_5.jarはデフォルトのXMLパーサーである、xmlpullジャーなどというxmlpull-1.1.3.1.jar発見これは、CLASSPATHにKXML2パーサーしかない場合でも常に使用されます。 jre拡張ライブラリ(/ usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext /など)からxmlpullパーサーを削除すると、問題が解決されます。 CLASSPATHに他のxmlパーサがある場合でも、KXML2 jarファイルのみがjreライブラリにある限り、動作します。

関連する問題