将 Pixel 设备用作开发平台

本指南主要面向希望使用 AAOS 进行测试和开发的开发者

注意事项

将 Pixel 用作开发平台时,存在以下限制:

设备有可能会烧毁,请谨慎使用!
  • Pixel Tablet 已经过验证并受支持。您可以访问 Google 商店进行购买。

  • 以下设备受支持,但未进行有效测试。请务必下载正确的二进制文件,然后按照说明操作并根据需要更改命令:
    • Pixel 5
    • Pixel 6、Pixel 6a 和 Pixel 6Pro
    • Pixel 7、Pixel 7a 和 Pixel 7Pro
    • Pixel 8 和 Pixel 8Pro
  • 必须使用 Android 14 build android-14.0.0_r30

  • 对蓝牙配置文件的支持有限,并且部分配置文件根本不起作用
  • 平板电脑不支持 GPS,位置信息需要“模拟位置信息应用或类似应用”

前提条件

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

  1. 需要 OEM 解锁。
  2. 能够构建 Android 代码的 Linux 桌面设备。如需了解详情,请参阅搭建构建环境

代码同步及 build

  1. 如需同步 Android build AP1A.240405.002,请执行以下操作:
    mkdir aaos_on_pixel
    cd aaos_on_pixel
    REPO_ALLOW_SHALLOW=0 repo init -c -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r30 --use-superproject --partial-clone --partial-clone-exclude=platform/frameworks/base --clone-filter=blob:limit=10M 
    repo sync -j32
  2. developers.google.com 下载适用于 AP1A.240405.002 的 Pixel 设备供应商映像
    curl --output - https://dl.google.com/dl/android/aosp/google_devices-tangorpro-ap1a.240405.002-8d141153.tgz  | tar -xzvf -
    tail -n +315 extract-google_devices-tangorpro.sh | tar -zxvf -
  3. 修补
    cd packages/services/Car
    git fetch https://android.googlesource.com/platform/packages/services/Car refs/changes/83/3037383/2 && git cherry-pick FETCH_HEAD #fix the audio crash
    cd -
  4. 运行相应 build。:
    . build/envsetup.sh
    lunch aosp_tangorpro_car-ap1a-userdebug
    m
  5. 构建与汽车相关的软件包:
    m android.hardware.automotive.vehicle@2.0-default-service android.hardware.automotive.audiocontrol-service.example 

设置设备以刷写 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
      #Temporary disable the userdata checkpoint 
      adb wait-for-device root; sleep 3; adb shell vdc checkpoint commitChanges; sleep 2 
      #Enable remount
      adb remount && sleep 2 && adb reboot && echo "rebooting the device" && adb wait-for-device root && sleep 5 && adb remount
    2. 将所需的汽车专用文件推送到设备:
      adb sync vendor && adb reboot
    3. 等待设备启动:

    提示

  5. 如果您发现屏幕亮度过低,请执行以下操作:
    adb shell settings put system screen_brightness 255
  6. 插入充电器时启动:
    adb reboot bootloader 
    fastboot oem off-mode-charge 1
    fastboot reboot
  7. 启用模拟位置:
        adb unroot
        adb shell cmd location set-location-enabled true
        adb root
        adb shell appops set 0 android:mock_location allow
        adb shell cmd location providers add-test-provider gps
        adb shell cmd location providers set-test-provider-enabled gps true
        adb shell cmd location providers set-test-provider-location gps --location 37.090200,-95.712900
        #To verify
        adb shell dumpsys location | grep "last location"
  8. 如有任何问题,请与 aaos-on-phone@google.com 联系