aosp android 源码编译是一个漫长且熬一个人耐性的一个过程。功夫不负有心人。我终于编译通过,并且运行模拟器,和添加了一行代码运行起来了。满心欢喜。。。
1、编译前熬人的操作。网上咨询查找。(其实就是借助国内镜像下载好指定版本源代码)
2、cd 到源代码根目录。执行下面的命令
source build/envsetup.sh
lunch
选择制定的版本我选择了30. aosp_x86_64-eng 。所以输入30编号即可。就是编译了这个版本的模拟器。
3、开始真正的编译:
make -j8 2>&1 | tee build.log
这是漫长的等待。
4、编译过程中会出现很多编译失败问题。下面是我遇到的错误。
错误1
FAILED: out/soong/.bootstrap/soong-cc/test/test.passed
out/soong/.bootstrap/bin/gotestrunner -p ./build/soong/cc -f out/soong/.bootstrap/soong-cc/test/test.passed -- out/soong/.bootstrap/soong-cc/test/test -test.short
--- FAIL: TestDefaults (6.62s)
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
cc_test.go:3075: "Could not find a supported mac sdk: [\"10.10\" \"10.11\" \"10.12\" \"10.13\" \"10.14\" \"10.15\"]"
--- FAIL: TestDoubleLoadbleDep (0.03s)
。。。。。。。这里省略了很多日志
FAIL
10:35:01 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.
#### failed to build some targets (18 seconds) ####
这里主要是Could not find a supported mac sdk,找不到 制定的 mac sdk。
查看自己电脑上的 mac sdk
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
ls
我的mac sdk: DriverKit20.2.sdk MacOSX.sdk MacOSX11.1.sdk
然后在/build/soong/cc/config/x86_darwin_host.go中添加 11.1 sdk版本号。
darwinSupportedSdkVersions = []string{
"10.10",
"10.11",
"10.12",
"10.13",
"10.14",
"10.15",
"11.1",
}
错误2