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

Creating debug apk file using gradle on headless server error

我正在尝试使用 ./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.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 

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

以下解决方案对我有用: 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 (在 [Show instructions for all platforms] -> Troubleshooting Ubuntu 下)您应该为 Ubuntu 13.10 及更高版本安装 libncurses5:i386、libstdc++6:i386 和 zlib1g:i386。

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

或者为 Ubuntu

的早期版本安装 ia32-libs
apt-get install ia32-libs