type
status
date
slug
summary
tags
category
icon
password
aosp现在使用soong编译工具进行编译了,比之前的老版本编译要容易方便得多了.

步骤

  1. 配置好repo等工具
  1. 下载aosp源码
  1. 开始编译
  1. 模拟器演示或者刷写到真实设备上
其实这几个步骤都没什么好说的.第一二步按照要求下载工具和源码即可,当然最好有一个科学上网的环境,不行的化用清华的镜像源也是可以的.

查看分支/切换分支

在已经下载好源码之后:
  • 查看分支
    • cd .repo/manifests git branch -a | cut -d / -f 3
  • 切换分支
    • repo forall -c git checkout xx_branch repo sync

重置修改的代码

repo forall -c git reset --hard

编译

进入源码根目录,然后执行:
. build/envsetup.sh
lunch
这一步会让你选择构建的Android系统类型
m droid
大概需要编译10万个C/C++文件,耗时1~4个小时.

编译时可能出现的问题

  1. 大小写敏感的磁盘格式问题
    1. Android官方文档有格式化的办法构建编译环境
  1. too many files
    1. 我用的是MacOS,出现这种问题是因为系统对打开的文件个数有限制.
      可以在环境变量中设置最大打开文件的个数(.bash_profile,或者.zshrc之类的):
      # set the number of open files to be 1024 ulimit -S -n 2048
  1. 证书错误
    1. Downloading Repo source from <https://gerrit.googlesource.com/git-repo> fatal: Cannot get <https://gerrit.googlesource.com/git-repo/clone.bundle> fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) fatal: cloning the git-repo repository failed, will remove '.repo/repo'
      初始化repo的时候添加--no-clone-bundle:
      repo init -u <https://android.googlesource.com/platform/manifest> --no-clone-bundle
AOSP构建-Android.bp的理解Android Studio查看和调试AOSP源码
姜康
姜康
一个软件工程师
公告
type
status
date
slug
summary
tags
category
icon
password
🎉博客网站重新制作了🎉
👏欢迎更新体验👏