[Android] Android源码下载 及 编译

下载:

参考:https://source.android.com/docs/setup/download/downloading?hl=zh-cn

1.创建源码目录

cd ~
mkdir AndroidSourceCode
cd AndroidSourceCode

 2.配置 git 信息(已经配置则跳过)

git config --global user.name ykun089
git config --global user.email ykun089@163.com

3.关联仓库(只是关联仓库信息,不会同步到本地磁盘)

repo init -u https://android.googlesource.com/platform/manifest -b android-security-10.0.0_r75


或者使用国内源(推荐)
export REPO_URL="https://aosp.tuna.tsinghua.edu.cn/git-repo"
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-13.0.0_r33

如果需要其他分支,则改变 -b 的参数,见 分支列表 

可能的异常:

    file=sys.stderr)
        ^
SyntaxError: invalid syntax

解决:

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ./repo
chmod a+x ./repo
python3 repo init -u https://android.googlesource.com/platform/manifest -b android-security-10.0.0_r75

上述异常是因为repo版本和python不匹配造成,如果出现上述异常,则在后续执行repo的时候都需要机上 python3 以指定 python 解释器。

4.同步代码到本地磁盘

repo sync -c -j8

或者

python3 repo sync -c -j8

编译:

配置编译环境

. ./build/envsetup.sh

选择目标机型

lunch

 1.获取lunch操作的参数,如果参数不为空,参数则为指定要编译的设备型号和编译类型;如果参数为空,会调用print_lunch_menu来显示Lunch菜单项,读取用户的输入,存入answer。

  2.如果answer为空,即之前在lunch菜单用,用户只敲了一个回车。会将默认选项改为aosp_arm-eng,结果存入selection。

  3.如果lunch操作得到的输入是数字,则将数字转换为LUNCH_MENU_CHOICES中的字符串,结果存入selection。

选择默认选项 1 即可。

开始编译

make -j4 :编译所有

mm: 编译当前目录下的模块,它和mmm一样,不编译依赖模块;

mma: 编译当前目录下的模块及其依赖项

参考:

AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Android源码定制(1)——Android6.0的编译流程 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值