在无头服务器错误上使用gradle创建调试apk文件

Moh*_*ker 7 android build headless gradle server

我正在尝试使用./gradlew assembleDebug在Linux无头服务器上使用gradle创建调试apk文件,但是我得到以下错误

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 
Run Code Online (Sandbox Code Playgroud)

小智 12

在Linux服务器上使用gradlew编译应用程序时遇到了同样的问题.简而言之,应用程序存在,但是当您尝试执行它时会出现错误.

以下解决方案适用于我:https: //superuser.com/questions/892945/no-such-file-or-directory-when-executing-an-existing-file

在我的情况下,应用程序不运行,因为它缺少一些32位依赖项.根据谷歌文档:http://developer.android.com/sdk/installing/index.html?pkg = tools (在[显示所有平台的说明] - > Ubuntu故障排除)你应该安装libncurses5:i386,libstdc ++ 6:用于Ubuntu 13.10及更高版本的i386和zlib1g:i386.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
Run Code Online (Sandbox Code Playgroud)

或者为早期版本的Ubuntu安装ia32-libs

apt-get install ia32-libs
Run Code Online (Sandbox Code Playgroud)