选择设备

您可以使用 Android 开放源代码项目 (AOSP) 版本和针对特定硬件的相关二进制文件来开发适用于 Nexus 设备的版本。要查看可用的 Android 版本和针对的 Nexus 设备,请参阅源代码、标记和版本

注意:由于硬件差异,切勿在原本搭载 Android 4.1.2 或更高版本销售的 Nexus 7 上使用 Android 4.1.1。

您也可以开发适用于 HiKey Android 参考开发板(如下所述)的版本。参考开发板旨在协助非 Nexus 组件供应商开发驱动程序并将其移植到各 Android 版本。使用参考开发板可以简化升级工作,缩短将新 Android 设备推向市场所需的时间,降低设备成本(因为使用参考开发板时,原始设计制造商 (ODM)/原始设备制造商 (OEM) 可以从更多兼容组件中进行选择),并加快组件供应商的创新速度。

HiKey 开发板

Google 支持使用 HiKey(经认证的 96Board)作为 Android 参考开发板。AOSP 可为 HiKey 提供内核源代码和开发板支持,让开发者能够轻松开发和调试新的及现有的外围设备驱动程序,进行内核开发,并以更少的原始设备制造商 (OEM) 费用执行其他任务。

HiKey 开发板由 Lenovator 提供,有 1GB RAM2GB RAM 配置可供选择:

HiKey 开发板图片

图 1. Lenovator 提供的 HiKey 开发板

其他资源:

在 HiKey 上运行 Android

您可以使用以下命令下载、编译 Android 并在 HiKey 开发板上运行 Android。

编译用户空间

  1. 下载 Android 源代码树:
    $ repo init -u https://android.googlesource.com/platform/manifest -b master
    $ repo sync -j24
  2. 下载 HDMI 二进制文件,并将其解压到 Android 源代码树中:
    $ wget https://dl.google.com/dl/android/aosp/linaro-hikey-20160226-67c37b1a.tgz
    $ tar xzf linaro-hikey-20160226-67c37b1a.tgz
    $ ./extract-linaro-hikey.sh
  3. 安装 mcopy 实用工具:
    $ apt-get install mtools
  4. 编译:
    $ . ./build/envsetup.sh
    $ lunch hikey-userdebug
    $ make -j32

注意:如果是 4GB eMMC,请不要使用 $ make -j32,而是要使用 $ make -j32 TARGET_USERDATAIMAGE_4GB=true

安装初始 fastboot 和 ptable

  1. 连接 J15 1-2 和 3-4 引脚,从而选择特殊的引导加载程序模式(有关详情,请参阅 HiKey 用户指南)。
  2. 将 USB 连接到 PC,以获取 ttyUSB 设备(例如:/dev/ttyUSB1)。
  3. 为开发板接通电源:
    $ cd device/linaro/hikey/installer/hikey
    $ ./flash-all.sh /dev/ttyUSB1 [4g]
  4. 取下跳线 3-4,并为开发板接通电源。

将映像刷到设备上

  1. 连接 J15 1-2 和 5-6 引脚,从而进入 fastboot 模式。
  2. 运行以下命令:
    $ fastboot flash boot out/target/product/hikey/boot.img
    $ fastboot flash -w system out/target/product/hikey/system.img
  3. 取下跳线 5-6,并为开发板接通电源。

编译内核

  1. 运行以下命令:
    $ git clone https://android.googlesource.com/kernel/hikey-linaro
    $ cd hikey-linaro
    $ git checkout -b android-hikey-linaro-4.9 origin/android-hikey-linaro-4.9
    $ make ARCH=arm64 hikey_defconfig
    $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j24
  2. 将输出复制到 HiKey 内核目录 (/kernel/hikey-linaro):
    1. 将 hi6220-hikey.dtb (arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb) 复制到 HiKey 内核目录,并将其重命名为 hi6220-hikey.dtb-4.9。
    2. 将映像文件 (arch/arm64/boot/Image-dtb) 复制到 HiKey 内核目录,并将其重命名为 Image-dtb-4.9。
  3. 制作启动映像:
    $ make bootimage -j24
    

设置显示器分辨率

修改 device/linaro/hikey/hikey/BoardConfig.mk 参数 BOARD_KERNEL_CMDLINE,并配置 video 设置。以下是 24 英寸显示器的示例设置:video=HDMI-A-1:1280x800@60

配置内核串行输出 (uart3)

将 J2 低速扩展连接器设为 1 - Gnd、11 - Rx、13 - Tx。有关详情,请参阅 HiKey 用户指南