使用 Pixel 手机作为开发平台

开发前端软件的汽车合作伙伴团队需要借助 Google 支持的硬件平台开发应用和打造用户体验。

注意事项

使用 Pixel 4a (5G) 和 Pixel 5 作为开发平台时,存在以下限制:

  • Pixel 4a (5G) 和 Pixel 5 已经过验证并受支持。如需详细了解 Pixel,请访问 Google 商店

  • 以下设备受支持,但未进行有效测试。请务必下载正确的二进制文件,然后按照以下步骤操作:
    • Pixel 3a
    • Pixel 3aXL
    • Pixel 4
    • Pixel 4XL
    • Pixel 4a
    • Pixel 6 和 Pixel 6 Pro(实验性)
  • 您必须使用 Android 12,build SP1A.210812.016.A1

  • 所有蓝牙配置文件均不受支持。

前提条件

继续之前,请确认您满足以下各项:

  1. 需要 OEM 解锁。使用已解锁的 Pixel 4a (5G) 或 Pixel 5
  2. 能够构建 Android 代码的 Linux 桌面设备。如需了解详情,请参阅搭建构建环境

代码同步及 build

  1. 如需同步 Android build SP1A.210812.016.A1,请按以下步骤操作:
    mkdir aaos_on_phone
    cd aaos_on_phone
    repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r3 --use-superproject --partial-clone --partial-clone-exclude=platform/frameworks/base --clone-filter=blob:limit=10M
    repo sync -j8 -c -q
    
  2. 下载专有二进制文件和补丁程序。
    1. Pixel 4a (5G)。下载 Pixel 4a (5G) 二进制文件,例如 Android 12 的供应商映像和 Qualcomm 驱动程序,build SP1A.210812.016.A1
      curl --output - https://dl.google.com/dl/android/aosp/google_devices-bramble-sp1a.210812.016.a1-a60d24d5.tgz  | tar -xzvf -
      tail -n +315 extract-google_devices-bramble.sh | tar -zxvf -
      
      curl --output - https://dl.google.com/dl/android/aosp/qcom-bramble-sp1a.210812.016.a1-3fa45eab.tgz | tar -xzvf -
      tail -n +315 extract-qcom-bramble.sh | tar -xzvf -
      
    2. Pixel 5。下载 Pixel 5 二进制文件,例如 Android 12 的供应商映像和 Qualcomm 驱动程序,build SP1A.210812.016.A1
      curl --output - https://dl.google.com/dl/android/aosp/google_devices-redfin-sp1a.210812.016.a1-8813b219.tgz  | tar -xzvf -
      tail -n +315 extract-google_devices-redfin.sh | tar -zxvf -
      
      curl --output - https://dl.google.com/dl/android/aosp/qcom-redfin-sp1a.210812.016.a1-8d32b5b1.tgz | tar -xzvf -
      tail -n +315 extract-qcom-redfin.sh | tar -xzvf -
      
  3. 运行相应 build。请务必将以下示例中的 <target> 替换为 aosp_bramble_caraosp_redfin_car
    . build/envsetup.sh
    lunch <target>
    m
    
  4. 构建与汽车相关的软件包:
    m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
    

设置设备以刷写 build

如果您尚未执行此操作,请启用开发者选项。依次转到“设置”>“系统”>“关于手机”,然后点按“build 号”七次。

启用“开发者选项”后:

  1. 依次转到“设置”>“系统”>“开发者选项”,然后启用 USB 调试OEM 解锁
USB 调试 OEM 解锁

刷写 build

  1. 将设备置于 Fastboot 模式,然后解锁:
    adb reboot bootloader
    fastboot flashing unlock
    
  2. 在设备上,选择“解锁引导加载程序”。这样做会清空设备上的所有数据!
  3. 刷写 build:
    fastboot -w flashall
    
  4. build 启动且显示主屏幕后:
    1. 启用 adb remount
      adb root && sleep 5 && adb disable-verity && sleep 1 && adb reboot && adb wait-for-device && sleep 5 && adb root && sleep 5 &&  adb remount
      
    2. 将所需的汽车专用文件推送到设备:
      adb sync vendor
      adb reboot
      
    3. 等待设备启动:

    实验性

    对 Pixel 6 和 Pixel 6 Pro 的支持尚处于实验阶段。我们正在努力让这些设备脱离实验阶段。

    确保您已满足上述所有前提条件:

    代码同步及 build

    • 同步 android-12.0.0_r4 (SD1A.210817.015.A4)
    • https://developers.google.com/android/drivers 下载适用于 SD1A.210817.015.A4 的正确 Oriole (P6) 和 Raven(P6 Pro) 二进制文件。
    • 择优挑选 Android 12 补丁程序
    • 构建 aosp_oriole_car (Pixel 6) aosp_raven_car (Pixel 6 Pro)。
    • AAOS build 工件。
    • m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
      
    • 刷写设备并启用 adb remount,如上文第 4 步 remount 中所述
    • 将 AAOS 工件推送到设备
    • FILES="bin/hw/android.hardware.automotive.vehicle@2.0-service bin/hw/android.hardware.automotive.audiocontrol@1.0-service lib64/android.automotive.watchdog-V2-ndk_platform.so lib64/android.hardware.automotive.audiocontrol@1.0.so lib64/android.automotive.watchdog-V2-ndk_platform.so lib64/android.hardware.automotive.vehicle@2.0.so etc/vintf/manifest/android.hardware.automotive.vehicle@2.0-service.xml etc/vintf/manifest/audiocontrol_manifest.xml etc/init/android.hardware.automotive.audiocontrol@1.0-service.rc etc/init/android.hardware.automotive.vehicle@2.0-service.rc"; for F in $FILES ; do echo writing $F; adb push $OUT/vendor/$F vendor/$F ; done
      adb reboot
      
    • 可以选择使用以下命令修复显示密度
    • adb shell wm density 240
      adb reboot