À partir de 2026, pour nous aligner sur notre modèle de développement stable et garantir la stabilité de la plate-forme pour l'écosystème, nous publierons le code source sur AOSP au deuxième et au quatrième trimestre. Pour créer et contribuer dans AOSP, utilisez android-latest-release. La branche de fichier manifeste android-latest-release fera toujours référence à la version la plus récente envoyée à AOSP. Pour en savoir plus, consultez Modifications apportées à AOSP.
Google utilise la technologie IA pour traduire le contenu dans votre langue préférée. Les traductions générées par IA peuvent contenir des erreurs.
Règles SELinux pour les tests d'appareils
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Lorsque atest exécute des tests sur l'appareil, il envoie le binaire de test et ses ressources à la partition /data, puis l'exécute avec adb shell.atest L'exécutable de test
utilise le shell domaine SELinux. Par conséquent, il reçoit les règles SELinux
associées au domaine shell. Lorsque l'appareil est exécuté en mode SELinux appliqué, les tests d'appareil qui enfreignent ces règles échouent avec une erreur SELinux.
Le domaine shell ne comporte pas de règles allow pour les éléments suivants :
Accéder aux fichiers de la partition /vendor, y compris les liens avec les bibliothèques installées sur la partition /vendor.
Appeler une interface Binder arbitraire.
Si un test d'appareil nécessite l'une de ces autorisations ou les deux, vous devez l'exécuter avec des autorisations root. Lorsque adbd dispose d'autorisations root, adbd utilise
le domaine SELinux su sur l'appareil au lieu de shell, qui dispose
de davantage de privilèges.
Pour exécuter un test d'appareil à l'aide d'autorisations root, ajoutez la propriété require_root: true à la définition du module Soong correspondant dans le fichier Android.bp.
// file: Android.bp
rust_test {
name: "example_rust_test_that requires root",
// ...
rustlibs: [
"some-vendor-lib",
],
// This example test requires root permissions, because it calls Binder
// interfaces unavailable for the shell, and also links with a vendor
// library.
require_root: true,
}
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/06/18 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/06/18 (UTC)."],[],[]]