2016-10-10 3 views
0

Ich installierte Ubuntu 16.04 von Vagrant. Allerdings, wenn ich Android 7.0 ausführen, passiert der folgende Fehler.Android 7.0 Build Fehler

Gibt es einen Vorschlag oder eine Empfehlung für mich?

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 

Antwort

1

Ich denke, es ist so gleich wie Invalid argument for read-write mmap?

Wenn Sie Freigabeordner sein müssen, bitte build/tools/Ijar/zip.cc

@@ -994,7 +994,7 @@ ZipBuilder* ZipBuilder::Create(const char* zip_file, u8 estimated_size) { 
    (u8) std::numeric_limits<size_t>::max()) 
    void *zipdata_out = mmap(NULL, mmap_length, PROT_WRITE, 
-       MAP_SHARED, fd_out, 0); 
+       MAP_SHARED | MAP_ANONYMOUS, fd_out, 0); 
    if (zipdata_out == MAP_FAILED) { 
     fprintf(stderr, "output_length=%llu\n", estimated_size); 
     return NULL; 

https://groups.google.com/forum/#!topic/android-building/qXsk-YpMdYo vielleicht als gleiche ändern wie du.

Ich hoffe, es ist nützlich.

+0

das Format ist err.please ändern Sie den Code in ZipBuilder :: Create() Methode: MAP_SHARED -> MAP_SHARED | MAP_ANONYMOUS – user7063108

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/14077868) –

+0

Danke Jignesh Ansodariya. Der wesentliche Teil ist Ijar exe Verwendung mmap in Build/Tools/Ijar/zip.cc.Während Sie AndroidN auf VM, wenn die Ordner befindet sich im Freigabeordner, es würde einen Fehler in mmap geben. Sie können den Code: mmap (xxx, xxx, MAP_SHARED, xxx) in mmap (xxx, xxx, MAP_SHARED | MAP_ANONYMOUS, xxx) in der ZipBuilder :: Create() -Methode korrigieren Ich denke, es wird in Ordnung sein, oder sonst müssen Sie Code in den Ordner ohne Freigabe verschieben. Tut mir leid, mein Englisch ist schlecht. – user7063108

Verwandte Themen