上篇文章中,我们由于网络的问题而无法使用 Android 官方提供的源码地址,导致我们选择的是「清华镜像」,随后下载了大约 80G 容量的源码包,但是我们下载下来发现,里面没有 Nexus 或者 Pixel 手机对应的 aosp。
如下图
那么,比如手上有 Nexus 或者 Pixel 的设备,那么这种方法其实没有用。
怎么办!!!
看来还得用点小手段了,直接访问Android 官网提供的源码吧~
我们还需要翻看官网指南:
看来我们只需要指定我们拥有手机对应的分支即可,比如我这边想编译 pixel xl 的 AOSP 那么只需执行下方命令即可
repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r10
当然参照的是Android 官网的 「代号、标记和细分版本号」
第一步、不过我们提前需要做的是:配置网络(你懂得)
git config --global http.proxy 127.0.0.1:xxxxx(对应的端口号)
第二步、然后
repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r10
即可
很快 ...
第三步、同步即可
repo sync
这一步耗费的时间有点长,建议找个网络状态好的地方,不过我这边总算同步好了
第四步、就是下载我们选择手机的驱动文件,还是以 pixel xl 为例
找到我们刚才选择的分支名
将两个驱动下载下来解压,然后分别执行
sh 之后的 vendor 文件夹自动进入 repo 根目录了,如果你的没有,需要把 vendor 文件夹放到根目录
第五步、使用 envsetup.sh 脚本初始化环境
source build/envsetup.sh
第六步、使用 lunch 选择要编译的目标
然后这样就看到了我们想要编译的 pixel xl 对应源码了。
我们选择编译 22
第七步、make
我这里是用的
make -j8
废了很长时间才成功~~~
第八步、刷机啦~~
没错,搞了台 pixel xl,这次我们玩真的~
切换到 android 官网
① 进入 fastboot 模式
sudo adb reboot bootloader
② 按需解锁 oem
③ 将源码输入设备
fastboot flashall -w
然后就会自动刷入了~~
当然了,这个过程也不是很顺畅的,如果各位小伙伴在编译的途中遇到问题,欢迎留言,我会及时解答的~
再一个刷入成功的动图吧~
可喜可贺!!!