跳转至

Android_SDK源码编译

SDK源码获取

Note

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

1.SDK下载,拷贝源码压缩包到编译主机目录。

2.进入源码所在目录,输入命令解压,等待解压完成。

Warning

Adroid_SDK 压缩包≥ 25GB,解压时请确保虚拟机磁盘剩余空间 ≥ 100GB。

tar -zxvf *.tar.gz

3.进入解压生成的h618-android12.0目录,输入命令恢复源码。

//查看git文件是否存在
ls -alh
//恢复源码
git reset --hard

首次编译配置

首次编译需要配置编译环境,后续SDK位置不改变,无需重复配置。

1.进入解压完成后的文件夹,输入以下命令。

./build.sh lunch
will lunch sdk

You're building on Linux
Lunch menu...pick a combo:

1. BoardConfig-kickpi-k2b-tablet.mk
2. BoardConfig-kickpi-k2b-tv.mk
3. BoardConfig-kickpi-k2c-tablet.mk
4. BoardConfig-kickpi-k2c-tv.mk

Which would you like? [0]:   //根据板型和所需系统选择

Note

BoardConfig-kickpi-'boadr'-'desktop'
board:主板 k2b / k2c
desktop:桌面 tv / tablet

编译完整镜像

Warning

如果编译Android失败,没有明显报错,可以修改build.sh中Android编译的进程数,将make -j32减小至你设备的实际情况。

1.进入h618-android12.0目录,输入命令。

./build.sh

image-20251103171049306

2.编译完成,找到镜像目录。

Tip

镜像生成目录:longan/out/update-h618-xxxx.img

image-20251103172202011

单独编译分区镜像

Tip

设备树路径:h618-android12.0/longan/device/config/chips/h618/configs/p2/linux-5.4/
镜像生成目录:longan/out/update-h618-xxxx.img

  • 单独编译Uboot
./build.sh uboot
  • 单独编译Kernel
./build.sh kernel
  • 单独编译Android
./build.sh android
  • 配置内核
cd longan
./build.sh menuconfig
./build.sh saveconfig

常见问题

  • 安卓编译失败? 编译安卓时失败且没有明显错误报错,修改一下内容尝试重新编译。

image-20250814094151807

  • APP 文件编译不生效? android 为惰性编译,直接替换后编译,一些APP、文件不一定编译到镜像中,可以通过如下其中一种方式解决:
  • make installclean。
  • rm out/target/product/apollo-p2/xxx/xxx。
  • 编译的条件发生变化(比如文件名、APK名)。

  • 全部编译替换不生效? 由于惰性编译,一些编译目标或依赖直接替换文件,在编译时不会拷贝生效。 编译前需要先手动清除:

source build/envsetup.sh
lunch apollo_p2-userdebug
make installclean -j32