2015-09-21 21 views
7

Sto cercando di creare un file di debug apk utilizzando Gradle sul server di headless Linux utilizzando assembleDebug ./gradlew ma ottengo errore seguenteCreazione di file apk di debug usando Gradle su errore del server senza testa

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

La vostra del server sono 'aapt' installato nella posizione specifica? – Buddy

+0

Sì, lo trovo. –

+0

L'utente di generazione ha le autorizzazioni corrette per eseguire il file? – Buddy

risposta

12

Ho avuto lo stesso problema durante la compilazione di un'app utilizzando gradlew su un server Linux. In breve, l'applicazione esiste, ma si verifica un errore quando si tenta di eseguirlo.

La seguente soluzione ha lavorato per me: https://superuser.com/questions/892945/no-such-file-or-directory-when-executing-an-existing-file

Nel mio caso, l'applicazione non funziona perché manca circa 32 dipendenze bit. Secondo la documentazione di google al numero: http://developer.android.com/sdk/installing/index.html?pkg=tools (Sotto [Mostra istruzioni per tutte le piattaforme] -> Risoluzione dei problemi di Ubuntu) è necessario installare libncurses5: i386, libstdC++ 6: i386 e zlib1g: i386 per Ubuntu 13.10 e versioni successive.

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

o installare ia32-libs per le versioni precedenti di Ubuntu

apt-get install ia32-libs 
+0

Ho risolto il mio problema 5 giorni fa ma ho dimenticato di menzionare la soluzione, l'ho risolto aggiungendo le librerie mancanti, ora funziona come un incantesimo ... grazie –