開發前端軟件的汽車合作夥伴團隊需要 Google 支持的硬件平台來開發應用程序和用戶體驗。
注意事項
這些限制適用於使用 Pixel 4a (5G) 和 Pixel 5 作為開發平台時:
Pixel 4a (5G) 和 Pixel 5 已經過驗證和支持。要了解有關 Pixel 的更多信息,請訪問Google 商店。
- 以下設備受支持,但未經過積極測試。請務必下載正確的二進製文件,然後按照以下步驟操作:
- 像素 3a
- 像素 3aXL
- 像素 4
- 像素 4XL
- 像素 4a
- Pixel 6 和 6 Pro(實驗性)
您必須使用 Android 12,構建SP1A.210812.016.A1 。
- 不支持所有藍牙配置文件。
先決條件
在繼續之前,請確認您擁有以下項目:
- 需要 OEM 解鎖。使用未鎖定的 Pixel 4a (5G) 或 Pixel 5
- 能夠構建 Android 代碼的 Linux 桌面。有關詳細信息,請參閱建立構建環境。
代碼同步和構建
- 同步 Android 版本 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
- 下載專有的二進製文件和補丁。
- 像素 4a (5G)。下載 4a (5G) 二進製文件,例如 Android 12 的供應商映像和 Qualcomm 驅動程序,構建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 -
- Pixel 5.下載 Pixel 5 二進製文件,例如 Android 12 的供應商映像和 Qualcomm 驅動程序,構建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 -
- 像素 4a (5G)。下載 4a (5G) 二進製文件,例如 Android 12 的供應商映像和 Qualcomm 驅動程序,構建SP1A.210812.016.A1 :
- 運行構建。請務必將以下示例中的
<target>
替換為aosp_bramble_car
或aosp_redfin_car
:. build/envsetup.sh lunch <target> m
- 構建汽車相關的包:
m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
設置設備以刷新構建
如果您還沒有這樣做,請啟用Developer options 。轉到設置>系統>關於手機,然後點擊內部版本號七次。
啟用開發者選項後:
- 轉到設置 > 系統 > 開發人員選項並啟用USB 調試和OEM 解鎖:
閃存構建
- 將設備置於快速啟動模式然後解鎖:
adb reboot bootloader fastboot flashing unlock
- 在設備上,選擇解鎖引導加載程序。這樣做會刪除設備上的所有數據!
- 要刷新構建:
fastboot -w flashall
- 構建啟動並顯示主屏幕後:
- 啟用
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
- 將所需的汽車特定文件推送到設備:
adb sync vendor adb reboot
- 等待設備啟動:
實驗性的
Pixel 6 和 6 Pro 在實驗基礎上受支持。我們正在努力將這些設備帶出實驗階段。
確保您滿足上面列出的每個先決條件:
代碼同步和構建
- 同步
android-12.0.0_r4
(SD1A.210817.015.A4) - 從https://developers.google.com/android/drivers下載 SD1A.210817.015.A4 的 Oriole (P6) 和 Raven(P6 Pro) 的正確二進製文件
- Cherrypick Android 12補丁。
- 構建
aosp_oriole_car
(Pixel 6)或aosp_raven_car
(Pixel 6 Pro)。 - AAOS 構建工件。
m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
- 啟用
- 閃存設備並啟用 adb remount ,如上文第 4 步重新安裝中所述
- 將 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