Телефоны Pixel как платформа для разработки

Команде партнеров из автомобильной отрасли, которые разрабатывают внешнее программное обеспечение, нужна поддерживаемая Google аппаратная платформа для разработки приложений и взаимодействия с пользователями.

Предостережения

Эти ограничения применяются при использовании Pixel 4a (5G) и Pixel 5 в качестве платформ для разработки:

  • Pixel 4a (5G) и Pixel 5 проверены и поддерживаются. Чтобы узнать больше о Pixel, посетите Google Store .

  • Следующие устройства поддерживаются, но активно не тестировались. Обязательно загрузите правильные двоичные файлы, а затем выполните следующие действия:
    • Пиксель 3а
    • Пиксель 3aXL
    • Пиксель 4
    • Пиксель 4XL
    • Пиксель 4а
    • Pixel 6 и 6 Pro (экспериментальная версия)
  • Вы должны использовать Android 12, сборка SP1A.210812.016.A1 .

  • Поддержка не предоставляется для всех профилей Bluetooth.

Предпосылки

Прежде чем продолжить, убедитесь, что у вас есть следующие элементы:

  1. Требуется OEM-разблокировка. Используйте разблокированный Pixel 4a (5G) или Pixel 5.
  2. Рабочий стол Linux, способный создавать код Android. Дополнительные сведения см. в разделе Создание среды сборки .

Синхронизация кода и сборка

  1. Чтобы синхронизировать сборку 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
    
  2. Загрузите проприетарные двоичные файлы и исправления.
    1. Пиксель 4а (5G). Загрузите двоичные файлы 4a (5G), такие как образ поставщика и драйверы Qualcomm для Android 12, сборка 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, такие как образ поставщика и драйверы Qualcomm для Android 12, сборка 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. Запустите сборку. Не забудьте заменить <target> в следующем примере либо aosp_bramble_car либо на aosp_redfin_car :
    . build/envsetup.sh
    lunch <target>
    m
    
  4. Создайте пакеты, связанные с автомобилестроением:
    m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
    

Настройте устройство для прошивки сборки

Если вы еще этого не сделали, включите параметры разработчика . Перейдите в «Настройки» > «Система» > «О телефоне», а затем семь раз нажмите «Номер сборки».

Если вы включили параметры разработчика:

  1. Перейдите в «Настройки»> «Система»> «Параметры разработчика» и включите отладку по USB и разблокировку OEM :
USB подслушиваетOEM-разблокировка

Прошить сборку

  1. Чтобы перевести устройство в режим быстрой загрузки, а затем разблокировать его:
    adb reboot bootloader
    fastboot flashing unlock
    
  2. На устройстве выберите Разблокировать загрузчик. Это стирает все данные на устройстве!
  3. Чтобы прошить сборку:
    fastboot -w flashall
    
  4. После загрузки сборки и отображения главного экрана:
    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. Чтобы отправить необходимые файлы Automotive на устройство:
      adb sync vendor
      adb reboot
      
    3. Дождитесь запуска устройства:

    Экспериментальный

    Pixel 6 и 6 Pro поддерживаются на экспериментальной основе. Мы работаем над тем, чтобы вывести эти устройства из экспериментальной стадии.

    Убедитесь, что вы выполнили все предварительные условия, перечисленные выше:

    Синхронизация кода и сборка

    • Синхронизировать android-12.0.0_r4 (SD1A.210817.015.A4)
    • Загрузите правильные двоичные файлы для Oriole (P6) и Raven (P6 Pro) для SD1A.210817.015.A4 с https://developers.google.com/android/drivers .
    • 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