Android-studio 3.0-beta6 aapt 在 libc++.so 中失败

Android-studio 3.0-beta6 aapt failed in libc++.so

更新到 Android-Studio beta-6 和 gradle 到 3.0.0-beta6 后,我在 mergeDebugResources 任务中开始出现 aapt 错误:

:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mergeDebugResources'.
> /tmp/aapt2_2254604547909969947/libc++.so: /tmp/aapt2_2254604547909969947/libc++.so: failed to map segment from shared object

文件信息:

file /tmp/aapt2_2254604547909969947/libc++.so
/tmp/aapt2_2254604547909969947/libc++.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped, with debug_info

OS: Linux 4.8.17-r2

出了什么问题以及如何解决?

我解决了。由于 /tmp 目录中的 noexec 标志,我得到了这个错误 failed to map segment from shared object

tmpfs /tmp tmpfs rw,noatime,size=2G,nodev,mode=1777,noexec,nosuid

所以我不得不删除这个标志并重新挂载分区。