底层开发
主要介绍 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 目录找到镜像
方法二
可以根据这个方法一步一步编译镜像
- 设置编译项目的环境
radxa:rock-android12 $ source build/envsetup.sh
radxa:rock-android12 $ lunch Radxa_PS009-userdebug # 如果编译 user 版本,就选择 Radxa_PS009-user
- 编译 U-boot
radxa:rock-android12 $ ./build.sh -U
- 编译内核
radxa:rock-android12 $ ./build.sh -CK
- 编译AOSP
radxa:rock-android12 $ ./build.sh -A
- 制作 Images
radxa:rock-android12 $ ./build.sh -u