2015-09-21 15 views
7

Ich versuche, eine Debug-apk-Datei mit gradle auf Linux Headless-Server mit ./gradlew assembleDebug zu erstellen, aber ich bekomme folgende FehlerErstellen Debug apk-Datei mit gradle auf Headless-Server Fehler

java.io.IOException: Cannot run program "/usr/android/android-sdk-linux/build-tools/23.0.1/aapt": java.io.IOException: error=2, No such file or directory 
     at java.lang.ProcessBuilder.start(ProcessBuilder.java:494) 
     at com.android.builder.png.AaptProcess$Builder.start(AaptProcess.java:138) 
     at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:96) 
     at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:188) 
     at java.lang.Thread.run(Thread.java:701) 
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:476) 
     ... 4 more 
* What went wrong: 
Execution failed for task ':app:mergeDebugResources'. 
> Crunching Cruncher abc_btn_radio_to_on_mtrl_000.png failed, see logs 
+1

Hat Ihr Server haben 'aapt' in der Lage installiert es gibt? – Buddy

+0

Ja, ich finde es. –

+0

Hat Ihr Erstellungsbenutzer die richtigen Berechtigungen zum Ausführen der Datei? – Buddy

Antwort

12

hatte ich die gleiche Problem beim Kompilieren einer App mit Gradlew auf einem Linux-Server. Kurz gesagt, die Anwendung existiert, aber Sie erhalten einen Fehler, wenn Sie versuchen, es auszuführen.

Die folgende Lösung für mich gearbeitet: https://superuser.com/questions/892945/no-such-file-or-directory-when-executing-an-existing-file

In meinem Fall ist die Anwendung nicht läuft, weil es einige 32-Bit-Abhängigkeiten fehlen. Laut der Google-Dokumentation unter: http://developer.android.com/sdk/installing/index.html?pkg=tools (Unter [Anweisungen für alle Plattformen anzeigen] -> Fehlerbehebung Ubuntu) sollten Sie libncurses5: i386, libstdC++ 6: i386 und zlib1g: i386 für Ubuntu 13.10 und höher installieren.

sudo dpkg --add-architecture i386 
sudo apt-get update 
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 

Oder installieren ia32-libs für frühere Versionen von Ubuntu

apt-get install ia32-libs 
+0

Ich löste mein Problem vor 5 Tagen, aber ich vergaß, die Lösung zu erwähnen, ich löste es durch Hinzufügen der fehlenden Bibliotheken, jetzt funktioniert es wie ein Charme ... danke –