Dispositivos Pixel como plataformas de desenvolvimento

Este guia é destinado principalmente a desenvolvedores que querem testar e desenvolver usando o AAOS

Avisos

Estas limitações se aplicam ao usar um Pixel como plataformas de desenvolvimento:

Existe a chance de você conseguir bloquear seu dispositivo, mas use-o com cautela.
  • O Pixel Tablet foi verificado e tem suporte. Acesse a página Google Store para comprá-lo.

  • Os dispositivos a seguir são compatíveis, mas não foram testados ativamente. Faça o download e, em seguida, siga as instruções e altere os comandos conforme necessário:
    • Pixel 5
    • Pixel 6, 6a e 6Pro
    • Pixel 7, 7a e 7Pro
    • Pixel 8 e 8Pro
  • Você precisa usar o Android 14 , build android-14.0.0_r30

  • Suporte limitado para perfis Bluetooth e alguns dos perfis não funcionarão de forma alguma
  • O tablet não é compatível com GPS, a localização exige um "app de local fictício ou semelhante"

Pré-requisitos

Antes de continuar, confirme se você tem os seguintes itens:

  1. É necessário desbloquear o OEM.
  2. Computador Linux capaz de criar código Android. Para mais informações, consulte Como estabelecer um ambiente de build.

Sincronização e build de código

  1. Para sincronizar o build AP1A.240405.002 do Android :
    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. Faça o download da imagem do fornecedor para dispositivos Pixel em developers.google.com para 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. Aplicar um patch
    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. Execute o build. :
    . build/envsetup.sh
    lunch aosp_tangorpro_car-ap1a-userdebug
    m
    
  5. Crie os pacotes relacionados ao Automotive:
    m android.hardware.automotive.vehicle@2.0-default-service android.hardware.automotive.audiocontrol-service.example 
    

Configurar o dispositivo para atualizar o build

Ative as Opções do desenvolvedor se ainda não tiver feito isso. Acesse Configurações > Sistema > "Sobre o dispositivo" e toque em "Número da versão" sete vezes.

Quando você ativar as Opções do desenvolvedor:

  1. Acesse Configurações > Sistema > Opções do desenvolvedor e ative a Depuração USB e Desbloqueio de OEM:
Envio de bugs em USB Desbloqueio de OEM

Atualizar o build

  1. Para colocar o dispositivo no modo fastboot e depois o desbloqueio:
    adb reboot bootloader
    fastboot flashing unlock
    
  2. No dispositivo, selecione "Desbloquear o carregador de inicialização". Essa ação apaga tudo dados no dispositivo.
  3. Para atualizar o build:
    fastboot -w flashall
    
  4. Após o build, comece a inicializar com animação:
    1. Para ativar 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. Para enviar os arquivos necessários específicos do Automotive para o dispositivo:
      adb sync vendor && adb reboot
      
    3. Aguarde o dispositivo ser iniciado:

    Dicas

  5. Se o brilho da tela estiver muito baixo:
    adb shell settings put system screen_brightness 255
    
  6. Inicializar quando o carregador estiver conectado:
    adb reboot bootloader 
    fastboot oem off-mode-charge 1
    fastboot reboot
    
  7. Ativar localização simulada:
        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. Em caso de problemas, entre em contato com aaos-on-phone@google.com