跳转至

Android SDK编译

编译环境

在PC上搭建环境,对 Android/Linux SDK进行编译。

环境准备

在PC上安装Ubuntu,进行SDK编译。

  • 硬件:PC满足RAM ≥ 16 GB,CPU core ≥ 4,Hard Drive ≥ 500GB
  • 软件:Ubuntu22.04,虚拟机磁盘空间分配 ≥ 200GB

依赖安装

1. 进入Ubuntu,打开Terminal,切换为root用户

2. 依次输入下列命令安装依赖。

sudo apt install git bc bison build-essential curl flex libsdl1.2-dev 
sudo apt install g++-multilib gcc-multilib gnupg gperf libncurses5-dev 
sudo apt install imagemagick lib32ncurses5-dev lib32readline-dev squashfs-tools 
sudo apt install lib32z1-dev liblz4-tool xsltproc libssl-dev libwxgtk3.0-gtk3-dev
sudo apt install libxml2 libxml2-utils schedtool lzop pngcrush rsync 
sudo apt install yasm zip zlib1g-dev python3 device-tree-compiler 
sudo apt install python-pip gawk openjdk-8-jdk u-boot-tools patchelf expect
sudo pip install pyelftools

SDK源码获取

Note

1.源码不可放在共享目录下编译
2.编译主机不可用ROOT账号登陆

1. 点击下载 SDK,并将SDK源码压缩包拷贝至编译主机目录。

2. MD5校验文件完整性

示例:假如下载的SDK代码文件的MD5校验文件名为t527-android13.0-20251103.md5,执行命令校验文件是否完整

md5sum -c t527-android13.0-20251103.md5

执行结果:

t527-android13.0-20251103.tar.gz: OK

3. 解压源码压缩包

示例:假如源码压缩包名为t527-android13.0-20251103.tar.gz,执行下面命令可以解压源码压缩包

tar -zxvf t527-android13.0-20251103.tar.gz

执行结果,终端输出以下信息:

./.git/
./.git/objects/
./.git/objects/info/
./.git/objects/pack/
./.git/objects/pack/pack-1c772b481d2d4daa60f5065d9dde9eba68aa09f4.pack
./.git/objects/pack/pack-1c772b481d2d4daa60f5065d9dde9eba68aa09f4.idx
./.git/objects/pack/pack-f3436a64e1037f9724ac55cf89574b61f11e60a5.pack
./.git/objects/pack/pack-f3436a64e1037f9724ac55cf89574b61f11e60a5.idx
./.git/description
./.git/branches/
./.git/FETCH_HEAD
./.git/hooks/
./.git/hooks/applypatch-msg.sample
./.git/hooks/pre-commit.sample
.....
........

4. 解压完成后,查看源码目录仅有.git文件夹,输入下列命令恢复源码目录。

git reset --hard

编译完整镜像

1. 编译完整镜像前先回到解压目录,执行以下命令:

./build.sh lunch      

2. 执行命令开始编译完整镜像:

./build.sh

Notes

编译速度取决于电脑配置,通常编译时间在30分钟到90分钟之间。
镜像生成目录:longan/out/update-t527-kickpi_k9_v1.0-android13-lvds0-7-1024-600-2025110410-v1.0.img

执行结果:

image-20251105222717996

局部编译

Tip

编译Uboot、Kernel、配置内核都在longan目录下执行

cd longan

单独编译Uboot

./build.sh uboot

单独编译Kernel

./build.sh kernel

配置内核

./build.sh menuconfig
./build.sh saveconfig

单独编译Android

Tip

编译Android在源码顶层目录执行。

cd -
make -j16

设备树路径

Tip

uboot和kernel各有一份单独的设备树文件。

kernel的设备树路径:

longan/device/config/chips/t527/configs/demo/kickpi_k9_v1.0_kernel.dts

uboot的设备树路径:

longan/device/config/chips/t527/configs/demo/uboot-board.dts