---
title: 编译AOSP并生成镜像
description: "编译AOSP源码生成Kbox安卓镜像。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/252RC1/armnative/kunpengcpskbox_20_0022.html
sourcePath: /source/zh/kunpengboostkithistory/252RC1/armnative/kunpengcpskbox_20_0022.html
indexId: 3b5f5410071d42669eb7b3f03f986f50a2f61a3e98ee5f70139fa9645a5cfea078
---
# 编译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的名字。 后面的参数表示公司相关信息，请根据实际情况填写，含义解释如表1所示。

**表1 make_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命令后的选项后缀由“user”修改为“userdebug”。以“kbox_arm64”为例： lunch kbox_arm64-userdebug Kbox还提供了精简版本镜像，在一般镜像的基础上去除了部分系统预装应用，以获得更好的内存占用与性能表现。 使用如下编译选项以编译精简镜像： lunch kbox_arm64_optimized-user

  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镜像。
