编译Android源码遇到的一些问题

记录自己在编译Android源码并刷入pixel3时遇到的一些坑。

1.repo多次发生fatal错误

解决办法:换国内镜像源。

如果是校园网,特别推荐使用中科大的源,因为走的是教育网专线,特别快。

另外,如果还是不能解决,可以下载一个aosp-latest压缩包,解压出来后把里面的projec-objects和projects文件夹粘贴到repo目录下,再执行repo sync就同步得很快了。

2.执行make的注意事项

  1. 一定要先lunch
    执行make之前一定要先执行lunch,选择手机对应的开发代号,比如我的pixel3开发代号是blueline。
    很坑的是:没有lunch而直接make也是可以编译的,但是刷不上手机。害得我在这儿折腾了好久。

  2. 要把闭源驱动解压好。Android是开源的,但驱动是闭源的。下载的开源代码是不含驱动的,需要到官网去下载相应驱动。安卓国内官网:

https://source.android.google.cn/

  1. make -j数量不宜过多。
    如果并发任务太多,可能会导致内存爆满而终止编译。个人经验make -j数量最好控制在内存GB数的一半,比如16G内存就执行make -j8。

3.刷机注意事项

  1. 高版本安卓手机不能刷入低版本。
    我尝试过将Android 9编译刷入一台拥有Android 10 的机子,刷入失败。后来又尝试将Android 10刷入一台拥有Android 11的机子,依然刷入失败。白白花了两天编译。血泪教训。
  2. adb 和 fastboot 要现编译。
    如果你和我一开始一样,使用
sudo apt install adb fastboot

来获取adb和fastboot,那你多半是刷不成功的。

正确的姿势是:在Android源码文件夹中先lunch,选择手机对应的开发代号,再使用make命令:

make adb fastboot

这样获取的adb和fastboot版本才是和Android版本相符的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值