下载AOSP源码
这里我使用的是外国语大学的镜像执行的下载,Mac系统的话,一定要在区分大小写的磁盘下执行
磁盘大小要200G以上。如果是编译aosp_x86-eng版本的话,磁盘大小可以设置 250G-300G 之间
repo init -u https://mirrors.bfsu.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r17
repo sync -j1 --fail-fast --force-sync
设置j1是因为尽量不出问题,虽然下载慢,但是一次就能下好,我试过j16经常出现EOF错误,j1一次就成功了
开始编译
. build/envsetup.sh
lunch aosp_x86-eng
make -j16
编译版本信息
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=aosp_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
HOST_ARCH=x86_64
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-19.6.0-x86_64-10.15.7
HOST_BUILD_TYPE=release
BUILD_ID=RP1A.201105.002
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
问题1:这个是没有AOSP编译所需的Mac SDK,下载就好了
Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13" "10.14" "10.15"]
解决办法:
下载对应的SDK版本:https://github.com/phracker/MacOSX-SDKs/releases
然后移动到 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
目录下解压,在执行 make -j16
问题2:这个是打开文件数限制,我们修改文件数量限制为2048即可
glob: open /Volumes/android-11/external/snakeyaml/src/main: too many open files
解决办法:
ulimit -S -n 2048
问题3:adb remount 提示 Read-only file system
解决:关掉模拟器,在启动参数后加上 -writable-system
后重新启动,然后再次adb remount,就可以看见remount succeeded了
emulator -writable-system
一个被程序耽误的画手