Dispositivi lampeggianti

Questa pagina fornisce dettagli per l'esecuzione di build su dispositivi specifici. Questi dettagli completano le informazioni contenute in Building Android .

Creazione di fastboot e adb

Se non disponi già di fastboot e adb , puoi crearli con il normale sistema di build. Utilizza le istruzioni in Creazione di Android e sostituisci il comando make principale con questo:

make fastboot adb

Per informazioni dettagliate su Android Debug Bridge (ADB), consulta Android Debug Bridge (ADB).

Avvio in modalità fastboot

Puoi eseguire il flashing di un dispositivo quando è in modalità bootloader di fastboot . Per accedere alla modalità fastboot quando un dispositivo sta eseguendo un avvio a freddo, utilizzare le combinazioni di tasti elencate in Combinazioni di tasti di avvio rapido.

Puoi anche utilizzare il comando adb reboot bootloader per riavviare direttamente nel bootloader. Per le istruzioni complete, vedere Istruzioni lampeggianti .

Sblocco del bootloader

Puoi eseguire il flashing di un sistema personalizzato solo se il bootloader lo consente. Tieni presente, tuttavia, che il bootloader è bloccato per impostazione predefinita. È possibile sbloccare il bootloader, ma così facendo si eliminano i dati dell'utente per motivi di privacy. Dopo lo sblocco, tutti i dati sul dispositivo vengono cancellati, ovvero sia i dati delle app private che i dati condivisi accessibili tramite USB (incluse foto e filmati). Prima di tentare di sbloccare il bootloader, esegui il backup di tutti i file importanti sul dispositivo.

Devi sbloccare il bootloader solo una volta e puoi bloccarlo nuovamente se necessario.

Sblocco dei dispositivi recenti

Tutti i dispositivi Nexus e Pixel rilasciati dal 2014 (a partire da Nexus 6 e Nexus 9) dispongono di una protezione con ripristino delle impostazioni di fabbrica e richiedono un processo in più fasi per sbloccare il bootloader.

  1. Per abilitare lo sblocco OEM sul dispositivo:
    1. In Impostazioni, tocca Informazioni sul telefono , quindi tocca Numero build sette volte.
    2. Quando vedi il messaggio Ora sei uno sviluppatore! , tocca il pulsante Indietro .
    3. In Impostazioni, tocca Sistema , quindi tocca Opzioni sviluppatore e attiva lo sblocco OEM e il debug USB . (Se lo sblocco OEM è disabilitato, connettiti a Internet in modo che il dispositivo possa effettuare il check-in almeno una volta. Se rimane disabilitato, la SIM del tuo dispositivo potrebbe essere bloccata dal tuo operatore e il bootloader non può essere sbloccato.)
  2. Riavvia nel bootloader e usa fastboot per sbloccarlo.
    • Per i dispositivi più recenti (2015 e versioni successive):
      fastboot flashing unlock
    • Per dispositivi meno recenti (2014 e precedenti):
      fastboot oem unlock
    Suggerimento: se visualizzi l'output di "adb devices" prima del riavvio, ma l'avvio rapido o lo script flash si comportano in modo anomalo, potrebbero esserci problemi con il cavo USB. Provare una porta diversa e/o cambiare connettore. Se utilizzi una porta USB C sul tuo computer, prova invece una porta USB A.
  3. Conferma lo sblocco sullo schermo.

Riblocco del bootloader

Per bloccare nuovamente il bootloader:

  • Per i dispositivi più recenti (2015 e versioni successive):
    fastboot flashing lock
  • Per dispositivi meno recenti (2014 e precedenti):
    fastboot oem lock

Utilizzo degli stati di blocco del flash

L'API di sistema getFlashLockState() trasmette lo stato del bootloader e l'API di sistema PersistentDataBlockManager.getFlashLockState() restituisce lo stato di blocco del bootloader sui dispositivi conformi.

Valore di ritorno Condizioni
FLASH_LOCK_UNKNOWN Restituito solo dai dispositivi che eseguono l'aggiornamento ad Android 7.x o versioni successive che in precedenza non supportavano le modifiche del bootloader necessarie per ottenere lo stato di blocco flash se supportavano la funzionalità di blocco/sblocco flash.
  • I nuovi dispositivi con Android 7.x o versioni successive devono essere nello stato FLASH_LOCK_LOCKED o FLASH_LOCK_UNLOCKED .
  • I dispositivi che eseguono l'aggiornamento ad Android 7.x o versioni successive che non supportano la funzionalità di sblocco/blocco lampeggiante dovrebbero restituire uno stato FLASH_LOCK_LOCKED .
FLASH_LOCK_LOCKED Restituito da qualsiasi dispositivo che non supporta il blocco/sblocco lampeggiante (ovvero, il dispositivo è sempre bloccato) o qualsiasi dispositivo che supporta il blocco/sblocco lampeggiante e si trova nello stato bloccato.
FLASH_LOCK_UNLOCKED Restituito da qualsiasi dispositivo che supporta il blocco/sblocco lampeggiante ed è nello stato sbloccato.

I produttori dovrebbero testare i valori restituiti dai dispositivi con bootloader bloccati e sbloccati. Ad esempio, Android Open Source Project (AOSP) contiene un'implementazione di riferimento che restituisce un valore basato sulla proprietà di avvio ro.boot.flash.locked . Il codice di esempio si trova nelle seguenti directory:

  • frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
  • frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java

Selezione di una build del dispositivo

Le build del dispositivo consigliate sono disponibili dal menu lunch , a cui si accede eseguendo il comando lunch senza argomenti. Per ulteriori informazioni sul comando lunch , vedere Scegliere una destinazione . Per un elenco delle destinazioni di compilazione, consulta Destinazioni di compilazione .

