Urządzenia Pixel jako platformy programistyczne

Ten przewodnik jest przeznaczony głównie dla deweloperów, którzy chcą testować i rozwijać aplikacje na AAOS.

Uwagi

Gdy używasz Pixela jako platformy deweloperskiej, obowiązują te ograniczenia:

  • Tablet Pixel jest zweryfikowany i obsługiwany. Możesz go kupić w Google Store.

  • Te urządzenia są obsługiwane, ale nie są aktywnie testowane. Pobierz odpowiednie pliki binarne, a potem postępuj zgodnie z instrukcjami i w razie potrzeby zmień polecenia:
    • Pixel 7, 7a i 7 Pro
    • Pixel 8 i 8 Pro
  • Musisz używać Androida 14 w wersji android-14.0.0_r30.

  • Ograniczona obsługa profili Bluetooth, niektóre profile nie będą działać wcale
  • Tablet nie obsługuje GPS, lokalizacja wymaga „aplikacji do pozorowania lokalizacji lub podobnej”

Wymagania wstępne

Zanim przejdziesz dalej, sprawdź, czy masz:

  1. Wymagane jest zdjęcie blokady OEM.
  2. Komputer z systemem Linux, który umożliwia tworzenie kodu Androida. Więcej informacji znajdziesz w artykule Tworzenie środowiska kompilacji.

Synchronizacja i kompilacja kodu

  1. Aby zsynchronizować kompilację Androida 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. Pobierz obraz dostawcy dla urządzeń Pixel ze strony developers.google.com w przypadku wersji 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. Zastosuj poprawkę
    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. Uruchom kompilację. :
    . build/envsetup.sh
    lunch aosp_tangorpro_car-ap1a-userdebug
    m
  5. Skompiluj pakiety związane z motoryzacją:
    m android.hardware.automotive.vehicle@2.0-default-service android.hardware.automotive.audiocontrol-service.example 

Skonfiguruj urządzenie, aby wgrać kompilację

Jeśli jeszcze tego nie zrobisz, włącz Opcje programisty. Otwórz Ustawienia > System > Informacje o telefonie, a następnie kliknij Numer kompilacji 7 razy.

Po włączeniu opcji programisty:

  1. Otwórz kolejno Ustawienia > System > Opcje programisty i włącz debugowanie USB oraz zdjęcie blokady OEM:
Debugowanie USB Zdjęcie blokady OEM

Wgrywanie kompilacji

  1. Aby przełączyć urządzenie w tryb fastboot, a następnie je odblokować:
    adb reboot bootloader
    fastboot flashing unlock
  2. Na urządzeniu wybierz Odblokuj program rozruchowy. Spowoduje to wymazanie wszystkich danych z urządzenia.
  3. Aby wgrać kompilację:
    fastboot -w flashall
  4. Po rozpoczęciu uruchamiania kompilacji z animacją:
    1. Aby włączyć 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. Aby przesłać na urządzenie wymagane pliki specyficzne dla Automotive:
      adb sync vendor && adb reboot
    3. Poczekaj, aż urządzenie się uruchomi:

    Wskazówki

  5. Jeśli jasność ekranu jest zbyt niska:
    adb shell settings put system screen_brightness 255
  6. Uruchomienie po podłączeniu ładowarki:
    adb reboot bootloader 
    fastboot oem off-mode-charge 1
    fastboot reboot
  7. Włącz opcję Pozorowanie lokalizacji:
        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"