Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ubuntu 15.10 64位构建Android源代码5.0版_Android_Linux_Ubuntu_Android Source - Fatal编程技术网

ubuntu 15.10 64位构建Android源代码5.0版

ubuntu 15.10 64位构建Android源代码5.0版,android,linux,ubuntu,android-source,Android,Linux,Ubuntu,Android Source,如何解决这个问题?当我用 “make-j4”,它导致了一个问题。 这是错误日志: Install: out/host/linux-x86/bin/acp Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y prebuilts/misc/linux-x86/bison/bison -d -o out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_langua

如何解决这个问题?当我用 “make-j4”,它导致了一个问题。 这是错误日志:

Install: out/host/linux-x86/bin/acp
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison -d  -o out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/content/EventLogTags.java <= frameworks/base/core/java/android/content/EventLogTags.logtags
prebuilts/misc/linux-x86/bison/bison: m4 子进程失败
build/core/binary.mk:539: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 1
make: *** 正在等待未完成的任务....
frameworks/base/tools/aidl/aidl_language_l.l:55: warning, 无法匹配规则
flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed
build/core/binary.mk:576: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 1
make: *** Deleting file 'out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp'
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/speech/tts/EventLogTags.java <= frameworks/base/core/java/android/speech/tts/EventLogTags.logtags
安装:out/host/linux-x86/bin/acp

Yacc:aidl仔细检查您是否安装了所有必需的软件包

在我的情况下,在Ubuntu 18.04中构建棉花糖
6.0.1_r1
时,我会遇到类似的错误

如果您遇到类似的错误,如下所示:

build/core/binary.mk:646: recipe for target 'out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp' failed
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Aborted (core dumped)
仔细看这行,它是一个
内核转储的
,所以我使用
coredumpctlist
,用G导航到列表的末尾,然后找出内核转储执行路径(右列)是
prebuildls/misc/linux-x86/flex/flex-2.5.39

预构建的
文件显示:

xb@dnxb:~/my_android_src/prebuilts/misc/linux-x86/flex$ cat PREBUILT 
The objects in this prebuilt directory can be rebuilt
using the source archive hosted at

http://sourceforge.net/projects/flex/files/

Commands:

./configure
make CFLAGS="-static" LDFLAGS="-static"
# (Disregard the errors at the end of the build)
rm flex
make CFLAGS="-static" LDFLAGS="-static" flex
# Copy the linker command line, replace it with static libm.a
gcc  -static  -static -o flex ccl.o dfa.o ecs.o scanflags.o gen.o main.o misc.o nfa.o parse.o scan.o skel.o sym.o tblcmp.o yylex.o options.o scanopt.o buf.o tables.o tables_shared.o filter.o regex.o  /usr/lib/x86_64-linux-gnu/libm.a
xb@dnxb:~/my_android_src/prebuilts/misc/linux-x86/flex$ 
就是这样,前两行说,如果出现问题,您可能需要重新构建自己,因为这个
flex-2.5.39
binary是在另一个平台上预构建的

因此,只需解压该目录的
flex-2.5.39.tar.gz
,转到解压的
flex-2.5.39
目录,然后按照上面的
预构建的
指令进行操作

简而言之,您需要执行以下步骤:

    cd <ANDROID_TREE_DIR>/prebuilts/misc/linux-x86/flex
    tar -zxvf flex-2.5.39.tar.gz
    cd flex-2.5.39
    make CFLAGS="-static" LDFLAGS="-static"
    rm flex
    make CFLAGS="-static" LDFLAGS="-static" flex
    /bin/bash ./libtool --tag=CC   --mode=link gcc  -static  -static -o flex ccl.o dfa.o ecs.o scanflags.o gen.o main.o misc.o nfa.o parse.o scan.o skel.o sym.o tblcmp.o yylex.o options.o scanopt.o buf.o tables.o tables_shared.o filter.o regex.o lib/libcompat.la /usr/lib/x86_64-linux-gnu/libm.a
    cd ..
    cp flex-2.5.39/flex .
    mv flex flex-2.5.39
    ls -la 
        flex-2.5.39 #### <<- YOUR new generated file
        flex-2.5.39.tar.gz
        MODULE_LICENSE_BSD_LIKE
        NOTICE
        PREBUILT

嗨,泰克斯,这是我的错。我不会安装一些依赖项。我用这个命令来解析它:
$sudo apt get install git core gnupg flex bison gperf build essential\zip curl zlib1g dev gcc multilib g++-multilib libc6-dev-i386\lib32ncurse5 dev x11 proto core dev libx11 dev lib32z dev ccache\libgl1 mesa dev libxml2 utils xsltproc解压
xb@dnxb:~/my_android_src$ cp prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld ../ld_bk #backup android source's ld first
xb@dnxb:~/my_android_src$ rm prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld #remove android source's ld
xb@dnxb:~/my_android_src$ ln -s /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld #create symlink for android source's ld to system's ld.gold