Appareils clignotants

Cette page fournit des détails sur l’exécution de builds sur des appareils spécifiques. Ces détails complètent les informations de Building Android .

Construire fastboot et adb

Si vous n'avez pas déjà fastboot et adb , vous pouvez les construire avec le système de build standard. Utilisez les instructions dans Building Android et remplacez la commande principale make par celle-ci :

make fastboot adb

Voir Android Debug Bridge (ADB) pour plus de détails sur Android Debug Bridge (ADB).

Démarrage en mode fastboot

Vous pouvez flasher un périphérique lorsqu'il est en mode chargeur de démarrage fastboot . Pour passer en mode fastboot lorsqu'un périphérique subit un démarrage à froid, utilisez les combinaisons de touches répertoriées dans Combinaisons de touches Fastboot.

Vous pouvez également utiliser la commande adb reboot bootloader pour redémarrer directement dans le bootloader. Voir les instructions clignotantes pour des instructions complètes.

Déverrouiller le chargeur de démarrage

Vous pouvez flasher un système personnalisé uniquement si le chargeur de démarrage le permet. Notez cependant que le chargeur de démarrage est verrouillé par défaut. Vous pouvez déverrouiller le chargeur de démarrage, mais cela supprime les données utilisateur pour des raisons de confidentialité. Après le déverrouillage, toutes les données de l'appareil sont effacées, c'est-à-dire les données privées des applications et les données partagées accessibles via USB (y compris les photos et les films). Avant d'essayer de déverrouiller le chargeur de démarrage, sauvegardez tous les fichiers importants sur l'appareil.

Vous ne devez déverrouiller le chargeur de démarrage qu'une seule fois et vous pouvez le reverrouiller si nécessaire.

Déverrouiller les appareils récents