Puoi scaricare immagini di fabbrica e file binari per dispositivi Pixel e Nexus da sviluppatori.google.com . Vedi File binari del dispositivo per i download. Per dettagli e risorse aggiuntive, vedere Come ottenere file binari proprietari .

Dispositivo Nome in codice Costruisci la configurazione
Pixel 7 Pro ghepardo aosp_cheetah-userdebug
Pixel7 pantera aosp_panther-userdebug
Pixel 6Pro corvo aosp_raven-userdebug
Pixel 6 rigogolo aosp_oriole-userdebug
Pixel 5 redfin aosp_redfin-userdebug
Pixel 4a 5G rovo aosp_bramble-userdebug
Pixel 4a pesce luna aosp_sunfish-userdebug
Pixel 4XL corallo aosp_coral-userdebug
Pixel 4 fiamma aosp_flame-userdebug
Pixel 3aXL bonito aosp_bonito-userdebug
Pixel 3a Sargo aosp_sargo-userdebug
Pixel3XL tratteggio incrociato aosp_crosshatch-userdebug
Pixel 3 linea blu aosp_blueline-userdebug
Pixel2XL taimen aosp_taimen-userdebug
Pixel 2 walleye aosp_walleye-userdebug
PixelXL Marlin aosp_marlin-userdebug
Pixel pesce vela aosp_sailfish-userdebug
HiKey escursionista hikey-userdebug
Nesso 6P pescatore aosp_angler-userdebug
Nesso 5X scazzone aosp_bullhead-userdebug
Nesso 6 shamu aosp_shamu-userdebug
Lettore Nexus fugu aosp_fugu-userdebug
Nesso 9 volantis (passera) aosp_flounder-userdebug
Nexus 5 (GSM/LTE) testa di martello aosp_hammerhead-userdebug
Nexus 7 (Wi-Fi) rasoio (flo) aosp_flo-userdebug
Nexus 7 (cellulare) razorg (deb) aosp_deb-userdebug
Nesso 10 mantaray (manta) full_manta-userdebug
Nexus 4 occam (mako) full_mako-userdebug
Nexus 7 (Wi-Fi) nakasi (cernia) full_grouper-userdebug
Nexus 7 (cellulare) nakasig (tilapia) full_tilapia-userdebug
Galaxy Nexus (GSM/HSPA+) yakju (maguro) full_maguro-userdebug
Galaxy Nexus (Verizon) mysid (toro) √aosp_toro-userdebug
Galaxy Nexus (sperimentale) mysidspr (toroplus) aosp_toroplus-userdebug
Motorola Xoom (Wi-Fi USA) raggio alato full_wingray-userdebug
Nesso S soju (crespo) full_crespo-userdebug
Nexus S4G soju (crespo4g) full_crespo4g-userdebug

Lampeggiamento di un dispositivo

Puoi eseguire il flashing di un intero sistema Android con un singolo comando; in questo modo si verifica che il sistema sottoposto a flashing sia compatibile con il bootloader e la radio installati, si scrive insieme le partizioni di avvio, ripristino e sistema, quindi si riavvia il sistema. Il flashing cancella anche tutti i dati dell'utente, in modo simile al fastboot oem unlock .

Per eseguire il flashing di un dispositivo:

  1. Decomprimere il file immagine nella propria directory.
  2. Imposta la variabile di ambiente ANDROID_PRODUCT_OUT in modo che punti alla stessa directory utilizzata nel passaggio 1.
  3. Posiziona il dispositivo in modalità fastboot tenendo premuta la combinazione di tasti appropriata all'avvio o utilizzando il seguente comando:
    adb reboot bootloader
  4. Dopo che il dispositivo è in modalità di avvio rapido, esegui:
    fastboot flashall -w
    L'opzione -w cancella la partizione /data sul dispositivo; questo è utile per la prima volta che esegui il flashing di un particolare dispositivo, ma per il resto non è necessario.

Configurazioni lampeggianti

Le istruzioni di avvio rapido sono descritte in un artefatto chiamato fastboot-info.txt che si trova in $ANDROID_PRODUCT_OUT/* Questo elenco di documenti .txt di attività che Fastboot deve eseguire e può essere rigenerato tramite m fastboot_info . È possibile introdurre una logica lampeggiante personalizzata modificando questo file

comandi supportati:

  1. flash %s : esegue il flashing di una determinata partizione. Gli argomenti facoltativi includono --slot-other, {filename_path}, --apply-vbmeta
  2. update-super : aggiorna la partizione super
  3. if-wipe : esegue in modo condizionale qualche altra funzionalità se è specificata la cancellazione
  4. cancella %s : cancella una determinata partizione (può essere utilizzata solo insieme) con if-wipe -> es. if-wipe erase cache

Ripristino dei dispositivi allo stato di fabbrica

Le immagini di fabbrica per i dispositivi Google sono disponibili da Immagini di fabbrica per dispositivi Nexus e Pixel . Le immagini di fabbrica per il Motorola Xoom sono distribuite direttamente da Motorola.

Risolvi gli errori di autorizzazione negata

Per impostazione predefinita sulla maggior parte dei sistemi Linux, gli utenti non privilegiati non possono accedere alle porte USB. Se viene visualizzato un errore di autorizzazione negata, fare riferimento alle istruzioni di Android Studio per configurare un dispositivo per lo sviluppo .

Se ADB era già in esecuzione e non riesci a connetterti al dispositivo, puoi interrompere ADB con adb kill-server . Questo comando fa riavviare ADB con la nuova configurazione.