Создание файла отладки apk с помощью gradle на безголовом сервере ошибка


Я пытаюсь создать отладочный файл apk с помощью gradle на Linux headless server using ./gradlew assembleDebug но я получаю следующую ошибку

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 7

1 ответ:

У меня была та же проблема при компиляции приложения с помощью gradlew на сервере Linux. Короче говоря, приложение существует, но при попытке его выполнения вы получаете ошибку.

Для меня сработало следующее решение: https://superuser.com/questions/892945/no-such-file-or-directory-when-executing-an-existing-file

В моем случае приложение не запускается, потому что в нем отсутствуют некоторые 32-битные зависимости. Согласно документации google по адресу: http://developer.android.com/sdk/installing/index.html?pkg=tools (В разделе [показать инструкции для всех платформ] - > Устранение неполадок Ubuntu) вы должны установить libncurses5:i386, libstdc++6:i386 и zlib1g:i386 для Ubuntu 13.10 и выше.

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

Или установить ia32-libs для более ранних версий Ubuntu

apt-get install ia32-libs