ユーザーが.apkファイルをアップロードするとき、私はそれをデコードし、apk内のAndroidManifest.xmlファイルから情報を抽出する必要があります。 コマンドラインapktool decode BluetoothChat.apk
からこのコマンドを実行すると、すべて問題ありません。 出力:私はPHP exec()
機能を使用してWebコードからそれを実行しようとした場合webcode(php)からapktoolを実行する方法
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: /home/tashax/apktool/framework/1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
はしかし、私はエラーを取得します。それはI: Loading resource table from file: /home/tashax/apktool/framework/1.apk
で失敗します、私はフレームワーク/ 1.apkファイルを見つけることができないと思っています。これはセットアップの問題のようだ、誰かが似たようなことをしたか、私が逃しているものを知っている?ウェブから実行したときに ここのはapktoolからのエラーです:
I: Baksmaling...
I: Loading resource table...
I: Loaded.
W: Could not decode attr value, using undecoded value instead: ns=android, name=versionCode, value=0x00000001
W: Could not decode attr value, using undecoded value instead: ns=android, name=versionName, value=0x0000000d
Exception in thread "main" java.lang.NullPointerException at java.io.Writer.write(Writer.java:157)
at brut.androlib.res.util.ExtMXSerializer.writeAttributeValue(ExtMXSerializer.java:38)
at org.xmlpull.mxp1_serializer.MXSerializer.attribute(MXSerializer.java:673)
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.decode(XmlPullStreamDecoder.java:46)
at brut.androlib.res.decoder.ResStreamDecoderContainer.decode(ResStreamDecoderContainer.java:34)
at brut.androlib.res.decoder.ResFileDecoder.decode(ResFileDecoder.java:100)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:114)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
ありがとう!
ウェブからこれでいくつかの環境変数の設定が不足していると思われます – maxjackie
私はまだこの解決策を見つけることができません。 – t0x13
は[AXMLPrinter2.jar](https://code.google.com/p /android4me/downloads/detail?name=AXMLPrinter2.jar&can=2&q=)AndroidManifest.xmlファイルを読むか、ダンプバッジコマンドをダンプできます。 apktoolでは、通常のユーザーとして実行する必要があります。 – t0x13