Passer au contenu principal
Docs
Nouveautés
Notes de version
Derniers bulletins de sécurité
Dernier document de définition de la compatibilité (CDD)
Mises à jour des sites
Premiers pas
À propos
Commencer
Télécharger
Créer
Test
Créer
Contribuer
Communauté
Outils, compilation et documentations associées
Sécurité
Aperçu
Bulletins
Fonctionnalités
Tests
Bonnes pratiques
Sujets principaux
Architecture
Son
Appareil photo
Connectivité
Données
Écran
Polices
Graphismes
Interaction
Contenus multimédias
Performance
Autorisations
Alimentation
Exécution
Paramètres
Storage
Tests
Mises à jour
Virtualisation
Compatibilité
Document de définition de la compatibilité (CDD)
La suite de tests de compatibilité
Appareils Android
Seiche
Entreprise
TV
Automotive
Débutter
Consignes de développement
Outils de développement
Outils et infrastructure de test
Détails de la release
Référence
HIDL
HAL
Fédération du commerce
Suite de tests de sécurité
Android Code Search
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Connexion
Documentation
Nouveautés
Premiers pas
Sécurité
Sujets principaux
Compatibilité
Appareils Android
Automotive
Référence
Docs
Plus
Nouveautés
Premiers pas
Sécurité
Sujets principaux
Compatibilité
Appareils Android
Automotive
Référence
Android Code Search
Aperçu
Architecture
Aperçu
Couche d'abstraction matérielle (HAL)
Aperçu
HIDL (obsolète)
Aperçu
Interfaces et packages
Hachage d'interface
Services et transfert de données
File d'attente des messages rapides
Utiliser l'IPC Binder
Utiliser MemoryBlock
Outils de configuration de la pile réseau
Exécution de threads de modèle
Convertir des modules HAL
Types de données
Syndicat sécurisé
Gestion des versions de l'interface
Guide de style du code
HIDL C++
Aperçu
Colis
Interfaces
Types de données
Fonctions
HIDL Java
Aperçu
Types de données
Méthodes et erreurs d'interface
Constantes d'exportation
Autre
Vérification de la rétrocompatibilité du framework HIDL
HAL disponibles dynamiquement
Anciens HAL (AOSP <=v7)
Noyau
Aperçu
Notes de version du kernel
Versions et mises à jour du noyau stables
Kernels Android courants
Projet GKI
Développement de GKI
Schéma de gestion des versions GKI
Builds de version GKI
Aperçu
Builds de version android12-5.10
Builds de version android13-5.10
Builds de version android13-5.15
Builds de version android14-5.15
Builds de version android14-6.1
Builds de version android15-6.6
Builds de version android16-6.12
Compilations obsolètes de GKI
Builds obsolètes android12-5.10
Builds obsolètes android13-5.10
Builds obsolètes android13-5.15
Builds obsolètes android14-5.15
Builds obsolètes android14-6.1
Builds obsolètes android15-6.6
Builds obsolètes android16-6.12
Processus de lancement de GKI
Erratum GKI 16-6.12 android-mainline
Maintenir un KMI stable
Surveillance de l'ABI du noyau
Aperçu
Exécuter la surveillance des ABI
Utiliser des listes de symboles
Modules
Aperçu
Configurer les fonctionnalités du kernel en tant que modules GKI
Consignes concernant les modules de fournisseurs
Modules de noyau chargeables
Compatibilité avec les modules du noyau
Tester les modules GKI
Optimisation du temps de démarrage
Fonctionnalités de débogage
Développer du code de kernel pour GKI
Prise en charge du système de fichiers du noyau Android
Étendre le noyau avec eBPF
Utiliser DebugFS dans Android 12
Module cryptographique GKI certifiable FIPS 140-3
EROFS
Questions fréquentes sur le kernel Android
Tests unitaires de mise en réseau du noyau
Transition d'ION vers les tas DMA-BUF (kernel 5.4)
Système de fichiers incrémentiel
Configuration
Aperçu
Implémenter des propriétés système en tant qu'API
Ajouter des propriétés système
Implémenter l'API Schema de fichier de configuration
Archiver
Aperçu
ConfigStore
Créer l'interface HAL
Implémenter le service
Utilisation côté client
Ajouter des classes et des éléments ConfigStore
Superpositions de l'arborescence des appareils
Aperçu
Implémenter des DTO
Syntaxe DTO
Compiler et valider
Utiliser plusieurs DT
Partitions DTB et DTBO
Optimiser des DTO
NDK du fournisseur (<=AOSP 14)
Aperçu
Activer VNDK
Compatibilité avec le système de compilation VNDK
Extensions VNDK
Conception d'instantanés VNDK
Générer des instantanés VNDK
Générer des instantanés des fournisseurs
Espace de noms de l'éditeur de liens
Répertoires, règles et sepolicy
RenderScript
Stabilité des ABI
Vérificateur d'utilisations d'ABI prédéfinis
Objet de l'interface du fournisseur
Aperçu
Fichiers manifestes
Matrices de compatibilité
Cycle de vie de FCM
Développement du fichier manifeste de l'appareil
Règles de correspondance
Ressources supplémentaires
AIDL
Aperçu
Langage AIDL
Backends AIDL
AIDL stable
AIDL pour les HAL
Exécuter des services AIDL de manière dynamique
Annotations dans AIDL
FMQ avec AIDL
Fuzzing AIDL
Guide de style AIDL
Communication interprocessus avec Binder
Aperçu
Gérer les fils de discussion
Héritage de priorité
Bootloader (chargeur d'amorçage)
Aperçu
Raison de démarrage canonique
En-tête de l'image de démarrage
Implémenter bootconfig
Images de récupération
Images DTB
Implémenter des mises à jour OTA
Verrouiller et déverrouiller le bootloader
Informations sur la version dans les propriétés AVB
Déplacer fastboot vers l'espace utilisateur
Bootloader générique
Aperçu
Déployer GBL
Partitions
Aperçu
Mise en page des partitions
Partitions de démarrage du fournisseur
Partitions du fournisseur et de l'ODM DLKM
Image système partagée Android
Partitions de ramdisk
Partition de démarrage générique
Partitions ODM
Partitions de produits
Implémenter une partition de module GKI
Appliquer les interfaces de partitionnement des produits
Partitions de l'OS Trusty
Taille de page de 16 ko
Aperçu
Utiliser Cuttlefish avec une taille de page de 16 ko sur ARM64
Simuler Cuttlefish avec une taille de page de 16 ko sur x86-64
Compiler et flasher des appareils Pixel 8 compatibles avec les pages de 16 ko
Flasher un Pixel avec une taille de page de 16 ko
Obtenir la taille de la page
Optimiser les performances pour le mode 16 ko
Propriétés système de 16 ko
Activer le bouton d'activation des pages de 16 ko
Activer l'option de rétrocompatibilité 16 ko
Niveau de l'API du fournisseur
Son
Aperçu
Terminologie
Implémentation
HAL audio
HAL audio AIDL
Compatibilité avec les règles audio configurables dans l'HAL AIDL
Comparaison entre les HAL audio AIDL et HIDL
HIDL
HIDL Audio HAL
Configurer les règles audio
Configurer une bibliothèque partagée
Configurer les effets de prétraitement
Formats de données
Attributs
Effets
Audio haute résolution
Limite du type d'appareil
AAudio et MMAP
Préparation audio
Latence
Aperçu
Contributeurs
Concevoir pour une latence réduite
Mesurer la latence audio
Dongle de bouclage audio
Mesures
Pour les développeurs d'applications
Éviter l'inversion de priorité
Conversion du taux d'échantillonnage
Débogage
MIDI
Aperçu
Architecture MIDI
Procédure de test MIDI
USB
Audio numérique USB
Attributs de mixeur préférés sur les appareils USB
Audio TV
Capture simultanée
Déclencheur sonore
Routage combiné des appareils audio
Son spatial
Son spatial et suivi de la tête
Implémentation
Suivi de la tête via LE Audio
Dose sonore
Mode barre de son dynamique
Appareil photo
Aperçu
Architecture
HAL de l'appareil photo
Sous-système HAL
Concepts fondamentaux
Modes 3A et transition d'état
Débogage de la caméra
Traitement des erreurs et des flux
Métadonnées et commandes
Flux de sortie, recadrage et zoom
Création et envoi de la demande
Configurations de flux
Performance
API de gestion des tampons HAL3 de l'appareil photo
Paramètres de session
Un seul producteur, plusieurs consommateurs
Fonctionnalités de l'appareil photo
Sortie de la caméra 10 bits
Bokeh de l'appareil photo
Diffusion simultanée du flux de la caméra
Extensions pour l'appareil photo
Outil de validation des extensions d'appareil photo
Stabilisation de l'aperçu de l'appareil photo
Caméras USB externes
Modes HDR
imagerie HEIF
Caméras monochromes
Suivi des mouvements
Compatibilité avec plusieurs caméras
Caméras du système
Contrôle de l'intensité de la lampe de poche
Ultra HDR
Utiliser un appareil comme webcam
Capture à large gamme de couleurs
Gestion des versions
Compatibilité des versions de l'appareil photo
Connectivité
Aperçu
Bluetooth
Aperçu
Services Bluetooth
Bluetooth à basse consommation
Compatibilité avec les appareils auditifs via le BLE
Publicité BLE
Vérifier et déboguer
Exigences concernant l'IHC
Calibrage de la présence
Identification de l'OS Android
NFC
Émulation de carte hôte de FeliCa
Synchronisation des paiements hors hôte NFC
Sécuriser la fonctionnalité NFC
Accès rapide à votre carte de paiement
Commandes NCI propriétaires Android
Appels et messages
5G non autonome (NSA)
Implémenter le blocage des numéros de téléphone
Notifications d'appel
Service de sélection de domaine
Implémenter une affordance d'urgence
Base de données des numéros d'urgence Android
Numéros d'urgence et appels d'urgence
Implémenter IMS
Droit d'accès au service IMS
Enregistrement unique IMS
Suggestion de compte de téléphone
Implémenter le RTT
Prise en charge des applications d'appel tierces
Messagerie vocale visuelle
Opérateur
Aperçu
Fractionnement de réseau 5G
APN et CarrierConfig
Identification de l'opérateur
Implémenter des plans de données
Identifiants des appareils
eSIM
Implémenter l'eSIM
Exigences concernant le modem pour la prise en charge de l'eSIM
API eUICC
Plusieurs profils activés
Gérer les erreurs de l'API eUICC
Profils de test téléchargeables
Intégration de l'opérateur de transfert d'eSIM
Améliorer l'expérience utilisateur du VPN
Compatibilité avec les réseaux multi-opérateurs
Personnaliser le comportement de l'appareil pour les utilisateurs en déséquilibre
Refactorisation de RIL
Compatibilité avec les petites cellules
Droits de l'opérateur sur la carte UICC
Heure
Aperçu
Détection du fuseau horaire basée sur la position
Détection du fuseau horaire de téléphonie
Détection du temps réseau
Détection de l'heure GNSS
Détection de l'heure externe
Priorité de la source temporelle
Règles et recommandations concernant les fuseaux horaires
Règles concernant les fuseaux horaires
Bande ultralarge
Aperçu
Interface HAL UWB
Wi-Fi
Aperçu
HAL Wi-Fi
Fonctionnalités de l'infrastructure Wi-Fi
Tester, déboguer et régler le Wi-Fi
Filtre de paquets Android
Wi-Fi de l'opérateur
Comportement de la randomisation MAC
Implémenter la randomisation MAC
Passpoint (Hotspot 2.0)
Concurrency Wi-Fi STA/AP
Concurrency STA/STA Wi-Fi
Faire confiance lors de la première utilisation (TOFU)
Wi-Fi Aware
Évitement des canaux de coexistence Wi-Fi/mobile
Wi-Fi Direct
Wi-Fi Easy Connect
Point d'accès Wi-Fi (Soft AP)
Concurrency AP/AP Wi-Fi
Mode Wi-Fi à faible latence
Sélection du réseau Wi-Fi
Recherche de points d'accès Wi-Fi pour le déchargement réseau préféré
Délai aller-retour (DAR) du Wi-Fi
WPA3 et Wi-Fi Enhanced Open
Wi-Fi 7
Profils d'appareils associés
API Connectivity Diagnostics
Interface utilisateur de la connectivité
Sélection du réseau
Évaluation de la portée: séquence de messages hors bande et spécification de la charge utile
Rapports sur l'intensité du signal
Données
Aperçu
Explication des tags d'utilisation des données
Mode Sauvegarde des données
Surveillance du trafic eBPF
Exclure les types de réseaux des données d'utilisation
Présentation des statistiques des interfaces réseau
Données de partage de connexion
Déchargement matériel du partage de connexion
Dates de réinitialisation du cycle de consommation
Présentation du noyau
Modifications apportées au noyau
Écran
Aperçu
Applis
Implémenter des icônes adaptatives
Raccourcis d'application
Implémenter des icônes circulaires
Notifications et widgets de conversation
Flous de fenêtre
Widgets et raccourcis
Implémenter des transitions d'application synchronisées
Couleur
Gestion des couleurs
Encoches
Ne pas déranger
Lecture de vidéos HDR
Implémenter l'éclairage nocturne
Mappage des tons de la luminance HDR sur une plage compatible avec le SDR
Conception Material You
Couleurs dynamiques
Appareils pliables
Positions en tente et en coin
Multifenêtre
Aperçu
Fonctionnalités de fenêtrage du bureau
Interactions en mode Écran partagé
Picture-in-picture
Agrandissement de la fenêtre
Multi-écran
Aperçu
Pratiques recommandées
Environnement de test et de développement
Questions fréquentes
Multireprise
Règle de lancement d'activité
Compatibilité avec les écrans
Compatibilité avec les décorations système
Écran de verrouillage
Prise en charge de l'éditeur de mode de saisie
Routage des entrées
Audio multizone
Notifications
Historique des notifications
Autorisation pour les notifications nécessitant une confirmation
Gestionnaire de tâches
Mode démo en magasin
Suggestions de rotation
Implémenter un classificateur de texte
Composition SDR et HDR mixte
Commandes multimédias dans l'UI du système
Extensions WindowManager
Polices
Implémenter une police de remplacement personnalisée
Graphismes
Aperçu
Architecture
BufferQueue et Gralloc
Implémenter la comptabilité de la mémoire DMABUF et du GPU
Tracer les transitions de fenêtre à l'aide de Winscope
Aperçu
Exécuter Winscope
Capturer des traces
Aperçu
ViewCapture dans les applications système
Sur l'appareil
Utiliser Winscope
Utiliser des commandes adb
Traces de chargement
Analyser les traces
Aperçu
Navigation dans Timeline
Recherche de trace
SurfaceFlinger
WindowManager
Protolog
Transitions de shell
ViewCapture
Surface et SurfaceHolder
Aperçu
SurfaceView et GLSurfaceView
SurfaceTexture
TextureView
SurfaceFlinger et WindowManager
Aperçu
Propriétés système dans SurfaceFlinger
HAL Hardware Composer
Aperçu
Implémenter le HAL HWC
Gestion du branchement à chaud
AIDL pour le HAL HWC
Gestion du framebuffer client
Réduire la consommation de mémoire graphique
Couches et écrans
VSync
Frame Pacing
Fréquence d'actualisation multiple
Fréquence d'actualisation adaptative
EGLSurfaces et OpenGL ES
Aperçu
Implémenter OpenGL ES et EGL
Configuration d'OpenGLRenderer
Vulkan
Aperçu
Implémenter Vulkan
Framework de synchronisation
Tests
Tests d'implémentation
Intégrer à Android CTS
Tests du programme de qualité drawElements
Verrouillage de tampon non signalé avec AutoSingleLayer
Ajouter de nouveaux formats de pixel à Android
HDR dans les captures d'écran Android
Interaction
Aperçu
Entrée
Aperçu
Fichiers de disposition des touches
Fichiers de mappage des caractères clés
Fichiers de configuration des périphériques d'entrée
Guide de migration
Appareils avec clavier
Appareils tactiles
Outil getevent
Outil validatekeymaps
Technologie tactile
Aperçu
Implémenter le retour haptique
Aperçu
Implémenter des constantes et des primitives
Mappage des constantes entre HAL et l'API
Implémenter des effets d'enveloppe linéaire par morceaux
Évaluer le matériel
Base de l'expérience utilisateur pour le framework haptique
Conception UX haptique
Évaluation du matériel
Aperçu
Configurer l'équipement de test
Configurer le logiciel de test
Mesurer et enregistrer les effets cibles
Analyser la forme d'onde
Comparer les résultats à l'aide du plan des performances
Réseaux de neurones
Aperçu
Exécutions intensives et files d'attente de messages rapides
Mise en cache de la compilation
Flux de contrôle
Détection et attribution d'appareils
Pools de mémoire
Bonnes pratiques d'implémentation du pilote NNAPI
Qualité de service
Extensions de fournisseurs
Périphériques
Aperçu
Accessoires audio
Aperçu
Casque 3,5 mm
Spécifications du casque
Caractéristiques de l'appareil avec connecteur casque
Casque USB
Spécifications du casque
Spécifications de l'adaptateur
Caractéristiques de l'appareil
Comportement attendu du casque
Test du casque
Accessoires personnalisés
Aperçu
Accessoire Android Open
Aperçu
AOA 2.0
AOA 1.0
Désactiver la signalisation de données via USB
Stylet
Capteurs
Aperçu
Pile de capteurs
Types de capteurs
Interaction
Protocole HID du suivi de la tête
Alimentation
Traitement par lot
Consommation d'énergie
Modes
Modes de création de rapports
Mode suspendu
Capteurs désactivés
HAL des capteurs
HAL Sensors AIDL
Multi-HAL des capteurs