下载完成后差不多占用70G大小,因为我们后续不需要再进行分支切换与同步,所以我们可以把目录下的.repo文件夹给删除了,毕竟Mac的SSD容量宝贵,删除之后你会发现硬盘大小没有释放,这就有点尴尬了,这个问题目前也没找到解决的办法,我的方法是按照第一步创建一个新的分区,把内容拷贝进去,然后把旧的分区删了,这样空间就释放了。
编译源码 优化编译环境 设置 ccache要使用 ccache,请在源代码树的根目录下执行以下命令:
#export USE_CCACHE=1 #export CCACHE_DIR=/<path_of_your_choice>/.ccache #prebuilts/misc/darwin-x86/ccache/ccache -M 50G注意<path_of_your_choice>是你源码下载的根目录。
最后请将以下内容添加到 .bash_profile(或等同文件)中:
export USE_CCACHE=1 配置ANDROID_Java_HOME环境变量在~/.bash_profile中添加以下内容,前提必须是安装了JDK1.8:
export ANDROID_JAVA_HOME=$(/usr/libexec/java_home -v1.8) 设置XcodeSDK的版本执行以下命令,打开配置文件:
# vi build/soong/cc/config/x86_darwin_host.go查看darwinSupportedSdkVersions,这里列出了支持的sdk版本:
darwinSupportedSdkVersions = []string{ "10.10", "10.11", "10.12", }接着我们进入以下目录查看现有的XcodeSDK版本:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/这里我们选择10.11的版本,如果没有MacOSX10.11.sdk则去MacOSX-SDKs 中下载一个,解压到该目录,并把其他版本的删除,确保只保留一个就行了。
开始编译首先要把shell切换到bash(如果你使用的是zsh)
#chsh -s /bin/bash初始化环境:
#source build/envsetup.sh选择编译的分支:
#lunch会出现以下列表:
Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_arm64-eng 3. aosp_mips-eng 4. aosp_mips64-eng 5. aosp_x86-eng 6. aosp_x86_64-eng 7. aosp_car_arm-userdebug 8. aosp_car_arm64-userdebug 9. aosp_car_x86-userdebug 10. aosp_car_x86_64-userdebug ......Which would you like? [aosp_arm-eng]
要求输入对应的数字:
如果你想在你的Nexus上设备运行,请参照选择;
如果你只想在本机的虚拟机上运行,Mac系统的话选择aosp_x86-eng即可。
最后一步,编译:
#make -j6通过-jN参数来设置编译的并行任务数,以提高编译速度,在此前我的CPU核心数为6,这里N值最好选在6到12之间,这里我们设置6个并行任务进行编译。
这里需要注意的是,每次退出再进入命令行要执行以上命令之前,都要先执行:
#source build/envsetup.sh 编译中遇到的问题 问题1:Jack编译报错:communication error with Jack server原因:JACK编译器不支持多用户同时编译,其他用户在编译,端口被占用。
解决方法:
如下:修改以下两个配置文件中的端口号server.service.port和server.admin.port,比如都改为8096/8097:
~/.jack-settings
~/.jack-server/config.properties
注意:
两个文件中的端口号必须一致。
修改后的端口号必须是没有被使用的。
原因: 出现这个错误是由于电脑内存不足;
解决方法:在命令行分别执行以下三条语句,然后继续编译;
在log中出现BSION等字样;
原因:网上说这个bsion的一个bug;
解决方法:拉取新的分支,重新编译 bison:
如果这步骤发生错误了(比如之前删除了.repo文件夹)
这时候我们就把bison这个文件夹删除,下载一个新的:
解压后进入bison文件夹,执行:
# mm # cp out/host/darwin-x86/bin/bison prebuilts/misc/darwin-x86/bison/ 结束