Tous les appareils Nexus et Pixel commercialisés depuis 2014 (à commencer par Nexus 6 et Nexus 9) disposent d'une protection de réinitialisation d'usine et nécessitent un processus en plusieurs étapes pour déverrouiller le chargeur de démarrage.

  1. Pour activer le déverrouillage OEM sur l'appareil :
    1. Dans Paramètres, appuyez sur À propos du téléphone , puis appuyez sept fois sur Numéro de build .
    2. Lorsque vous voyez le message Vous êtes maintenant développeur ! , appuyez sur le bouton Retour .
    3. Dans Paramètres, appuyez sur Système , puis sur Options du développeur et activez le déverrouillage OEM et le débogage USB . (Si le déverrouillage OEM est désactivé, connectez-vous à Internet pour que l'appareil puisse s'enregistrer au moins une fois. S'il reste désactivé, votre appareil peut être verrouillé par la carte SIM par votre opérateur et le chargeur de démarrage ne peut pas être déverrouillé.)
  2. Redémarrez dans le chargeur de démarrage et utilisez fastboot pour le déverrouiller.
    • Pour les appareils plus récents (2015 et versions ultérieures) :
      fastboot flashing unlock
    • Pour les appareils plus anciens (2014 et versions antérieures) :
      fastboot oem unlock
    Astuce : si vous voyez la sortie « périphériques adb » avant le redémarrage mais que le démarrage rapide ou le script flash se comporte mal, il peut s'agir d'un problème avec votre câble USB. Essayez un autre port et/ou des connecteurs de commutation. Si vous utilisez un port USB C sur votre ordinateur, essayez plutôt un port USB A.
  3. Confirmez le déverrouillage à l'écran.

Reverrouillage du chargeur de démarrage

Pour reverrouiller le bootloader :

  • Pour les appareils plus récents (2015 et versions ultérieures) :
    fastboot flashing lock
  • Pour les appareils plus anciens (2014 et versions antérieures) :
    fastboot oem lock

Utilisation des états de verrouillage Flash

L'API système getFlashLockState() transmet l'état du chargeur de démarrage et l'API système PersistentDataBlockManager.getFlashLockState() renvoie l'état de verrouillage du chargeur de démarrage sur les appareils compatibles.

Valeur de retour Conditions
FLASH_LOCK_UNKNOWN Renvoyé uniquement par les appareils mis à niveau vers Android 7.x ou version ultérieure qui ne prenaient pas en charge auparavant les modifications du chargeur de démarrage requises pour obtenir l'état de verrouillage flash s'ils prenaient en charge la fonctionnalité de verrouillage/déverrouillage clignotant.
  • Les nouveaux appareils exécutant Android 7.x ou version ultérieure doivent être dans un état FLASH_LOCK_LOCKED ou FLASH_LOCK_UNLOCKED .
  • Les appareils mis à niveau vers Android 7.x ou version ultérieure qui ne prennent pas en charge la fonctionnalité de déverrouillage/verrouillage clignotant doivent renvoyer un état FLASH_LOCK_LOCKED .
FLASH_LOCK_LOCKED Renvoyé par tout appareil qui ne prend pas en charge le verrouillage/déverrouillage clignotant (c'est-à-dire que l'appareil est toujours verrouillé), ou par tout appareil qui prend en charge le verrouillage/déverrouillage clignotant et qui est dans l'état verrouillé.
FLASH_LOCK_UNLOCKED Renvoyé par tout appareil prenant en charge le verrouillage/déverrouillage clignotant et étant à l'état déverrouillé.

Les fabricants doivent tester les valeurs renvoyées par les appareils dotés de chargeurs de démarrage verrouillés et déverrouillés. Par exemple, le projet Android Open Source (AOSP) contient une implémentation de référence qui renvoie une valeur basée sur la propriété de démarrage ro.boot.flash.locked . L'exemple de code se trouve dans les répertoires suivants :

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

Sélection d'une version d'appareil

Les versions de périphérique recommandées sont disponibles dans le menu lunch , accessible lors de l'exécution de la commande lunch sans argument. Pour plus d'informations sur la commande lunch , voir Choisir une cible . Pour obtenir la liste des cibles de build, consultez Cibles de build .

Vous pouvez télécharger des images d'usine et des fichiers binaires pour les appareils Pixel et Nexus à partir de Developers.google.com . Voir Fichiers binaires de l'appareil pour les téléchargements. Pour plus de détails et des ressources supplémentaires, consultez Obtention de binaires propriétaires .

Appareil Nom de code Configuration de construction
Pixel 7 Pro guépard aosp_cheetah-userdebug
Pixel 7 panthère aosp_panther-userdebug
Pixel 6 Pro corbeau aosp_raven-userdebug
Pixel 6 loriot aosp_oriole-userdebug
Pixel 5 redfin aosp_redfin-userdebug
Pixel 4a 5G roncier aosp_bramble-userdebug
Pixel 4a crapet aosp_sunfish-userdebug
Pixel 4 XL corail aosp_coral-userdebug
Pixel4 flamme aosp_flame-userdebug
Pixel 3a XL bonite aosp_bonito-userdebug
Pixel 3a sargo aosp_sargo-userdebug
Pixel 3 XL hachures aosp_crosshatch-userdebug
Pixel 3 Ligne bleue aosp_blueline-userdebug
Pixel 2 XL Taimen aosp_taimen-userdebug
Pixel2 doré aosp_walleye-userdebug
Pixel XL marlin aosp_marlin-userdebug
Pixels voilier aosp_sailfish-userdebug
HiKey randonnée hikey-userdebug
Nexus 6P pêcheur aosp_angler-userdebug
Nexus 5X barbotte aosp_bullhead-userdebug
Nexus 6 shamou aosp_shamu-userdebug
Joueur Nexus fugu aosp_fugu-userdebug
Nexus 9 volantis (flet) aosp_flounder-userdebug
Nexus 5 (GSM/LTE) requin-marteau aosp_hammerhead-userdebug
Nexus 7 (Wi-Fi) rasoir (flo) aosp_flo-userdebug
Nexus 7 (mobile) rasoir (deb) aosp_deb-userdebug
Nexus 10 raie manta (manta) full_manta-userdebug
Nexus 4 occam (mako) full_mako-userdebug
Nexus 7 (Wi-Fi) nakasi (mérou) full_grouper-userdebug
Nexus 7 (mobile) nakasig (tilapia) full_tilapia-userdebug
Galaxy Nexus (GSM/HSPA+) yakju (maguro) full_maguro-userdebug
Galaxy Nexus (Verizon) myside (toro) √aosp_toro-userdebug
Galaxy Nexus (expérimental) mysidspr (toroplus) aosp_toroplus-userdebug
Motorola Xoom (Wi-Fi américain) raie ailée full_wingray-userdebug
Nexus S soju (crespo) full_crespo-userdebug
Nexus S 4G sojus (crespo4g) full_crespo4g-userdebug

Flasher un appareil

Vous pouvez flasher un système Android entier en une seule commande ; cela vérifie que le système flashé est compatible avec le chargeur de démarrage et la radio installés, écrit les partitions de démarrage, de récupération et système ensemble, puis redémarre le système. Le clignotement efface également toutes les données utilisateur, de la même manière que fastboot oem unlock .

Pour flasher un appareil :

  1. Décompressez le fichier image dans son propre répertoire.
  2. Définissez la variable d'environnement ANDROID_PRODUCT_OUT pour qu'elle pointe vers le même répertoire que celui utilisé à l'étape 1.
  3. Placez l'appareil en mode fastboot en maintenant la combinaison de touches appropriée au démarrage ou en utilisant la commande suivante :
    adb reboot bootloader
  4. Une fois le périphérique en mode de démarrage rapide, exécutez :
    fastboot flashall -w
    L'option -w efface la partition /data du périphérique ; ceci est utile pour la première fois que vous flashez un appareil particulier, mais autrement inutile.

Configurations clignotantes

Les instructions de Fastboot sont énoncées dans un artefact appelé fastboot-info.txt qui se trouve dans $ANDROID_PRODUCT_OUT/* Ce document .txt liste les tâches à exécuter par fastboot et peut être régénéré via m fastboot_info . Une logique de clignotement personnalisée peut être introduite en modifiant ce fichier

commandes prises en charge :

  1. flash %s : Flasher une partition donnée. Les arguments facultatifs incluent --slot-other, {filename_path}, --apply-vbmeta
  2. update-super : Met à jour la super partition
  3. if-wipe : exécute conditionnellement une autre fonctionnalité si wipe est spécifié
  4. effacer %s : Effacer une partition donnée (ne peut être utilisé qu'en conjonction) avec if-wipe -> par exemple. if-wipe erase cache

Restauration des appareils à l'état d'usine

Les images d'usine pour les appareils Google sont disponibles à partir de Factory Images for Nexus et Pixel Devices . Les images d'usine du Motorola Xoom sont distribuées directement par Motorola.

Résoudre les erreurs d'autorisation refusée

Par défaut sur la plupart des systèmes Linux, les utilisateurs non privilégiés ne peuvent pas accéder aux ports USB. Si vous voyez une erreur d'autorisation refusée, reportez-vous aux instructions d'Android Studio pour configurer un appareil pour le développement .

Si ADB était déjà en cours d'exécution et ne parvient pas à se connecter à l'appareil, vous pouvez arrêter ADB avec adb kill-server . Cette commande provoque le redémarrage d'ADB avec la nouvelle configuration.