1. 为什么需要切换到android14-release分支
最近在折腾AOSP编译的时候遇到了一个典型问题:在main分支下编译时发现build/make/target/product/目录里找不到sdkx_xxx.mk这类包含Goldfish模拟器的配置文件。这个情况其实很常见,因为main分支默认提供的都是Cuttlefish模拟器配置(就是那个aosp_cf_x86_64_phone-xxx选项)。如果你和我一样需要Goldfish模拟器,那就必须切换到android14-release分支。
这里有个小知识点:Goldfish是Google专门为Android模拟器开发的内核,它能在x86架构的电脑上模拟ARM处理器环境。相比Cuttlefish,Goldfish更接近我们日常使用的Android Studio模拟器,调试起来也更方便。我在实际项目中就遇到过Cuttlefish模拟器无法正常调试某些硬件相关功能的情况,而切换到Goldfish后问题就迎刃而解了。
2. 分支切换与源码同步的正确姿势
2.1 切换manifest分支
首先进入.repo/manifests目录,这里存放着整个AOSP项目的清单文件。执行以下命令创建并切换到android14-release分支:
cd .repo/manifests
git checkout -b android14-release origin/android14-release
git pull
这个操作相当于告诉repo工具:"我要用android14-release分支的配置来管理源码"。记得一定要先pull一下,确保本地分支和远程同步。我刚开始就忘了这步,结果后面同步代码时各种报错。
2.2 解决repo sync报错问题
执行repo sync -j4时,很可能会遇到这样的错误:
Deleting obsolete path /F/android/tools/rr_prebuilt
Failed to remove /F/a

1373

被折叠的 条评论
为什么被折叠?



