SDK介绍
内核版本:6.1
Android系统版本:14.0
获取SDK源码
Copy 1-SDK软件源码
├── Android14
├── rk3576-android14.0-*.md5sum
└── rk3576-android14.0-*.tar.gz
*这里一般指代日期,下面同,实际名称以网盘为准
拷贝源码压缩包到编译主机目录
若编译主机为虚拟机,不可放在共享目录下编译
Copy md5sum rk3576-android14.0-*.tar.gz
判断结果和 rk3576-android14.0-*.md5sum 内容一致,则文件下载完整
Copy $ mkdir rk3576-android
$ tar -zxvf rk3576-android14.0-*.tar.gz -C rk3576-android/
$ cd rk3576-android/
$ git reset --hard
配置环境
单独编译或全部编译前先配置环境
Copy $ ./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
全部编译
标准镜像
镜像 rockdev/Image-rk3576_u/update-rk3576-kickpi-k7-android-*.img
多屏识别镜像
单独编译
单编Uboot
单编安卓
单编kernel
配置 Kernel defconfig
其他说明
固件说明
完整编译后会生成如下文件:
Copy (源码)/rockdev/Image-rk3576_u/
rockdev/Image-rk3576_u/
├── baseparameter.img
├── boot-debug.img
├── boot.img
├── config.cfg
├── dtbo.img
├── MiniLoaderAll.bin
├── misc.img
├── parameter.txt
├── pcba_small_misc.img
├── pcba_whole_misc.img
├── recovery.img
├── resource.img
├── super.img
├── uboot.img
├── update.img
├── update-rk3576-kickpi-k7-android-*.img
└── vbmeta.img
烧写的镜像为 (源码)/rockdev/Image-rk3576_u/update-rk3576-kickpi-k7-android-*.img
烧录详见 - 10-系统镜像烧录
多屏识别编译
userdebug 和 user 编译
默认为userdebug模式编译,如果需要user版本镜像则需要修改对应编译mk
Copy vim device/rockchip/rk3576/BoardConfig-rk3576-kickpi-k7.mk
-export BUILD_VARIANT=userdebug
+export BUILD_VARIANT=user
android 环境配置
配置环境,可以使用 mm / get_build_var 等安卓环境下命令
Copy // 配置环境
source build/envsetup.sh
lunch rk3576_u-userdebug
// 比如
$ get_build_var PRODUCT_HAVE_RKPHONE_FEATURES
true
dts 路径
Copy kernel-6.1/arch/arm64/boot/dts/rockchip/rk3576-kickpi-k7-android.dts
defconfig 路径
Copy kernel-6.1/arch/arm64/configs/rockchip_defconfig
常见问题
由于代码位置变化,路径错误导致 android 编译错误
需要清除数据
Copy source build/envsetup.sh
lunch rk3576_u-userdebug
make clean -j32
重新全部编译
编译空间不足
目前默认线程 -j32,通过降低线程数进行编译
方式一:
修改编译方式,带 -J 线程
Copy 如: 修改线程为16,-J16
./build.sh -AUCKu -J16
方式二:
修改默认线程
Copy $ vim device/rockchip/common/build/rockchip/build.sh
-BUILD_JOBS=32
+BUILD_JOBS=16