---
title: 编译AOSP并生成镜像
description: "编译AOSP源码生成Kbox安卓镜像。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpskbox_20_0022.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpskbox_20_0022.html
indexId: 8d6763da8f3be8996199e3403f43572a33bbe34f436dbc13286c11e3581dd90578
---
# 编译AOSP并生成镜像

编译AOSP源码生成Kbox安卓镜像。

1. 编译AOSP源码。

  a. 生成您自己的唯一发布密钥集用于对部署的Android操作系统映像进行签名。
    1 2 3 4 cd ~/aosp/ rm -rf ./build/target/product/security/release* chmod +x ./development/tools/make_key ./development/tools/make_key build/target/product/security/releasekey '/C=xx/ST=xxx/L=xxx/O=xxx/OU=xx/CN=xxx/emailAddress=xxxxx@xxx.com'

    在执行make_key命令时，会提示输入密码，可以直接按回车跳过。 make_key命令参数介绍如下： “build/target/product/security/releasekey”表示要生成key的名字。 后面的参数表示公司相关信息，请根据实际情况填写，含义解释如下所示： C：Country Name (2 letter code) ST：State or Province Name (full name) L：Locality Name (eg, city) O：Organization Name (eg, company) OU：Organizational Unit Name (eg, section) CN：Common Name (eg, your name or your server’s hostname) emailAddress：Contact email address

  b. 将envsetup.sh中所有用到的命令加载到环境变量中。
    1 source build/envsetup.sh

  c. 选择编译模式。Kbox的user模式编译镜像默认开启adb，adb有root权限。此处默认采用user模式编译镜像。
    1 lunch kbox_arm64-user

    若需要采用userdebug模式编译镜像，请将上述lunch命令后的选项“kbox_arm64-user”修改为“kbox_arm64-userdebug”，如下所示。 lunch kbox_arm64-userdebug

  d. 执行编译。
    1 2 make clean make -j

    在执行上述命令时，“-j”后的数字参数要根据服务器实际的CPU核数来定。CPU核数可通过以下命令查询。 1 cat /proc/cpuinfo |grep "processor" | wc -l 可不指定核数，直接执行make命令，则默认用1个核进行编译，也可用“-j”参数指定核数进行编译，可指定的数字最大为服务器实际的CPU核数，本文以64核为例进行说明。 正常情况下，能够编译完成。有时可能由于并发编译顺序导致编译出现问题，可尝试重新执行make命令。

2. 解压Kbox-AOSP11.zip，将Kbox-AOSP11文件夹中的make_img_sample目录上传至“~/dependency”目录。
  请对上传文件、目录的权限进行合理配置，其他用户属组建议不配置写权限。

3. 拷贝生成镜像脚本至“~/aosp”目录，并添加可执行权限。
  1 2 3 4 cd ~/dependency/make_img_sample/kbox11_android_build cp create-package.sh ~/aosp/ cd ~/aosp chmod +x create-package.sh

4. 运行脚本，生成Kbox安卓镜像。
  制作镜像的时候需要root权限，请用root用户执行脚本，且执行脚本时，目录需要使用绝对路径。

  1 ./create-package.sh ~/aosp/out/target/product/arm64/system.img

  至此，Kbox安卓镜像制作完成，在当前目录下会生成名为android.tar的Kbox镜像。
