我正在尝试使用以下命令从命令行构建 Android 应用程序:
./gradlew assemble
但出现以下错误。
java.io.IOException: Stream closed
at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433)
at java.io.OutputStream.write(OutputStream.java:116)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at com.android.builder.png.AaptProcess.shutdown(AaptProcess.java:143)
at com.android.builder.png.QueuedCruncher$1.destruction(QueuedCruncher.java:144)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:245)
at java.lang.Thread.run(Thread.java:745)
Exception while processing task java.lang.RuntimeException: AAPT process not ready to receive commands
AAPT err(Facade for 725518148): /opt/android-sdk-linux/build-tools/25.0.0/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/android-sdk-linux/build-tools/25.0.0/lib64/libc++.so)
Thread(png-cruncher_6): Stream closed
它说找不到`GLIBC_2.14'。我用命令检查了,
strings /lib/libc.so.6 | grep GLIBC
因此,正如预期的那样,GLIBC_2.14 在以下列表中不可用,
GLIBC_2.0
GLIBC_2.1
GLIBC_2.1.1
GLIBC_2.1.2
GLIBC_2.1.3
GLIBC_2.2
GLIBC_2.2.1
GLIBC_2.2.2
GLIBC_2.2.3
GLIBC_2.2.4
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
所以,我尝试安装 GLIBC_2.14,但无法在我的 Linux CentOS 6 上安装它。
Stackoverflow 上的一些线程建议升级构建工具和平台版本。我也这样做了。甚至重新安装了 Android SDK,但它似乎不起作用。
能否建议在 CentOS 6 上安装 GLIBC_2.14 的步骤?
最佳答案
问题已经解决。
首先,我按照本 link 中给出的步骤手动安装了 GLIBC 2.14。 .
我仍然面临这个问题。所以,我所做的是更改 /lib64/libc.so.6 的符号链接(symbolic link)。使其指向 /opt/glibc-2.14/lib/libc.so.6。
所以,基本上符号链接(symbolic link)是,
/lib64/libc.so.6 -> /opt/glibc-2.14/lib/libc.so.6
关于android - 在 CentOS 6 中从命令行构建 Android 应用程序时需要 GLIBC_2.14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442222/