Ubuntu 16.04下载Android 6.1源码,下载方式是通过官网上下载的。
1、openjdk 版本不对
解决:
2、/bin/bash: prebuilts/misc/linux-x86/bison/bison: 没有那个文件或目录
build/core/binary.mk:609: recipe for target 'out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp' failed
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
解决:
<1>sudo apt-get install bison
安装之后可能还会报错、/bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory 。原因可能是某些其他安装包没有安装
<2>sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
具体可以参看中Install the Build Packages这个章节
3、clang链接错误
解决:
<1> 在android源码文件下art/build/Android.common_build.mk这个文件中找到
# Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := true # 改为 ART_HOST_CLANG := false
endif
4、/bin/bash: xmllint: 未找到命令
build/core/Makefile:34: recipe for target 'out/target/product/generic/system/etc/apns-conf.xml' failed
make: *** [out/target/product/generic/system/etc/apns-conf.xml] Error 127
解决:
sudo apt-get install libxml2-utils
5、第一次使用make 直接编译源码,没有报错但是运行emulator提示没有找到命令,路径已经配置好。不知道原因,编译make sdk也没有通过,然后尝试的通过source ./build/envsetup.sh 之后用lunch 选择aosp_arm-eng 的序号只有在make -j8,make后面的参数跟电脑的cpu有关我的使用的是-j8,也可以-j2,2的倍数
Ubuntu 16.04 下载和编译Android 6.0 源码