AOSP 入门:设置构建环境、同步源代码和构建

26 篇文章 1 订阅
15 篇文章 1 订阅

Android (Android Open Source Project) 是一个开源的移动操作系统,它在底层运行 Linux 内核。它主要设计用于智能手机和平板电脑等触屏移动设备。作为一个开源操作系统,任何人都可以为任何设备构建它。

今天我们将从设置我们的构建环境开始,同步 AOSP 源,然后构建 AOSP。

设置环境

确保您运行的是 Linux 操作系统(首选 Ubuntu)。我将以 Ubuntu 为例。

首先,我们将在基于 Ubuntu 的系统中安装以下软件包,这些软件包是构建 AOSP 所必需的。

sudo apt update
sudo apt install -y bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev python ssh python2 patchelf binutils

让我们在构建环境中设置我们的 git 凭据。

git config --global user.email "username@client.com"
git config --global user.name "Your Name"

让我们repo现在安装。

mkdir -p ~/.bin
PATH="${HOME}/.bin:${PATH}"
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
chmod a+rx ~/.bin/repo

同步源

当我们为构建 AOSP 设置构建环境时,让我们同步 AOSP 源。

首先让我们创建一个名为aospusing的新文件夹mkdir并使用导航到它cd

mkdir aosp
cd aosp

现在我们必须在当前文件夹中启动 AOSP 清单。

repo init -u https://android.googlesource.com/platform/manifest -b BRANCH

在这里,

BRANCH ->要同步的AOSP分支。它主要是Android版本及其标签。假设您想同步Android 12.1版本r2标记。你必须把android-12.1.0_ r2放进去。

或者,如果不想提交源代码的历史记录,可以在repo init中的-u之前添加–depth=1选项。

启动AOSP清单后,下一步是同步源,这可以通过repo命令完成。

repo sync

或者,您可以使用repo sync命令添加选项。几个常用的选项是:

--force-sync-> 此选项强制将源同步到当前源并取消源中所做的任何更改。

-jx-> 它提到了用于同步源的线程数。x 表示线程数。示例:-j4表示同步将使用 4 个线程。

构建 AOSP

如果您按照以下步骤操作,我相信您已经成功同步了 AOSP 源代码。现在您可以为您的 Google Pixel 设备或任何其他设备构建 AOSP(需要克隆外部设备树)。

完成设备树后,只需按照步骤开始构建 AOSP。

envsetup.sh使用脚本初始化 AOSP 环境。

. build/envsetup.sh

或者

source build/envsetup.sh

然后我们必须到lunch设备。

lunch aosp_device-buildtype

在这里,

device-> 设备代号

buildtype-> 构建类型:user用于生产构建,userdebug用于类似于用户类型的可调试构建,eng仅用于调试,不推荐用于生产。

例子:

假设我想为 Google Pixel 6a userdebug 构建构建,所以我的午餐命令将是:

lunch aosp_bluejay-userdebug

在这里,

bluejay-> Pixel 6a 的设备代号

userdebug-> 构建类型

然后,我们终于可以通过运行以下命令开始为我们的设备编译 AOSP:

make otapackage

这将为您的设备制作一个可闪存的 AOSP zip。编译完成后,您将在out/target/product/devicecodename目录中找到您的 zip。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值