"Aapt" IOException error = 2, Keine solche Datei oder kein solches Verzeichnis "Warum kann ich meinen Gradle nicht auf Jenkins bauen?

126

Ich habe ein kleines Problem.

Das Problem:
Ich versuche, einen Gradle meines Android-Projekts auf Jenkins zu erstellen, und jetzt stehe ich auf diesem Problem, das ich nicht lösen kann. Während des Baus habe ich folgende Fehlermeldung:

:Client:mergeDebugResources
/var/lib/jenkins/workspace/LMA-Client/Client/build/exploded-aar/com.google.android.gms/play-services/3.1.59/res/drawable-hdpi/common_signin_btn_text_focus_light.9.png: 
Error: Cannot run program "/opt/android-sdk/build-tools/19.0.1/aapt": java.io.IOException: error=2, No such file or directory
:Client:mergeDebugResources FAILED

Sie können sich vorstellen, dass dieses Aapt ... ja, es ist da und das PNG ... es ist auch da, also muss der Fehler woanders sein.

Die Lösung?
Jetzt habe ich 1-2 Stunden gegoogelt, auf dieser großartigen Website gesurft und festgestellt, dass ich die ia32-libs installieren muss, wenn Jenkins auf einem 64-Bit-System ausgeführt wird. So wie das:

sudo apt-get install ia32-libs

Jetzt habe ich das versucht und konnte es nicht installieren:

The following packages have unmet dependencies:
 ia32-libs : Depends: ia32-libs-multiarch

Also habe ich versucht, "ia32-libs-multiarch" zu installieren , aber noch einmal:

The following packages have unmet dependencies:
 ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed
                            Depends: libsane:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Endlich
also endlich stehe ich hier und frage mich: Ist das wirklich die Lösung? Und warum sollte ich dieses Ding installieren? Und wie? Bitte helfen Sie mir, ich glaube, ich bin nicht weit von der Antwort entfernt.

Neifen
quelle
1
Mögliches Duplikat des Fehlers: Kann aapt
sschuberth
@sschuberth Nein, aber es ist ähnlich. Die Lösung in diesem anderen Thread hat bei mir nicht funktioniert. Ein mögliches Duplikat ist dieses: stackoverflow.com/questions/18928164/…
Neifen

Antworten:

335

Ich hatte den folgenden ähnlichen Fehler unter Ubuntu 13.10:

Cannot run program "/usr/local/android-sdk-linux/build-tools/19.0.3/aapt": error=2, No such file or directory

Und diese Antwort hat es für mich behoben:

Um aapt zum Laufen zu bringen (dies hat auch meine Probleme mit dem AVD behoben), installieren Sie einfach diese beiden Pakete:

sudo apt-get install lib32stdc++6 lib32z1
robd
quelle
23
Das hat das Problem für mich in Ubuntu 14.04
Mike Chelen
2
Das hat es auch für mich in Ubuntu 14.04 behoben.
MinceMan
1
Das Erstellen von Chrome unter Ubuntu 14.04 hat mir geholfen, den gleichen Fehler zu bekommen, den ich mit aapt hatte. Hinweis ldd aapt funktioniert jetzt und zeigt Abhängigkeiten an. Zuvor wurde angegeben, dass das Programm keine dynamische ausführbare Datei "keine dynamische ausführbare Datei" sei. Nun zum nächsten Problem!
guyland123
Amen! Beheben Sie auch Node Exec Aapt Probleme
CesarTrigo
Mein Problem wurde auch unter Ubuntu 14.04 behoben, während ein ionisches Framework erstellt wurde.
Khai Dinh
12

Für Arch 64-Benutzer müssen Sie zuerst Multilib für Pacman aktivieren und dann die 32-Bit-Pakete installieren:

sudo pacman -Syv lib32-libstdc++5 lib32-zlib
Cheezmeister
quelle
Arbeitete wie ein Zauber (4.16.13-2-ARCH), ich musste nur mein x64-Bild durch x86 eins ersetzen
Sojawod
6

Für Fedora-Benutzer:

sudo dnf install zlib.i686 libstdc++.i686
Julien H. - SonarSource-Team
quelle
Vielen Dank, dass ich diese Antwort bekommen habe und sie funktioniert.
Vishwesh Jainkuniya
Zum Glück ist mein Centos genauso wie Fedora :)
datdinhquoc
-2

Ich habe ndk im SDK-Manager installiert und es hat funktioniert.

Arbeiter
quelle
1
SDK Manager -> Systemeinstellungen -> Android SDK -> Kontrollkästchen "Android NDK" - 1.0.0 installiert. Ich erhalte immer noch den Fehler des OP.
JosephK