ALWAYS_SANDBOX_DISPLAY_APIS
ID de modification: 185004937
État par défaut: Désactivé pour toutes les applications.
Lorsque cette modification est activée, le bac à sable de l'API Display est appliqué à un package, quel que soit le mode de fenêtrage. Les API Display fournissent toujours les limites de l'application.
Pour en savoir plus sur ce changement, consultez la section sur les
méthodes Display obsolètes de la page dédiée aux modifications de comportement d'Android 12.
|
AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
ID de modification: 163400105
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 32) ou version ultérieure.
À partir d'Android 12, la plate-forme peut fournir des suggestions non textuelles (telles que des images) à l'aide du framework de saisie automatique augmenté (voir les services de saisie automatique). Pour qu'une application puisse gérer ces suggestions, elle doit normalement implémenter l'API OnReceiveContentListener .
Pour faciliter l'adoption de cette API pour les applications qui ont déjà implémenté l'API InputConnection.commitContent(InputContentInfo, int, Bundle) , nous la réutilisons en remplacement si OnReceiveContentListener n'est pas encore implémenté par l'application. Ce remplacement n'est activé que sur Android 12 (niveau d'API 31). Cet ID de modification désactive la création de remplacement. Les applications ciblant Android 12 (niveau d'API 32) ou version ultérieure doivent implémenter l'API OnReceiveContentListener pour accepter les suggestions non textuelles.
|
BLOCK_FLAG_SLIPPERY
ID de modification: 157929241
État par défaut: Activé pour toutes les applications.
Pour les applications exécutées sous Android 12 (niveau d'API 31), vérifie si FLAG_SLIPPERY est utilisé avec des fenêtres de l'application. Il est probable que cet indicateur ne soit utilisé que par les composants système, car il s'agit d'un champ non compatible. Si c'est le cas, elle sera soumise à des restrictions.
|
BLOCK_GPS_STATUS_USAGE
ID de modification: 144027538
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, toute utilisation des API GpsStatus doit être remplacée par les API GnssStatus .
|
BLOCK_IMMUTABLE_PENDING_INTENTS
ID de modification: 171317480
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les objets PendingIntent
immuables transmis aux API de localisation génèrent une IllegalArgumentException.
|
BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
ID de modification: 169887240
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les API système LocationRequest ne peuvent pas être utilisées avec les demandes de localisation PendingIntent .
|
BLOCK_UNTRUSTED_TOUCHES
ID de modification: 158002302
État par défaut: Activé pour toutes les applications.
Pour préserver la sécurité du système et une bonne expérience utilisateur, Android 12 empêche les applications de consommer des événements tactiles lorsqu'une superposition la bloque de manière non sécurisée.
Pour en savoir plus sur ce changement, consultez Les événements tactiles non approuvés sont bloqués.
|
CALL_ACTIVITY_RESULT_BEFORE_RESUME
ID de modification: 78294732
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 32) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 32) ou version ultérieure, corrige le cycle de vie du résultat de l'activité pour garantir qu'une activité obtient le résultat juste avant sa reprise.
|
CAMERA_MIC_INDICATORS_NOT_PRESENT
ID de modification: 162547999
État par défaut: Désactivé pour toutes les applications.
Indique que cet appareil est compatible avec les indicateurs d'appareil photo et de micro. La valeur est false si présente, car la méthode CompatChanges#isChangeEnabled renvoie true si l'ID de modification n'est pas présent.
|
CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
ID de modification: 146211400
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 32) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 32) ou version ultérieure, le gestionnaire de packages n'installera pas de package si le format des groupes d'autorisations est incorrect.
Les groupes d'autorisations ne doivent être partagés qu'entre les applications partageant un même certificat. Si une autorisation appartient à un groupe, ce groupe doit également être défini.
|
CHANGE_ID_AUTH_STATE_DENIED
ID de modification: 181350407
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications clientes ciblant Android 12 (niveau d'API 31) ou version ultérieure, une erreur SecurityException est générée lorsqu'elles se trouvent à l'état d'autorisation refusée et tentent d'envoyer un message à une nanoapp.
|
CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
ID de modification: 136069189
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, une SecurityException est générée lorsqu'elles ne disposent pas de l'autorisation HIGH_SAMPLING_RATE_SENSORS , qu'elles s'exécutent en mode débogage et qu'elles demandent des taux d'échantillonnage supérieurs à 200 Hz.
|
DELIVER_HISTORICAL_LOCATIONS
ID de modification: 73144566
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les clients de localisation peuvent recevoir un historique des positions (antérieures à l'heure actuelle) dans certaines circonstances.
|
DISPLAY_INFO_NR_ADVANCED_SUPPORTED
ID de modification: 181658987
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, fournit une rétrocompatibilité pour les modifications apportées dans TelephonyDisplayInfo .
|
DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
ID de modification: 170503758
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, la plate-forme peut limiter la fréquence d'images d'une application à un diviseur de la fréquence d'actualisation si elle est plus préférable (par exemple, si l'application appelle Surface.setFrameRate(float, int) ). Les applications rencontreront des rappels Choreographer.postFrameCallback(Choreographer.FrameCallback) et une contre-pression au niveau de la fréquence d'images limitée. Les applications utilisent Display.getRefreshRate() et Display.Mode.getRefreshRate() pour connaître la fréquence d'actualisation de l'écran. Display.getRefreshRate() renvoie toujours la fréquence d'images de l'application et non la fréquence d'actualisation de l'écran physique pour permettre aux applications de gérer correctement le frame pacing. Display.Mode.getRefreshRate() renvoie la fréquence d'images de l'application si elle est compilée avec une version précédente. À partir d'Android 12 (niveau d'API 31), elle renvoie la fréquence d'actualisation de l'écran physique.
|
DOWNSCALED
ID de modification: 168419799
État par défaut: Désactivé pour toutes les applications.
Cette modification contrôle toutes les modifications à la baisse de la mémoire tampon par application. L'activation de cette modification permet d'appliquer les facteurs de scaling suivants:
Lorsque cette modification est activée pour un package d'application, l'application est automatiquement redimensionnée au facteur de scaling le plus élevé activé. Par exemple, la valeur 80% est utilisée si les valeurs 80% et 70 % (DOWNSCALE_80 et DOWNSCALE_70 ) sont toutes deux activées.
|
DOWNSCALE_30
ID de modification: 189970040
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 30% de l'affichage réel.
|
DOWNSCALE_35
ID de modification: 189969749
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 35% de l'affichage réel.
|
DOWNSCALE_40
ID de modification: 189970038
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 40% de l'affichage réel.
|
DOWNSCALE_45
ID de modification: 189969782
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 45% de l'affichage réel.
|
DOWNSCALE_50
ID de modification: 176926741
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 50% de la résolution verticale et horizontale de l'affichage réel.
|
DOWNSCALE_55
ID de modification: 189970036
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 55% de la résolution verticale et horizontale de l'affichage réel.
|
DOWNSCALE_60
ID de modification: 176926771
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 60% de l'affichage réel.
|
DOWNSCALE_65
ID de modification: 189969744
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 65% de l'affichage réel.
|
DOWNSCALE_70
ID de modification: 176926829
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 70% de l'affichage réel.
|
DOWNSCALE_75
ID de modification: 189969779
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 75% de l'affichage réel.
|
DOWNSCALE_80
ID de modification: 176926753
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 80% de l'affichage réel.
|
DOWNSCALE_85
ID de modification: 189969734
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 85% de l'affichage réel.
|
DOWNSCALE_90
ID de modification: 182811243
État par défaut: Désactivé pour toutes les applications.
Lorsque DOWNSCALED est également activé, l'activation de cette modification pour un package oblige l'application à supposer qu'elle s'exécute sur un écran dont la résolution verticale et horizontale correspond à 90% de l'affichage réel.
|
DO_NOT_DOWNSCALE_TO_1080P_ON_TV
ID de modification: 157629738
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Les applications Android TV ciblant Android 12 (niveau d'API 31) ou version ultérieure devraient gérer toutes les tailles de fenêtre, y compris celles supérieures à 1080p.
Les applications qui ciblent des versions antérieures d'Android ne s'attendent pas à recevoir des fenêtres supérieures à 1080p. Leur fenêtre est donc réduite à 1080p si nécessaire.
|
DROP_CLOSE_SYSTEM_DIALOGS
ID de modification: 174664120
État par défaut: Activé pour toutes les applications.
Pour améliorer le contrôle utilisateur lors des interactions avec les applications et le système, l'action d'intent ACTION_CLOSE_SYSTEM_DIALOGS est obsolète depuis Android 12.
Pour en savoir plus sur ce changement, consultez Les applications ne peuvent pas fermer les boîtes de dialogue système.
|
ENABLE_CHECKS_FOR_PRIVATE_FILES
ID de modification: 172100307
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure ne peuvent pas insérer ni mettre à jour de fichiers privés via le fournisseur multimédia.
|
ENABLE_DEFERRED_SCAN
ID de modification: 180326732
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Activez cette option pour différer l'analyse déclenchée dans MediaProvider#update() .
|
ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
ID de modification: 157233955
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, active la protection READ_PHONE_STATE sur les API qui interrogent et notifient l'état des appels, telles que TelecomManager#getCallState , TelephonyManager.getCallStateForSubscription() et TelephonyCallback.CallStateListener .
|
ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
ID de modification: 183407956
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, active les protections READ_PHONE_NUMBERS ou READ_PRIVILEGED_PHONE_STATE sur getPhoneAccount(PhoneAccountHandle) .
|
ENABLE_INCLUDE_ALL_VOLUMES
ID de modification: 182734110
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Activez cette option pour inclure les lignes de la base de données de fichiers d'un volume récemment désinstallé dans MediaProvider#query .
|
ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
ID de modification: 178209446
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Activez cette option pour autoriser les applications disposant de l'autorisation Manifest.permission.MANAGE_EXTERNAL_STORAGE à demander l'accès au stockage externe brut.
|
ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
ID de modification: 185199076
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, toutes les alarmes inexactes doivent avoir une taille de fenêtre minimale, qui devrait être de l'ordre de quelques minutes. Dans la pratique, toutes les alarmes nécessitant des fenêtres plus petites sont identiques aux alarmes exactes et doivent utiliser les API correspondantes fournies, telles que setExact(int, long, PendingIntent) . Les fenêtres d'une alarme inexacte avec des fenêtres plus courtes spécifiées seront étendues par le système.
|
ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
ID de modification: 142191088
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure doivent déclarer les dépendances dans les bibliothèques partagées natives publiques qui sont définies par le fabricant de l'appareil à l'aide de la balise uses-native-library dans son AndroidManifest.xml . Si l'une des dépendances ne peut pas être satisfaite (par exemple, si l'une des dépendances n'existe pas), le gestionnaire de packages n'installe pas l'application. La dépendance peut être spécifiée comme facultative à l'aide de l'attribut android:required de la balise. Dans ce cas, l'échec de la vérification de la dépendance n'entraînera pas l'arrêt de l'installation.
Une fois installée, une application n'est fournie qu'avec les bibliothèques partagées natives spécifiées dans son fichier manifeste. L'appel de dlopen sur une bibliothèque partagée native qui n'apparaît pas dans le fichier manifeste de l'application échouera même si elle existe réellement sur l'appareil.
|
ENFORCE_STRICT_QUERY_BUILDER
ID de modification: 143231523
État par défaut: Désactivé pour toutes les applications.
Lorsque cette option est activée, SQLiteQueryBuilder vérifie toutes les sélections de requêtes CalendarProvider2 par rapport à des arguments malveillants.
|
FGS_BG_START_RESTRICTION_CHANGE_ID
ID de modification: 170668199
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, ce paramètre restreint le moment où les applications peuvent démarrer des services de premier plan lorsqu'elles s'exécutent en arrière-plan.
|
FGS_START_EXCEPTION_CHANGE_ID
ID de modification: 174041399
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, permet au système de générer une IllegalStateException si une application tente de démarrer un service de premier plan alors qu'elle s'exécute en arrière-plan.
|
ID de modification: 156215187
État par défaut: Désactivé pour toutes les applications.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, terminez l'InputConnection lorsque l'appareil passe à non-interactive .
Si cette option est activée par le input method actuel, la connexion d'entrée actuelle sera finished chaque fois que l'appareil deviendra non interactif.
Si cette option n'est pas activée, la connexion d'entrée actuelle est désactivée silencieusement lorsque les appareils deviennent non interactifs, et une paire onFinishInput() /onStartInput() est envoyée lorsque l'appareil redevient interactif.
|
FORCE_DISABLE_HEVC_SUPPORT
ID de modification: 174227820
État par défaut: Désactivé pour toutes les applications.
Forcer la désactivation de la compatibilité d'une application avec les fonctionnalités multimédias HEVC.
Les applications doivent déclarer leurs fonctionnalités multimédias compatibles dans leur fichier manifeste, mais cet indicateur peut être utilisé pour forcer une application à ne pas prendre en charge HEVC, forçant ainsi le transcodage lorsqu'elle accède à des contenus multimédias encodés en HEVC. L'utilisation de cet indicateur remplace toutes les valeurs par défaut au niveau de l'OS pour les applications. Il est désactivé par défaut, ce qui signifie que les valeurs par défaut de l'OS prévalent. Si cet indicateur et FORCE_ENABLE_HEVC_SUPPORT sont tous deux activés, l'OS ignore les deux.
|
FORCE_ENABLE_HEVC_SUPPORT
ID de modification: 174228127
État par défaut: Désactivé pour toutes les applications.
Forcer l'activation d'une application pour prendre en charge les fonctionnalités multimédias HEVC. Les applications doivent déclarer leurs fonctionnalités multimédias compatibles dans leur fichier manifeste, mais cet indicateur peut être utilisé pour forcer une application à prendre en charge le format HEVC, évitant ainsi le transcodage lors de l'accès aux contenus multimédias encodés en HEVC. L'utilisation de cet indicateur remplace toutes les valeurs par défaut au niveau de l'OS pour les applications. Il est désactivé par défaut, ce qui signifie que les valeurs par défaut de l'OS prévalent. Si cet indicateur et FORCE_DISABLE_HEVC_SUPPORT sont tous deux activés, l'OS ignore les deux.
|
FORCE_NON_RESIZE_APP
ID de modification: 181136395
État par défaut: Désactivé pour toutes les applications.
Empêche le non-redimensionnement des packages auxquels il est appliqué.
|
FORCE_RESIZE_APP
ID de modification: 174042936
État par défaut: Désactivé pour toutes les applications.
Force le redimensionnement des packages auxquels il est appliqué. Nous n'autorisons le redimensionnement qu'en mode fenêtrage plein écran, sans forcer l'application à passer en mode multifenêtrage redimensionnable.
|
HIDE_PROP_ICUBINARY_DATA_PATH
ID de modification: 171979766
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, l'accès à la propriété android.icu.impl.ICUBinary.dataPath est supprimé.
|
IGNORE_ALLOW_BACKUP_IN_D2D
ID de modification: 183147249
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, android:allowBackup est ignoré pour les applications lors des migrations d'appareil à appareil (D2D).
|
IGNORE_FULL_BACKUP_CONTENT_IN_D2D
ID de modification: 180523564
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les règles d'inclusion et d'exclusion spécifiées à l'aide de android:fullBackupContent sont ignorées lors des transferts d'appareil à appareil (D2D).
|
IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
ID de modification: 169273070
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, getSupportedLocales() renvoie désormais une liste de paramètres régionaux vide lorsqu'elle n'est pas définie, à la place des paramètres régionaux par défaut du système.
|
IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
ID de modification: 158482162
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, l'autorisation BACKUP requise pour isBackupServiceActive() est appliquée côté service plutôt que côté client dans BackupManager .
|
KEYSTORE_OPERATION_CREATION_MAY_FAIL
ID de modification: 169897160
État par défaut: Désactivé pour toutes les applications.
Lorsque cette option est activée, la création d'opérations keystore peut échouer en fonction de la nouvelle stratégie d'élagage. Auparavant, le keystore partait du principe que la création d'opérations de chiffrement aboutissait toujours.
Cependant, le backend KeyMint ne dispose que d'un nombre limité d'emplacements d'opérations.
Afin de préserver l'apparence des emplacements d'opérations "infinis", le daemon Keystore élague les opérations les moins récemment utilisées si aucun emplacement d'opération n'est disponible. Par conséquent, les opérations de qualité peuvent être arrêtées prématurément. Cela a permis à AndroidKeystore de s'intéresser au déni de service (DoS) et au verrouillage intempestif. Par exemple, si plusieurs applications s'activent en même temps en raison d'optimisations de la gestion de l'alimentation et tentent d'effectuer des opérations de chiffrement, elles s'arrêtent les unes les autres sans progresser.
Pour échapper aux verrouillages et décourager les tentatives d'attaque DoS, nous avons modifié la stratégie d'élagage pour que les clients qui utilisent peu d'emplacements d'opérations soient privilégiés. Par conséquent, les opérations uniques qui ne restent pas inactives pendant plus de cinq secondes se terminent presque toujours sans entrave par la stratégie d'élagage. Certaines opérations liées au chiffrement du système de fichiers peuvent toujours élaguer ces opérations, mais ces cas sont extrêmement rares. En raison de cette nouvelle stratégie d'élagage, la création peut désormais échouer si le client dispose d'une puissance d'élagage inférieure à toutes les opérations existantes.
Stratégie d'élagage: pour trouver un candidat approprié, nous calculons le malus pour l'appelant et chaque opération existante. Le malus est l'inverse du pouvoir d'élagage (appelant) ou de la résistance d'élagage (opération existante). Pour que l'appelant puisse élaguer une opération, il doit trouver une opération dont le malus est supérieur au sien. Pour en savoir plus sur la stratégie d'élagage, consultez l'implémentation de operation.rs .
Sur Android 11 (niveau d'API 30) ou version antérieure, KeyStore2 interroge le daemon Keystore pour obtenir un emplacement d'opération libre. Pour les applications ciblant Android 11 (niveau d'API 30) ou version antérieure, l'algorithme de chiffrement et l'initialisation de l'objet de signature réussit toujours. Toutefois, l'opération peut prendre plus de temps. Toutes les versions d'Android bénéficient d'une planification plus équitable des emplacements d'opérations et d'une meilleure chance de terminer une opération.
|
LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
ID de modification: 174664365
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, le Intent.ACTION_CLOSE_SYSTEM_DIALOGS ne peut pas être envoyé, sauf si l'application dispose également de l'autorisation android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS . Notez qu'il s'agit de la version la plus restrictive de #DROP_CLOSE_SYSTEM_DIALOGS , qui s'attend à ce que l'application cesse d'envoyer l'intent Intent.ACTION_CLOSE_SYSTEM_DIALOGS une fois qu'elle a commencé à cibler Android 12 (niveau d'API 31) ou une version ultérieure.
|
LOCK_DOWN_COLLAPSE_STATUS_BAR
ID de modification: 173031413
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, l'autorisation Manifest.permission.STATUS_BAR est requise pour réduire les panneaux de la barre d'état pour des raisons de sécurité. Il était exploité par un logiciel malveillant pour empêcher l'utilisateur d'accéder aux notifications critiques.
|
LOW_POWER_EXCEPTIONS
ID de modification: 168936375
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, tous les objets LocationRequest marqués comme faibles génèrent des exceptions si l'appelant ne dispose pas de l'autorisation LOCATION_HARDWARE , au lieu de supprimer silencieusement la partie basse consommation de la requête.
|
MISSING_EXPORTED_FLAG
ID de modification: 150232615
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, une valeur explicite doit être spécifiée pour l'attribut android:exported chaque fois qu'un filtre d'intent est défini.
Pour en savoir plus sur cette modification, consultez la section Exportation plus sécurisée des composants.
|
NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
ID de modification: 207557677
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 32) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 32) ou version ultérieure, les allocations de segments de mémoire natives dans le processus AppZygote et ses descendants utilisent une balise non nulle dans l'octet le plus significatif.
Pour en savoir plus sur ce changement, consultez la section Balisage des pointeurs.
|
NATIVE_HEAP_ZERO_INIT
ID de modification: 178038272
État par défaut: Désactivé pour toutes les applications.
Active l'initialisation automatique à zéro des allocations de mémoire du tas de mémoire natif.
|
NATIVE_MEMTAG_ASYNC
ID de modification: 135772972
État par défaut: Désactivé pour toutes les applications.
Active la vérification asynchrone (ASYNC) des tags de mémoire dans ce processus. Cet indicateur n'affecte que le matériel compatible avec la Memory Tagging Extension (MTE) ARM.
|
NATIVE_MEMTAG_SYNC
ID de modification: 177438394
État par défaut: Désactivé pour toutes les applications.
Active la vérification synchrone (SYNC) des tags de mémoire dans ce processus. Cet indicateur n'affecte que le matériel compatible avec la Memory Tagging Extension (MTE) ARM. Si NATIVE_MEMTAG_ASYNC et cette option sont activés, cette option est prioritaire et la MTE est activée en mode SYNC.
|
NEVER_SANDBOX_DISPLAY_APIS
ID de modification: 184838306
État par défaut: Désactivé pour toutes les applications.
Lorsque cette modification est activée, le bac à sable de l'API Display ne peut pas être appliqué à une activité de boîte aux lettres ou SCM. Les API Display continueront de définir des limites pour DisplayArea.
Pour en savoir plus sur ce changement, consultez la section sur les
méthodes Display obsolètes de la page dédiée aux modifications de comportement d'Android 12.
|
NOTIFICATION_CANCELLATION_REASONS
ID de modification: 175319604
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Permet aux écouteurs de notifications de comprendre les nouveaux motifs d'annulation plus spécifiques.
|
NOTIFICATION_TRAMPOLINE_BLOCK
ID de modification: 167676448
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour améliorer les performances et l'expérience utilisateur, les applications qui ciblent Android 12 ne peuvent pas utiliser de services ni de broadcast receivers comme trampolines de notification.
Pour en savoir plus sur ce changement, consultez Impossible de créer des trampolines de notification à partir de services ou de broadcast receivers.
|
NULL_TELEPHONY_THROW_NO_CB
ID de modification: 182185642
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Permet de vérifier si la version du SDK cible pour le processus en cours est Android 12 (niveau d'API 31) ou une version ultérieure.
S'applique aux méthodes suivantes:
|
OVERRIDE_MIN_ASPECT_RATIO
ID de modification: 174042980
État par défaut: Désactivé pour toutes les applications.
Cette modification contrôle toutes les modifications qui forcent un format minimal donné. L'activation de cette modification permet d'appliquer les formats minimaux suivants :
Lorsque cette modification est activée pour un package d'application, le format minimal indiqué dans le fichier manifeste de l'application est remplacé par le plus grand format activé, sauf si la valeur du fichier manifeste de l'application est plus élevée.
|
OVERRIDE_MIN_ASPECT_RATIO_LARGE
ID de modification: 180326787
État par défaut: Désactivé pour toutes les applications.
Lorsque OVERRIDE_MIN_ASPECT_RATIO est également activé, l'activation de cette modification pour un package définit le format minimal de l'activité sur une valeur élevée, telle que définie par OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE .
|
OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
ID de modification: 180326845
État par défaut: Désactivé pour toutes les applications.
Lorsque OVERRIDE_MIN_ASPECT_RATIO est également activé, l'activation de cette modification pour un package définit le format minimal de l'activité sur une valeur moyenne telle que définie par OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE .
|
PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
ID de modification: 160794467
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, vous devez spécifier la mutabilité de chaque objet PendingIntent créé par votre application. Cette exigence supplémentaire renforce la sécurité de votre application.
Pour en savoir plus sur cette modification, consultez Les intents en attente doivent déclarer la mutabilité.
|
PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
ID de modification: 165573442
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Les applications d'administration ciblant Android 12 (niveau d'API 31) ou version ultérieure ne peuvent pas utiliser DevicePolicyManager.setPasswordQuality(ComponentName, int) pour définir la qualité du mot de passe sur l'instance DevicePolicyManager obtenue en appelant DevicePolicyManager.getParentProfileInstance(ComponentName) .
À la place, ils doivent utiliser DevicePolicyManager.setRequiredPasswordComplexity(int) pour définir des exigences de mot de passe à faible niveau de précision à l'échelle de l'appareil.
|
RATE_LIMIT_TOASTS
ID de modification: 174840628
État par défaut: Cette modification ne peut pas être activée/désactivée. Il n'est enregistré que par le framework de compatibilité.
Active la limitation du nombre d'appels Toast.show() pour éviter de surcharger l'utilisateur avec trop de toasts en peu de temps. Toute tentative d'affichage d'un nombre de toasts supérieur à celui autorisé sur une période donnée entraîne la suppression du toast.
|
REQUIRE_EXACT_ALARM_PERMISSION
ID de modification: 171306433
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les applications doivent disposer de l'autorisation Manifest.permission.SCHEDULE_EXACT_ALARM afin de pouvoir utiliser des API pour définir des alarmes exactes, telles que setExactAndAllowWhileIdle(int, long, PendingIntent) et setAlarmClock(AlarmClockInfo, PendingIntent) .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
ID de modification: 182478738
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les applications doivent disposer de l'autorisation Manifest.permission.READ_PHONE_STATE pour pouvoir appeler TelephonyCallback.ActiveDataSubscriptionIdListener .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
ID de modification: 184323934
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les applications doivent disposer de l'autorisation Manifest.permission.READ_PHONE_STATE pour pouvoir appeler TelephonyCallback.CellInfoListener .
|
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
ID de modification: 183164979
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les applications doivent disposer de l'autorisation Manifest.permission.READ_PHONE_STATE pour pouvoir appeler TelephonyCallback.DisplayInfoListener .
|
RESTRICT_ADB_BACKUP
ID de modification: 171032338
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, adb backup est automatiquement activé pour les applications s'exécutant en tant que débogable (android:debuggable défini sur true ) et indisponible pour les autres applications.
|
RESTRICT_DOMAINS
ID de modification: 175408749
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, la forme mise à jour de l'API App Links Verification est requise. Cette exigence signifie qu'une application doit déclarer des domaines dans un filtre d'intent qui inclut tous les éléments suivants:
android:autoVerify="true"
Intent.ACTION_VIEW
Intent.CATEGORY_BROWSABLE
Intet.CATEGORY_DEFAULT
IntentFilter.SCHEME_HTTP et/ou IntentFilter.SCHEME_HTTPS uniquement, sans aucun autre schéma
Dans les versions précédentes d'Android, Intent.CATEGORY_BROWSABLE n'était pas une exigence, les autres schémas étaient autorisés, et définir autoVerify sur true dans n'importe quel filtre d'intent prétendrait implicitement que tous les filtres d'intent étaient définis sur autoVerify="true" .
|
SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
ID de modification: 151105954
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, impose que toutes les attributionTags envoyées à noteOp(String, int, String) , noteProxyOp(String, String) et startOp(String, int, String) sont définies dans le fichier manifeste du package spécifié en tant que paramètre des méthodes.
Pour activer cette modification, cette modification doit être activée pour le package appelant noteOp(String, int, String) et pour le package spécifié en tant que paramètre de la méthode.
|
SELINUX_LATEST_CHANGES
ID de modification: 143539591
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, les dernières modifications de SELinux sont activées. La désactivation de cette modification pour une application ciblant Android 12 (niveau d'API 31) ou version ultérieure est une opération no-op. Cela n'a aucun effet pour les applications qui utilisent un ID utilisateur partagé.
|
SETTINGS_API_V2
ID de modification: 178111421
État par défaut: Activé pour toutes les applications.
La nouvelle API de préférences utilisateur permettant de valider les domaines marqués autoVerify=true dans les filtres d'intent AndroidManifest.xml n'est pas encore implémentée dans l'aperçu actuel de la plate-forme. Pour l'instant, vous pouvez prévisualiser les modifications apportées aux préférences utilisateur en activant ce ChangeId et en utilisant adb shell pm set-app-links-user-selection et des commandes similaires.
|
USE_SHORT_FGS_USAGE_INTERACTION_TIME
ID de modification: 183972877
État par défaut: Activé pour les applications qui ciblent Android 12 (niveau d'API 31) ou version ultérieure.
Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, détermine s'il faut utiliser un délai d'inactivité plus court avant d'élever le bucket de secours à ACTIVE lorsque les applications démarrent un service de premier plan.
|