ANDROID_SDK 编译
SDK 介绍
SDK(Software Development Kit,软件开发工具包)是一套为特定软件框架、硬件平台或操作系统提供的开发工具集合,旨在帮助开发者更高效地创建应用程序。
编译环境配置
在PC上安装Ubuntu,进行SDK编译。
- 硬件:PC满足RAM ≥ 16 GB,CPU core ≥ 4,Hard Drive ≥ 500GB。
- 软件:Ubuntu 22.04,虚拟机磁盘空间分配 ≥ 200GB。
依赖安装
sudo apt-get update
sudo apt install autoconf bc binfmt-support bison build-essential bzip2
sudo apt install chrpath cmake cpp-aarch64-linux-gnu curl device-tree-compiler diffstat
sudo apt install expat expect expect-dev fakeroot flex
sudo apt install g++ g++-multilib gawk gcc gcc-multilib git gnupg gperf gpgv2 imagemagick
sudo apt install lib32ncurses5-dev lib32readline-dev lib32z1-dev libgmp-dev
sudo apt install libgucharmap-2-90-dev liblz4-tool libmpc-dev
sudo apt install libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev
sudo apt install libxml2 libxml2-utils live-build lzop
sudo apt install make module-assistant ncurses-dev openjdk-8-jdk
sudo apt install patchelf pngcrush python2 python-is-python3 python-pip
sudo apt install qemu-user-static rsync schedtool squashfs-tools ssh sudo
sudo apt install texinfo u-boot-tools unzip
sudo apt install xsltproc yasm zip zlib1g-dev pip
sudo pip install pyelftools
sudo ln -s /usr/bin/python2 /usr/bin/python
获取 SDK 源码
Note
1.SDK不可放在共享目录下编译。
2.编译主机不可用ROOT账号登陆
3.RK3576 Android SDK 源码不公开,请联系KICKPI官方获取。
1.下载 Android SDK 源码,下载 release_sdk.sh 脚本,通常下载日期后缀最新文件。
2.存放 tar.gz 包、md5sum 文件、release_sdk.sh 文件到编译主机同一级目录下。
3.运行脚本还原 SDK 源码。

完整编译
1.进入编译主机的代码路径,执行如下命令配置编译目标。
根据对应的主控 SOC 和配置文件进行选择。
| 主板 | SOC | 配置文件 |
|---|---|---|
| K7 | rk3576 | BoardConfig-rk3576-kickpi-k7.mk |
| K7C | rk3576 | BoardConfig-rk3576-kickpi-k7c.mk |
K7 配置环境示例
./build.sh lunch
will lunch sdk
You're building on Linux
Lunch menu...pick a combo:
1. rk3576
Which would you like? [0]: 1
You're building on Linux
Lunch menu...pick a combo:
1. BoardConfig.mk
2. BoardConfig-rk3576-kickpi-k7.mk
Which would you like? [0]: 2
switching to board: /home/huangcm/A/sdk/rk3576-android14.0/device/rockchip/rk3576/BoardConfig-rk3576-kickpi-k7.mk
2.编译标准完整镜像.
单独编译
编译多屏识别镜像
单编Uboot
单编安卓
单编kernel
配置 Kernel defconfig
常见问题
- 由于代码位置变化,路径错误导致 android 编译错误
先清除数据,然后重新编译
- 编译空间不足
目前默认线程 -j32,通过降低线程数进行编译,编译方式添加带 -J 线程