跳到主要内容

底层开发

主要介绍 uboot, kernel, aosp 编译打包等内容

环境配置

在 Ubuntu(>=15.04) 上使用OpenJDK

sudo apt-get update
sudo apt-get install openjdk-8-jdk

下载 Radxa Android SDK

Radxa Android SDK 包含数百个 Git 仓库,如果不用 repo 逐个下载会非常繁琐。

Repo

Repo 是 Android 开发中用于管理多个 Git 仓库的工具,它是一个Python脚本,方便开发者对多个 Git 库进行版本控制和管理。

下载 Repo

$ echo "export REPO_URL='https://storage.googleapis.com/git-repo-downloads/repo'" >> ~/.bashrc
$ source ~/.bashrc
$ curl https://storage.googleapis.com/git-repo-downloads/repo -o /tmp/repo
$ sudo cp /tmp/repo /usr/local/bin/repo
$ sudo chmod +x /usr/local/bin/repo

代码下载

$ repo init -u https://github.com/radxa/manifests.git -b Android12_Radxa_rk14 -m rockchip-s-release.xml
$ repo sync -d --no-tags -j4

镜像编译

镜像编译可以使用两种方法

方法一 (推荐)

使用 SDK 编译脚本方式编译

提示

默认编译的镜像支持 microSD 和 eMMC 启动,如需编译支持 SPI-NVME 启动的镜像,请执行以下命令:

radxa:rock-android12 $ export BOARD_USES_SPI_NVME_BOOT=true
radxa:rock-android12 $ source build/envsetup.sh
radxa:rock-android12 $ lunch Radxa_PS009-userdebug # 如果编译 user 版本,选择 Radxa_PS009-user
radxa:rock-android12 $ ./build.sh -UACKu
# get images from IMAGE directory

等待编译完成就可以在 IMAGE 目录找到镜像

方法二

可以根据这个方法一步一步编译镜像

  1. 设置编译项目的环境
radxa:rock-android12 $ source build/envsetup.sh
radxa:rock-android12 $ lunch Radxa_PS009-userdebug # 如果编译 user 版本,就选择 Radxa_PS009-user
  1. 编译 U-boot
radxa:rock-android12 $ ./build.sh -U
  1. 编译内核
radxa:rock-android12 $ ./build.sh -CK
  1. 编译AOSP
radxa:rock-android12 $ ./build.sh -A
  1. 制作 Images
radxa:rock-android12 $ ./build.sh -u