Appareils Pixel utilisés comme plates-formes de développement

Ce guide s'adresse principalement aux développeurs qui souhaitent tester et développer des applications à l'aide d'AAOS.

Mises en garde

Les limites suivantes s'appliquent lorsque vous utilisez un Pixel comme plate-forme de développement:

Vous risquez de bloquer votre appareil. Utilisez-le avec précaution.
  • La Pixel Tablet est validée et prise en charge. Vous pouvez l'acheter sur le Google Store.

  • Les appareils suivants sont compatibles, mais ne sont pas testés activement. Veillez à télécharger les binaires appropriés, puis suivez les instructions et modifiez les commandes si nécessaire :
    • Pixel 5
    • Pixel 6, 6a et 6 Pro
    • Pixel 7, 7a et 7 Pro
    • Pixel 8 et 8 Pro
  • Vous devez utiliser Android 14 , version android-14.0.0_r30.

  • Compatibilité limitée avec les profils Bluetooth, certains d'entre eux ne fonctionnant pas du tout
  • La tablette n'est pas compatible avec le GPS. La position nécessite une "application de localisation fictive ou similaire".

Prérequis

Avant de continuer, vérifiez que vous disposez des éléments suivants:

  1. Le déverrouillage OEM est obligatoire.
  2. Ordinateur Linux capable de compiler du code Android Pour en savoir plus, consultez la section Établir un environnement de compilation.

Compilation et synchronisation du code

  1. Pour synchroniser le build Android 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. Téléchargez l'image du fournisseur pour les appareils Pixel sur developers.google.com pour AP1A.240405.002.
    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. Appliquer un correctif
    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. Exécutez le build. :
    . build/envsetup.sh
    lunch aosp_tangorpro_car-ap1a-userdebug
    m
  5. Créez les packages liés à Automotive:
    m android.hardware.automotive.vehicle@2.0-default-service android.hardware.automotive.audiocontrol-service.example 

Configurer l'appareil pour flasher le build

Si ce n'est pas déjà fait, activez les options pour les développeurs. Accédez à Paramètres > Système > À propos du téléphone, puis appuyez sept fois sur "Numéro de version".

Lorsque vous avez activé les options pour les développeurs:

  1. Accédez à Paramètres > Système > Options pour les développeurs, puis activez Débogage USB et Déverrouillage OEM:
Débogage USB Déverrouillage OEM

Flasher le build

  1. Pour mettre l'appareil en mode Fastboot, puis le déverrouiller:
    adb reboot bootloader
    fastboot flashing unlock
  2. Sur l'appareil, sélectionnez "Déverrouiller le bootloader". Cette action efface toutes les données de l'appareil.
  3. Pour flasher le build:
    fastboot -w flashall
  4. Une fois la compilation démarrée avec une animation :
    1. Pour activer 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. Pour transférer les fichiers spécifiques à Automotive sur l'appareil:
      adb sync vendor && adb reboot
    3. Attendez que l'appareil démarre:

    Conseils

  5. Si la luminosité de l'écran est trop faible:
    adb shell settings put system screen_brightness 255
  6. Démarrage lorsque le chargeur est branché:
    adb reboot bootloader 
    fastboot oem off-mode-charge 1
    fastboot reboot
  7. Activez la position fictive:
        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. En cas de problème, contactez aaos-on-phone@google.com.