web-dev-qa-db-fra.com

apktool build apk échoue

Je rencontre des problèmes très énervants avec le problème d'application apktool ... Je ne comprends pas ce que je fais mal, ni quel est le problème ... J'ai essayé ceci sur debian, et sur linux mint. J'ai utilisé différentes versions d'apktool, 

entraînant la même erreur:

I: Checking whether sources has changed...
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/APKTOOL3630495287059303807.tmp, -I, /home/awesomename/apktool/framework/1.apk, -S, /home/awesomename/out/./res, -M, /home/awesomename/out/./AndroidManifest.xml]
    at brut.androlib.res.AndrolibResources.aaptPackage(Unknown Source)
    at brut.androlib.Androlib.buildResourcesFull(Unknown Source)
    at brut.androlib.Androlib.buildResources(Unknown Source)
    at brut.androlib.Androlib.build(Unknown Source)
    at brut.androlib.Androlib.build(Unknown Source)
    at brut.apktool.Main.cmdBuild(Unknown Source)
    at brut.apktool.Main.main(Unknown Source)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3630495287059303807.tmp, -I, /home/windows/apktool/framework/1.apk, -S, /home/windows/out/./res, -M, /home/windows/out/./AndroidManifest.xml]
    at brut.util.OS.exec(Unknown Source)
    ... 7 more
Caused by: Java.io.IOException: Cannot run program "aapt": error=2, No such file or directory
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:1041)
    at Java.lang.Runtime.exec(Runtime.Java:617)
    at Java.lang.Runtime.exec(Runtime.Java:485)
    ... 8 more
Caused by: Java.io.IOException: error=2, No such file or directory
    at Java.lang.UNIXProcess.forkAndExec(Native Method)
    at Java.lang.UNIXProcess.<init>(UNIXProcess.Java:135)
    at Java.lang.ProcessImpl.start(ProcessImpl.Java:130)
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:1022)
    ... 10 more

Il semble qu’il ne puisse pas utiliser aapt, mais j’ai lu à propos de apktool ..__ Et il semble qu’aapt est construit dans apktool, pourquoi ne fonctionne-t-il pas? 

20
user3046636

Il semble y avoir un problème dans la construction des ressources lors de la recompilation de l’apk . Ce que vous pouvez faire est, lorsque vous décompilez votre apk, utilisez cette commande 

apktool d -f -r apkfilename.apk

ici, -f remplace le code de l'apk précédemment décompilé et -r ignore la décompilation des ressources.

cela empêcherait les ressources d'être décompilées et copiera simplement les mêmes ressources lorsque vous recompilez l'apk.

49

Si vous utilisez v1 et que vous avez maintenant mis à niveau vers v2, essayez de supprimer manuellement le fichier framework.

Sur Windows 8, il est normalement à C:\Users\YourName\apktool\framework\1.apk.

Le fichier doit être régénéré une fois que vous essayez de construire quelque chose.

5
Michael Litvin

Mon problème a été résolu en supprimant\framework\1.apk, en effectuant une sauvegarde des fichiers que j'ai modifiés, en supprimant le répertoire et en décompilant à nouveau le fichier * .apk, etc ... (sous Linux, le chemin est home/[ utilisateur]/apktool/...). Après la mise à jour, apktool a toujours chargé l'ancienne table de ressources. N

2
Ferenc

Cela ressemble certainement au problème aapt PATH que j'avais depuis un certain temps. Avez-vous ajouté aapt à PATH? Si vous avez toujours des problèmes, j’ai fabriqué un bon kit apk en bash pour éviter tous ces problèmes de dépendance. Il supporte apktool, signapk, zipalign, adb, fastboot et heimdall. Vérifiez-le. Tout ce dont vous avez besoin est d’une installation Java actuelle.

http://forum.xda-developers.com/Android/development/toolkit-apk-munky-rench-t3026757/post58747626#post58747626

1
mike the inkman

Je rencontre juste le même problème quand je lance apktool d foo.apk (succès décompilé) puis apktool b foo (la recompilation a échoué avec une erreur similaire).

L'outil apktool ci-dessus a été installé via Sudo apt-get install apktool sur Kali Linux.

La solution était donc le site officiel de visites apktool, par exemple. https://connortumbleson.com/2017/01/23/apktool-v2-2-2-released/ (c'est la dernière version en ce moment), téléchargez-le, md5sum it md5sum apktool_2.2.2.jar à vérifier, puis renommez apktool_2.2.2.jar en apktool.jar.

Ensuite, faites Java -jar ./apktool.jar b foo pour recompiler, le succès sans erreur (l’apk généré situé à ./foo/dist/foo.apk).

0
林果皞

essayez de mettre le répertoire contenant le fichier aapt dans votre PATH. par exemple, export PATH = $ PATH: ./ ./apktool b 

0
xiangrong

essayez d'installer ia32-libs et mettez à jour la dernière version de apktool. (si possible redémarrer)

apktool nécessite "ia32-libs" qui n'est plus disponible après Ubuntu 12.04. installer ia32-libs 

Sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

Téléchargez la dernière version de apktools.jar - https://bitbucket.org/iBotPeaches/apktool/downloads

guide d'installation complet d'apktool - http://ibotpeaches.github.io/Apktool/install/

0
Aha

Il y a une raison de votre erreur. Essayez ces solutions pour résoudre votre problème.

1. Téléchargez le nouveau fichier JAR (modifié) à partir d'ici http://onephin.com/fix-apktool-dont-compile-dont-build-error/ 1.1 Extrayez-le . 1.2 Renommez-le en Apktool.jar 1.3 Placez ce fichier dans votre dossier Apktool.

2.Assurez-vous que votre dossier Apktool est dans/usr/local/bin (racine requise).

3.Assurez-vous que le fichier Apktool.jar est exécutable (chmod + x)

4.Assurez-vous d'installer Java correctement ou, si vous avez correctement installé Java, le chemin de votre variable peut être incorrect. Pour résoudre ce problème, réinstallez Java, puis définissez correctement le chemin de la variable. 

Pour en savoir plus sur la résolution de ce problème, rendez-vous sur http://onephin.com/fix-apktool-dont-compile-dont-build-error/

0
Kuldeep Makwana