0
我通过vagrant安装了Ubuntu 16.04。但是,当我运行make Android 7.0时,会发生以下错误。Android 7.0 Build Error
有任何建议或建议吗?
ninja: Entering directory `.'
[ 0% 39/34804] host Java: ahat (out/ho...A_LIBRARIES/ahat_intermediates/classes
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[ 0% 53/34804] Generating TOC: out/tar.../core-all_intermediates/classes.jar.to
FAILED: /bin/bash -c "(out/host/linux-x86/bin/ijar out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp) && (if cmp -s out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc ; then rm out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp ; else mv out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc ; fi)"
output_length=16459012
Unable to open output file out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp: Invalid argument
/bin/bash: line 1: 13460 Aborted (core dumped) (out/host/linux-x86/bin/ijar out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/classes.jar.toc.tmp)
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
格式为err.please修改ZipBuilder :: Create()方法中的代码:MAP_SHARED - > MAP_SHARED | MAP_ANONYMOUS – user7063108
虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [发表评论](/ review/low-quality-posts/14077868) –
感谢Jignesh Ansodariya。基本部分是ijar exe在build/tools/ijar/zip.cc中使用mmap。当你在VM上构建AndroidN时,如果文件夹位于共享文件夹中,则会出现关于mmap的错误。您可以在ZipBuilder :: Create()方法中将代码:mmap(xxx,xxx,MAP_SHARED,xxx)修复为mmap(xxx,xxx,MAP_SHARED | MAP_ANONYMOUS,xxx) ,我认为它会好的,否则你需要将代码移动到不共享文件夹。不过,我的英语水平很差。 – user7063108