2013-08-07 78 views
6

apkをデバッグモードでデコードし、デバッグモードで新しいapkをビルドしようとすると、次の例外が発生します。私は混乱しており、私は何をすべきではありません。 私が次のことをしようとすると、まったく同じ結果が得られます。brut.androlib.AndrolibExceptionを解決するにはどうすればいいですか?

$java -jar ./apktool.jar d -d meet.apk out 
$java -jar ./apktool.jar b -d out meet.apk 

またはこの

$./apktool d -d meet.apk out 
$./apktool b -d out meet.apk 

私は次のように出力

I: Checking whether sources has changed... 
I: Smaling... 
I: Checking whether resources has changed... 
I: Building resources... 
Exception in thread "main" brut.androlib.AndrolibException:  brut.common.BrutException:  could not exec command: [aapt, p, -F, /tmp/APKTOOL4160944918573250929.tmp, -I, /root/apktool/framework/1.apk, -S, /home/lab2alex/Documents/out/res, -M, /home/lab2alex/Documents/out/AndroidManifest.xml] 
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193) 
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301) 
at brut.androlib.Androlib.buildResources(Androlib.java:248) 
at brut.androlib.Androlib.build(Androlib.java:171) 
at brut.androlib.Androlib.build(Androlib.java:154) 
at brut.apktool.Main.cmdBuild(Main.java:174) 
at brut.apktool.Main.main(Main.java:59) 
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL4160944918573250929.tmp, -I, /root/apktool/framework/1.apk, -S, /home/lab2alex/Documents/out/res, -M, /home/lab2alex/Documents/out/AndroidManifest.xml] 
at brut.util.OS.exec(OS.java:87) 
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191) 
... 6 more 
Caused by: java.io.IOException: Cannot run program "aapt": java.io.IOException: error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:488) 
at java.lang.Runtime.exec(Runtime.java:610) 
at java.lang.Runtime.exec(Runtime.java:483) 
at brut.util.OS.exec(OS.java:78) 
... 7 more 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164) 
at java.lang.ProcessImpl.start(ProcessImpl.java:81) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:470) 
... 10 more 

を取得し、私は何をすべき

+1

'しようとしています何を開示することができ、パッケージのパスを表し、プログラム "aapt"を実行できません:java.io.IOException:error = 2、そのようなファイルやディレクトリはありません。 - これは始まりです...私はこのJAR/APKについて何も知らないが、そのファイルが存在します。 – Makoto

+0

はい、私は理解できないことが起こっている理由です。 apktoolは問題なく動作することが証明されています(私の場合を除いて明白です)。このエラーはapktool jarファイルからのものです。 – eskoba

答えて

0

これは、あなたがAAPTの最新バージョンを使用している まずチェックしました。 2番目にapktoolの最新バージョンを使用していることを確認してください。このベータ版はまったく問題ありません。http://connortumbleson.com/2013/10/apktool-2-0-0-beta-7-released/ 3番目に正しいバージョンのjavaを使用していることを確認してください。 一部のLinuxのディストリビューション上の問題のためのフォースと、おそらくソリューションは、これらのlibsが必要になります。 glibcの zlibの のlibstdC++ 47

フィフス常に供給--frameパスし、正しい権限を持っている何かに設定。

1

v1を使用していてv2にアップグレードした場合は、手動でフレームワークファイルを削除してみてください。

ウィンドウズ8では、通常C:\Users\YourName\apktool\framework\1.apkです。

ファイルを作成すると、ファイルを再生成する必要があります。

+0

そのフォルダにはapkはありません! –

+0

私はこれを試して、 '1.apk'ファイルを再生成しました。また、 'apktool if file.apk'を実行すると' 127.apk'が生成されますが、逆コンパイル時には1.apk – Fabiotk

0

最新のバージョンのapktoolをお試しください。時々私は、この種のコードで立ち往生しています後にjob.Butを行うことができ、管理者として実行して、コマンドプロンプトを開い

protected void onCreate(android.os.Bundle paramBundle) 
    { 
    // Byte code: 
    // 0: iconst_0 
    // 1: istore_2 
    // 2: aload_0 
    // 3: aload_1 
    // 4: invokespecial 755 ****/***/***/c:onCreate (Landroid/os/Bundle;)V 
    // 7: aload_0 
    // 8: invokevirtual 759 ****/***/***/:getApplicationContext()Landroid/content/Context; 
    // 11: invokestatic 764 com/facebook/accountkit/AccountKit:initialize (Landroid/content/Context;)V 
    // 14: invokestatic 201 ****/***/***/e:a ()****/***/***/e; 
    // 17: invokevirtual 766 ****/***/***/e:b ()I 
    // 20: istore 14 
    // 22: iload 14 
    // 24: ifle +13 -> 37 
    // 27: iload 14 
.............. 
} 

***/***/**は私がデコードする:)

関連する問題