Appareils équipés d'Android 12 avec un noyau
les versions supérieures à v5.4 sont nécessaires
pour être livrées avec le noyau GKI. Ainsi,
les partenaires peuvent accéder à DebugFS
dans les builds userdebug pendant le développement sur GKI
noyau, la configuration de noyau CONFIG_DEBUG_FS
est activée dans defconfig GKI.
N'installez jamais DebugFS
dans les builds utilisateur pour les appareils.
sur Android 12.
Les builds userdebug offrent une meilleure couverture de test que les versions utilisateur et sont fortement
testées tout au long du cycle de développement. Le plan suivant minimise
la différence entre les deux types de compilation en ce qui concerne l'accès DebugFS
; et
offre les avantages suivants:
- Empêche les builds userdebug de dépendre accidentellement de
DebugFS
de nouvelles fonctionnalités - S'assure que toute fonctionnalité existante ne fonctionne pas en l'absence de DebugFS est connu au début du cycle de développement
Les accès Debugfs dans les builds userdebug sont classés dans les catégories suivantes : ce qui suit:
- l'initialisation du fichier
DebugFS
au démarrage de l'appareil, par exemple accès en écriture à un fichier dansDebugFS
pour activer la collecte des données de débogage. - Génération de rapport de bug: le HAL de dumpstate lit
DebugFS
fichiers lorsqueDumpstateBoard()
est appelé pardumpstate
. Ce les informations sont intégrées au rapport de bug. - Tests et validation spécifiques à chaque appareil
Le tableau suivant décrit en quoi chacune de ces trois catégories est
compatible avec Android 12. Notez que
Les éléments suivants ne s'appliquent qu'aux builds userdebug, car DebugFS
ne peut pas être
installés dans des builds utilisateur.
Cas d'utilisation | Version de débogage utilisateur Android 12 |
---|---|
Initialisation unique des fichiers DebugFS , au démarrage.
Cet accès n'est effectué qu'une seule fois au démarrage.
|
L'HAL de vidage effectue cette opération lors de l'initialisation du HAL. Pour activer ces mêmes éléments,
init installe DebugFS dans les builds userdebug avant l'initialisation du HAL.
Init appelle umount() sur DebugFS lorsque
l'appareil a
terminé le démarrage.
|
Génération de rapport de bug: la fonction HAL de dumpstate lit
Fichiers DebugFS , qui feront partie du rapport de bug.
|
Terminée par la couche de protection HAL dans DumpstateBoard() en cas d'appel par dumpstate
(DumpstateDevice.cpp).
L'outil dumpstate (qui fait partie du framework Android) garantit que DebugFS
lors de l'appel.
|
Tests et validations spécifiques à l'appareil | Racine et shell ADB. Installez DebugFS à partir de l'interface système adb avec
un accès root1.
|
1 Pour installer DebugFS
à partir de adb shell
avec
l'accès root, utilisez la commande suivante:
adb shell mount -t debugfs debugfs /sys/kernel/debug
.
Actions requises du partenaire
Les partenaires doivent adopter les mesures suivantes suite à ces modifications dans Appareils Android 12:
- Effectuer toutes les initialisations du temps de démarrage de
DebugFS
nœuds pendant l'initialisation de la couche HAL de dumpstate. Pour savoir comment procéder, consultez un exemple DNM: Exemple d'initialisation au démarrage de fichiersDebugFS
- N'autorisez pas l'accès à
DebugFS
pendant l'exécution. Les exceptions suivantes appliquer: <ph type="x-smartling-placeholder">- </ph>
- Génération d'un rapport de bug (provenant du HAL de l'état de vidage)
- Tests et validation (accessibles par
adb root
etshell
) - Assurez-vous d'abord que DebugFS est installé.)
Les développeurs peuvent définir la propriété persistante de débogage
persist.dbg.keep_debugfs_mounted
pour que DebugFs
reste installé
redémarre lors des builds userdebug et eng.
Les tests de conformité GTS garantissent que le système de fichiers DebugFS
n'est pas
installés dans des builds utilisateur. Les instructions de règles neverallow
permettent de s'assurer
sur Android 12 ou version ultérieure, les processus non autorisés ne sont pas fournis
l'accès à DebugFs
.