„Aapt” IOException error = 2, Brak takiego pliku lub katalogu. „Dlaczego nie mogę zbudować mojego gradle na jenkins?

126

Mam mały problem.

Problem:
Próbuję zbudować wersję mojego projektu Android na Jenkins i teraz stoję na tym problemie, którego nie mogę rozwiązać. Podczas budowy mam ten komunikat o błędzie:

: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

Możesz sobie wyobrazić, że to aapt ... tak, jest tam i png ... też tam jest, więc błąd musi być gdzie indziej.

Rozwiązanie?
Teraz szukałem w Google 1-2 godzin, surfowałem po tej wspaniałej stronie i odkryłem, że jeśli Jenkins działa w systemie 64-bitowym, muszę zainstalować ia32-libs. Tak:

sudo apt-get install ia32-libs

teraz próbowałem i nie mogłem tego zainstalować:

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

więc próbowałem zainstalować „ia32-libs-multiarch” , ale ponownie:

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.

Wreszcie w
końcu stoję tutaj i pytam: czy to naprawdę jest rozwiązanie? A dlaczego mam to zainstalować? I jak? Więc proszę, pomóż mi, myślę, że nie jestem daleko od odpowiedzi.

Neifen
źródło
1
Możliwy duplikat błędu: Nie można uruchomić aapt
sschuberth
@sschuberth Nie, ale jest podobny. Rozwiązanie w tym drugim wątku nie działało dla mnie. Możliwy duplikat to ten: stackoverflow.com/questions/18928164/ ...
Neifen

Odpowiedzi:

335

Miałem następujący podobny błąd na Ubuntu 13.10:

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

I ta odpowiedź naprawiła to dla mnie:

Aby aapt działał (rozwiązało to również moje problemy z avd), po prostu zainstaluj te dwa pakiety:

sudo apt-get install lib32stdc++6 lib32z1
robd
źródło
23
To rozwiązało problem w Ubuntu 14.04
Mike Chelen
2
To naprawiło to również dla mnie w Ubuntu 14.04.
MinceMan
1
budowanie Chrome na Ubuntu 14.04 i pomogło mi to przez ten sam błąd, który miałem z aapt. Uwaga ldd aapt teraz działa i pokazuje zależności. Wcześniej stwierdzono, że program nie jest dynamicznym plikiem wykonywalnym, „a nie dynamicznym plikiem wykonywalnym”. A teraz następny problem!
guyland123
Amen! także napraw problemy z wykonaniem węzła
CesarTrigo
Naprawiono również mój problem w Ubuntu 14.04, podczas uruchamiania jońskiej kompilacji frameworka.
Khai Dinh
12

W przypadku użytkowników Arch 64 należy najpierw włączyć multilib dla pacmana, a następnie zainstalować pakiety 32-bitowe:

sudo pacman -Syv lib32-libstdc++5 lib32-zlib
Cheezmeister
źródło
Działało jak urok (4.16.13-2-ARCH), po prostu musiałem zastąpić mój obraz x64 jednym x86
soywod
6

Dla użytkowników Fedory:

sudo dnf install zlib.i686 libstdc++.i686
Julien H. - Zespół SonarSource
źródło
Dzięki dużo wyszukiwania, mam tę odpowiedź i działa.
Vishwesh Jainkuniya,
na szczęście mój centos jest taki sam jak fedora :)
datdinhquoc
-2

Zainstalowałem ndk w menedżerze sdk i zadziałało.

pracownik
źródło
1
Menedżer SDK -> Ustawienia systemowe -> Android SDK -> Pole wyboru „Android NDK” - 1.0.0 Zainstalowano. Nadal otrzymuję błąd OP.
JosephK,