Android 17 est disponible
Temps de lecture : 13 min
Aujourd'hui, nous lançons Android 17 et le rendons disponible sur la plupart des appareils Pixel compatibles. De nouveaux appareils fonctionnant sous Android 17 seront disponibles dans les prochains mois.
Android 17 marque le début de notre transition vers un système intelligent, qui place vos applications au centre. Android passe à des normes de développement axées sur l'adaptabilité en introduisant la redimensionnabilité obligatoire pour les grands écrans, tout en offrant une confidentialité, une sécurité, des fonctionnalités multimédias et de caméra, et des performances de nouvelle génération. Nous aborderons tous ces aspects dans cet article, ainsi que la façon dont nous rassemblons des outils, des bibliothèques et des compétences d'agent de nouvelle génération pour aider vos applications à saisir cette opportunité.
Au cours de l'année écoulée, de notre canal Canary à nos versions bêta, nous avons collaboré avec nombre d'entre vous dans la communauté des développeurs pour créer une plate-forme à laquelle vous et vos utilisateurs pouvez faire confiance. À cette fin, ce moment marque la disponibilité du code source sur le Projet Android Open Source (AOSP). Cela vous permet d'examiner le code source pour mieux comprendre le fonctionnement d'Android.
Examinons Android 17 plus en détail.
Un système de renseignement
Grâce à une intégration poussée entre le matériel, les logiciels et l'IA, nous transformons Android, qui passe d'un système d'exploitation à un système intelligent. L'objectif est de proposer de nouvelles expériences utiles qui anticipent les besoins des utilisateurs et offrent davantage d'opportunités d'engagement avec vos applications. À cette fin, Android 17 étend les capacités d'AppFunctions, une API de plate-forme avec une bibliothèque Jetpack correspondante. Elle vous permet de proposer les fonctionnalités uniques de votre application en tant qu'"outils" orchestrables pour Android MCP, l'équivalent sur l'appareil du protocole de contexte de modèle. Les agents et assistants d'IA (comme Google Gemini) peuvent découvrir et exécuter des AppFunctions pour effectuer des workflows au nom de l'utilisateur avec un accès direct à l'état local de l'application.
La bibliothèque Jetpack, actuellement en version alpha, permet d'ajouter des AppFunctions aussi facilement que d'annoter une classe et d'ajouter des commentaires KDoc.
/** * A note app's [AppFunction]s. */ class NoteFunctions( private val noteRepository: NoteRepository ) { /** * Adds a new note to the app. * * @param appFunctionContext The execution context. * @param title The title of the note. * @param content The note's content. */ @AppFunction(isDescribedByKDoc = true) suspend fun createNote( appFunctionContext: AppFunctionContext, title: String, content: String ): Note { return noteRepository.createNote(title, content) } }
Nous avons également lancé une compétence d'agent AppFunctions qui analyse les principaux workflows de votre application, génère automatiquement le code Kotlin requis, optimise vos KDocs pour l'appel d'outils LLM et fournit des commandes ADB pour les tests et le débogage.
L'intégration de Gemini est actuellement en version preview privée avec des testeurs de confiance, mais vous pouvez commencer à préparer vos applications dès maintenant. En plus des commandes ADB pour exécuter vos AppFunctions, nous avons fourni une application d'agent de test qui inclut une interface permettant de découvrir et d'exécuter vos AppFunctions, et de simuler une intégration d'agent d'IA. Inscrivez-vous à notre programme d'accès anticipé à l'intégration sur goo.gle/eap-af pour avoir la chance de faire partie des premières applications à déployer AppFunctions en production.
Priorité à l'adaptabilité
Vos utilisateurs ne se limitent plus à un seul facteur de forme. Ils passent des téléphones aux appareils pliables, aux tablettes, aux ordinateurs portables, aux écrans automobiles et aux environnements XR immersifs. Aujourd'hui, avec plus de 580 millions d'appareils à grand écran entre les mains des utilisateurs et le prochain lancement de Googlebooks, la prochaine génération de ChromeOS basée sur la pile Android ne se limite plus à un objectif technique. Il s'agit d'une opportunité énorme de toucher des utilisateurs très engagés. C'est l'une des raisons pour lesquelles nous passons à une norme de développement axée sur l'adaptabilité.
Aucune restriction de redimensionnement ni d'orientation sur les grands écrans
Pour que les applications offrent une expérience premium sur tous les facteurs de forme, y compris les appareils mobiles exécutés en mode Bureau sur des écrans connectés, Android 17 (niveau d'API 37) supprime la possibilité pour les développeurs de désactiver les restrictions d'orientation et de redimensionnement sur les appareils à grand écran (sw > 600 dp) pour les applications ciblant le niveau d'API 37. Le système ignorera les anciens attributs de fichier manifeste et les API d'exécution, y compris screenOrientation, setRequestedOrientation(), resizeableActivity=false et les contraintes de format (minAspectRatio/maxAspectRatio). Les jeux (selon la catégorie d'application sur Google Play) restent exemptés. Votre application doit être capable de s'adapter à n'importe quelle taille de fenêtre, de respecter la position préférée de l'appareil de l'utilisateur et de prendre en charge le fenêtrage au format libre de manière native.
Multitâche nouvelle génération : bulles d'applications, barre de bulles et Picture-in-picture interactif pour ordinateur
Android 17 introduit de nouvelles fonctionnalités de fenêtrage puissantes qui redéfinissent la façon dont les utilisateurs effectuent du multitâche, ce qui exige une flexibilité de mise en page encore plus grande de vos applications :
- Bulles d'applis : au-delà de l'API des bulles de messages, les utilisateurs peuvent désormais transformer n'importe quelle application en bulle flottante en appuyant de manière prolongée sur son icône dans le lanceur d'applications. Cette fonctionnalité est disponible sur les téléphones, les appareils pliables et les tablettes, ce qui permet un multitâche léger pour n'importe quel workflow.
- Barre de bulles : sur les grands écrans (tablettes et appareils pliables), la barre des tâches système inclut désormais une barre de bulles dédiée pour organiser, faire la transition entre et ancrer ces bulles d'application flottantes.
- PiP interactif sur ordinateur : Android 17 introduit le Picture-in-picture (PiP) interactif dans les environnements de bureau. Contrairement aux fenêtres PIP traditionnelles qui sont en lecture seule, ces fenêtres épinglées restent entièrement interactives tout en restant toujours au-dessus des autres fenêtres d'application.
Nouveautés concernant la recréation d'activité
Pour éviter les pertes d'état et les saccades perturbatrices, Android 17 met à jour le comportement par défaut pour la recréation d'activité. Le système ne redémarrera plus les activités par défaut pour les modifications de configuration typiques qui ne nécessitent pas de redessiner complètement l'UI (y compris CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_TOUCHSCREEN et CONFIG_COLOR_MODE).
Au lieu de cela, les activités en cours recevront ces mises à jour via onConfigurationChanged(), ce qui permettra des transitions fluides. Si votre application s'appuie explicitement sur un redémarrage complet pour recharger les ressources de ces modifications, vous devez désormais l'activer explicitement à l'aide du nouvel attribut de fichier manifeste android:recreateOnConfigChanges.
Continue On
Android 17 ajoute la fonctionnalité Continuer sur pour aider les utilisateurs à transférer facilement une tâche d'un appareil Android à un autre. L'utilisateur voit une suggestion pour l'application la plus récemment ouverte sur son appareil mobile dans la barre des tâches de sa tablette. Il peut ainsi lancer l'application et le lien profond en un seul geste, là où il s'était arrêté. La fonctionnalité "Continuer sur" peut prendre en charge les transitions d'application vers le Web, y compris le retour à l'utilisation du Web si l'application n'est pas installée.
class MyHandoffActivity : Activity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Do stuff
...
// Enable handoff
setHandoffEnabled(true, null)
}
// Override and implement onHandoffActivityDataRequested
override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
// Create and return handoff data
}
}Adopter une approche axée sur l'adaptabilité avec Jetpack Compose
Pour vous aider à adapter vos applications aux nouvelles exigences d'Android 17, nous avons lancé la compétence d'adaptation Jetpack Compose. Ce workflow de développement optimisé par l'IA vous aide à implémenter les meilleures pratiques adaptatives :
- Navigation adaptative : passez automatiquement des barres de navigation inférieures sur mobile aux rails de navigation ancrés sur les bords sur les grands écrans à l'aide de
NavigationSuiteScaffoldde la bibliothèque Adaptive Material 3. - Mises en page à plusieurs volets : implémentez les mises en page liste/détail et le volet secondaire de manière native à l'aide des scènes Navigation 3 (
ListDetailSceneStrategyetSupportingPaneSceneStrategy) au lieu de transactions de fragment fragiles. - API FlexBox et Grid : utilisez les composants de mise en page dynamique de Compose 1.11 pour ajuster facilement les étendues de lignes et de colonnes à la volée, en veillant à ce que votre contenu remplisse toujours l'espace de manière esthétique.
- Saisie avancée sans contact : profitez de la prise en charge améliorée du pavé tactile et de la souris de Compose 1.11, y compris des anneaux de sélection natifs et des nouvelles API (comme
TrackpadInjectionScopeetperformTrackpadInput) pour tester et offrir facilement une véritable expérience "digne d'un ordinateur portable" sur Google Livres et en mode Bureau. - États de fenêtre dynamiques : profitez du modèle d'état réactif de Compose pour adapter facilement votre UI lorsque l'application passe du plein écran à une bulle d'appli flottante ou à une fenêtre PiP interactive sur le bureau. Vous garantissez ainsi une expérience premium, même avec des dimensions minimales.
Android est conçu pour Compose
Compose offre le moyen le plus simple de créer des applications adaptatives. C'est l'une des nombreuses raisons pour lesquelles nous pensons que toutes les UI Android devraient être créées avec Compose. C'est pourquoi le développement Android est désormais Compose-first. Toutes les nouvelles API, bibliothèques, outils et conseils pour les développeurs Android seront conçus exclusivement pour Jetpack Compose. Les anciens composants View (dans le package android.widget) et les bibliothèques Jetpack basées sur View (comme Fragments, RecyclerView et ViewPager) sont désormais en mode maintenance. Ils ne recevront que des corrections de bugs critiques, et aucune nouvelle fonctionnalité.
CONSEIL : Prêt à migrer ? Utilisez notre outil de migration XML vers Compose basé sur l'IA pour analyser automatiquement vos anciennes mises en page View et les convertir en code Compose hautement adaptatif.
Performances et efficacité
Les performances d'une application se traduisent par une interface utilisateur fluide, des temps de démarrage rapides et un multitâche efficace. Android 17 apporte des améliorations importantes dans tous ces domaines.
Limites de mémoire des applications
L'utilisation de la mémoire est l'un des fondements silencieux des performances globales. Lorsqu'une application ou un service au premier plan se développe de manière incontrôlée, la gestion de la mémoire augmente considérablement l'utilisation du processeur et de la batterie, et finit par entraîner l'arrêt d'autres applications mises en cache et tâches en arrière-plan qui fonctionnent correctement. Cela ralentit les démarrages à froid et nuit au multitâche.
À partir d'Android 17, le système appliquera des limites strictes de mémoire pour les applications en fonction de la RAM totale d'un appareil, en mettant fin brusquement aux processus incriminés. Voici quelques nouveautés pour vous aider à respecter ces exigences plus strictes :
- Optimiseur R8 : l' optimiseur R8 réduit considérablement l'espace mémoire utilisé du bytecode de votre application en réduisant la taille des classes, des méthodes et des champs, et en supprimant le code et les ressources inutilisés. Utilisez R8 en mode complet avec le nouvel analyseur de configuration R8 pour vous assurer que votre application tire le meilleur parti de R8.
- LeakCanary dans Android Studio Panda : le profileur propose désormais une intégration native de LeakCanary en tant que tâche dédiée, entièrement intégrée à votre IDE et à votre code source.
- ApplicationExitInfo : si votre application est arrêtée en raison de ces limites, getDescription() à partir d'ApplicationExitInfo renverra "MemoryLimiter:AnonSwap".
- Détection d'anomalies sur l'appareil : dans ProfilingManager, vous pouvez utiliser le profilage basé sur des déclencheurs avec
TRIGGER_TYPE_ANOMALYpour capturer automatiquement les vidages de tas lorsque la limite de mémoire est atteinte.
val profilingManager = applicationContext .getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>().apply { add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build()) } profilingManager.addProfilingTriggers(triggers)
Nous nous efforçons également de vous présenter davantage de métriques sur la mémoire sur le terrain dans la Google Play Console.
Récupération de mémoire générationnelle
Android 17 introduit des collectes de la jeune génération plus fréquentes et moins gourmandes en ressources dans le récupérateur de mémoire (GC) Concurrent Mark-Compact d'ART. En séparant les objets éphémères de ceux qui sont stables et durables, le système exécute des balayages "jeune génération" fréquents et légers plutôt que des analyses coûteuses du tas complet, ce qui réduit considérablement l'utilisation du processeur, la consommation d'énergie et les saccades de l'interface utilisateur. Nos tests ont montré des améliorations significatives en termes d'interférence du GC avec les threads d'application et une réduction de la taille maximale de l'ensemble résident de mémoire (RSS). Grâce aux mises à jour du système Google Play, les améliorations apportées à ART sont également disponibles sur plus d'un milliard d'appareils équipés d'Android 12 (niveau d'API 31) ou version ultérieure.
Lock-Free MessageQueue
Pour les applications ciblant le SDK 37 ou une version ultérieure, le android.os.MessageQueue principal implémente désormais une architecture sans verrouillage, ce qui réduit considérablement le nombre d'images manquées, améliore le temps de démarrage des applications et améliore radicalement les performances des files d'attente occupées dans les scénarios multithread. Remarque : Cela peut casser les applications qui utilisent la réflexion sur les champs et méthodes MessageQueue privés. Les API peekWhen et poll ont été ajoutées à TestLooperManager pour les tests d'instrumentation sans s'appuyer sur les éléments internes de MessageQueue.
Les champs finaux statiques sont désormais réellement finaux
À partir d'Android 17, les applications ciblant le SDK 37 ou une version ultérieure ne pourront pas modifier les champs "static final", ce qui permettra au runtime d'appliquer des optimisations de performances de manière plus agressive. Toute tentative d'accès à ces données par réflexion (ou réflexion approfondie) entraînera le déclenchement d'une exception IllegalAccessException.
Si vous les modifiez à l'aide de la famille de méthodes SetStatic<Type>Field de JNI, l'application plantera immédiatement.
Restrictions concernant l'affichage des notifications personnalisées
Pour réduire l'utilisation de la mémoire, nous limitons davantage la taille des vues de notifications personnalisées. Cette mise à jour comble une faille qui permet aux applications de contourner les limites existantes à l'aide d'URI. Ce comportement est contrôlé par la version du SDK cible et s'applique aux applications ciblant l'API 37 ou une version ultérieure.
Confidentialité et sécurité
La confiance des utilisateurs est au cœur de l'écosystème Android. Android 17 introduit des fonctionnalités robustes qui protègent les données sensibles tout en simplifiant l'expérience utilisateur.
Choix respectueux de la confidentialité
Par le passé, les applications nécessitaient des autorisations permanentes et étendues pour accéder à des informations telles que les contacts, la position exacte et les fichiers multimédias. Android 17 poursuit l'évolution vers des choix respectueux de la confidentialité qui n'accordent qu'un accès temporaire, basé sur la session, aux données que l'utilisateur sélectionne explicitement :
- Sélecteur de contacts au niveau du système : grâce à
ACTION_PICK_CONTACTS, les applications peuvent demander un accès temporaire uniquement à des champs spécifiques (adresse e-mail ou numéro de téléphone, par exemple) choisis par l'utilisateur, ce qui élimine le besoin d'une autorisationREAD_CONTACTSétendue. Il prend également entièrement en charge la séparation des profils professionnels et personnels. - Ratio d'aspect personnalisable du sélecteur de photos : à l'aide de PhotoPickerUiCustomizationParams, vous pouvez personnaliser le sélecteur de photos système pour afficher les miniatures en mode Portrait. C'est idéal pour les applications qui affichent toujours les photos et les vidéos en mode Portrait, comme les applications de réseaux sociaux basées sur les vidéos.
- Bouton de localisation rendu par le système : un nouveau bouton de localisation rendu par le système que vous pouvez intégrer à votre application permet d'accéder à la position exacte pour la session en cours uniquement.
- API EyeDropper : une nouvelle API au niveau du système,
ACTION_OPEN_EYE_DROPPER, permet à votre application de créer un sélecteur de couleurs alimenté par le système, qui permet à l'utilisateur de sélectionner une couleur à partir de n'importe quel pixel de l'écran. Cela offre une expérience de sélection de couleurs sécurisée et protégeant la confidentialité, qui élimine le besoin d'autorisations étendues et sensibles de capture d'écran ou de projection multimédia.
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK) // Use the picked color in your app } } fun launchColorPicker() { val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER) eyeDropperLauncher.launch(intent) }
Accès au réseau local
Les applications ciblant Android 17 nécessitent désormais l'autorisation d'exécution ACCESS_LOCAL_NETWORK ou l'utilisation de sélecteurs d'appareils préservant la confidentialité et gérés par le système pour la communication sur le réseau local, comme la communication avec des appareils domotiques ou des récepteurs de cast. Étant donné que ACCESS_LOCAL_NETWORK fait partie du groupe d'autorisations existant NEARBY_DEVICES, les utilisateurs qui ont déjà accordé d'autres autorisations NEARBY_DEVICES ne seront pas invités à le faire à nouveau.
Protection par mot de passe unique par SMS
Android 17 renforce la protection des mots de passe à usage unique (OTP) envoyés par SMS en retardant l'accès aux messages pendant trois heures :
- Format WebOTP : Délai pour toutes les applications qui ne sont pas le destinataire prévu (incompatibilité de domaine)
- OTP par SMS standard : délai pour toutes les applications ciblant le SDK 37 ou une version ultérieure
Exemptions : les applications de SMS, d'assistance et associées connectées par défaut sont exemptées. Nous encourageons vivement les applications à migrer vers les API SMS Retriever ou SMS User Consent.
Cryptographie post-quantique (CPQ)
Android 17 est prêt pour la prochaine génération de sécurité cryptographique :
- Intégration du Keystore : les appareils compatibles peuvent générer des clés ML-DSA (Module-Lattice-Based Digital Signature Algorithm) dans un matériel sécurisé pour produire des signatures à sécurité quantique, exposées via des API JCA standards.
- Signature hybride des APK : nous avons introduit le schéma de signature des APK v3.2, qui combine les signatures classiques et les signatures ML-DSA pour sécuriser le déploiement d'applications.
Chargement de code dynamique natif plus sécurisé
Si votre application cible le SDK 37 ou une version ultérieure, la protection du chargement dynamique du code (DCL) plus sécurisé introduite dans Android 14 pour les fichiers DEX et JAR s'étend désormais aux bibliothèques natives. Tous les fichiers natifs chargés à l'aide de System.load doivent être marqués en lecture seule. Sinon, le système génère une exception UnsatisfiedLinkError.
Protection plus intelligente des mots de passe pour les saisies physiques
Avec Android 17, nous rendons la saisie de mots de passe, de codes et d'autres secrets plus sûre lorsque vous utilisez un clavier physique. Pour cela, nous n'affichons plus le dernier caractère saisi par défaut.
Les utilisateurs peuvent toujours personnaliser facilement ces paramètres d'affichage selon leurs préférences (la disponibilité peut varier selon le fabricant de l'appareil).
Ces protections renforcées de la confidentialité sont automatiquement prises en charge par les composants SDK intégrés d'Android et le seront dans Compose 1.12 pour SecureTextFields.
Fonctionnalités multimédias et de caméras qui permettent aux créateurs de s'exprimer et aux utilisateurs de se divertir
Android 17 propose de nouvelles fonctionnalités pour les créateurs qui donnent accès à des caméras et des contenus multimédias de qualité professionnelle, tout en améliorant l'expérience des consommateurs.
- Eclipsa Video : norme vidéo HDR basée sur la spécification SMPTE ST 2094-50 qui introduit de nouvelles métadonnées pour aider les appareils à adapter le contenu à leur marge d'affichage et aux conditions de luminosité ambiante, ainsi qu'à améliorer l'affichage simultané de contenu standard et HDR.
- Format d'image RAW14 : la nouvelle compatibilité avec le format d'image RAW14 permet à votre application d'appareil photo professionnel de capturer le plus haut niveau de détails et de profondeur de couleur à partir des capteurs photo compatibles.
- Extensions de caméras définies par le fournisseur : les extensions définies par le fournisseur permettent aux partenaires matériels de définir et d'implémenter des modes d'extension de caméras personnalisés, ce qui donne accès aux fonctionnalités de caméras les plus récentes et les plus performantes.
- Encodeur logiciel Extended HE-AAC : un nouvel encodeur logiciel Extended HE-AAC fourni par le système, qui prend en charge les débits faibles et élevés à l'aide d'un codage unifié de la parole et de l'audio, offrant une qualité audio nettement supérieure pour les messages vocaux dans des conditions de faible bande passante, y compris la prise en charge des métadonnées d'intensité.
- Versatile Video Coding (H.266) : permet aux OEM d'ajouter la prise en charge des codecs en définissant le type MIME video/vvc dans MediaFormat, en ajoutant de nouveaux profils VVC dans MediaCodecInfo et en intégrant la prise en charge dans MediaExtractor.
- Type d'appareil photo : nouvelles API qui interrogent le type d'appareil sous-jacent pour identifier si une caméra est un matériel intégré, une webcam USB externe ou une caméra virtuelle.
- Qualité constante pour l'enregistrement vidéo : setVideoEncodingQuality dans MediaRecorder configure un mode de qualité constante (CQ) pour les encodeurs vidéo afin de garantir une fidélité visuelle uniforme sur l'ensemble de la vidéo.
Meilleure compatibilité avec les appareils auditifs
- Prise en charge des appareils auditifs Bluetooth LE Audio : Android inclut désormais une catégorie d'appareils spécifique pour les appareils auditifs Bluetooth à basse consommation (BLE) Audio avec la nouvelle constante AudioDeviceInfo.TYPE_BLE_HEARING_AID. Votre application peut ainsi distinguer les appareils auditifs des casques classiques pour offrir une expérience personnalisée aux utilisateurs d'appareils d'écoute assistée.
- Routage audio précis pour les appareils auditifs : Android 17 permet aux utilisateurs de gérer indépendamment l'emplacement de lecture de sons système spécifiques. Ils peuvent choisir de rediriger les notifications, les sonneries et les alarmes vers les appareils auditifs connectés ou le haut-parleur intégré de l'appareil. Cela permet d'éviter les interruptions indésirables dans les oreilles tout en maintenant une connexion Bluetooth pour les applications de gestion des appareils auditifs.
CameraX et Media3
CameraX et Media3 ont été mis à jour pour Android 17. Ils sont là pour faire le gros du travail, en lissant les aspérités du développement multimédia et en simplifiant la création d'expériences fiables de capture vidéo, de lecture multimédia fluide et de montage créatif et complexe.
Nous avons publié une skill d'agent qui peut migrer les anciennes implémentations de l'appareil photo Android (API Camera1 ou Camera2 brutes) vers CameraX.
Remarque : Vous devrez mettre à jour votre version de CameraX vers la version 1.5.2 ou 1.6.0+ pour éviter un plantage lié à un mode de plage dynamique ajouté sur les appareils Android 17.
Préparez vos applications, bibliothèques, outils et moteurs de jeu !
Si vous développez un SDK, une bibliothèque, un outil ou un moteur de jeu Android, il est essentiel de préparer dès maintenant les mises à jour nécessaires pour éviter que les développeurs d'applications et de jeux en aval ne soient bloqués par des problèmes de compatibilité et pour leur permettre de cibler les dernières fonctionnalités du SDK. Veuillez informer vos développeurs en aval si des mises à jour sont nécessaires pour prendre pleinement en charge Android 17.
Pour tester votre application, installez votre application de production ou une application de test utilisant votre bibliothèque ou votre moteur à l'aide de Google Play ou d'autres moyens sur un appareil ou un émulateur exécutant Android 17 bêta 4. Parcourez tous les flux de votre application et recherchez les problèmes fonctionnels ou d'interface utilisateur. Chaque version d'Android contient des modifications de plate-forme qui améliorent la confidentialité, la sécurité et l'expérience utilisateur globale. Consultez les modifications de comportement ayant un impact sur les applications s'exécutant sur et ciblant Android 17 pour concentrer vos tests, y compris les suivants :
- Redimensionnement sur les grands écrans : une fois que vous ciblez Android 17 (SDK 37), vous ne pouvez plus désactiver le maintien des contraintes d'orientation, de redimensionnement et de format sur les grands écrans.
- Chargement dynamique du code : si votre application cible le SDK 37 ou une version ultérieure, la protection Safer Dynamic Code Loading (DCL) introduite dans Android 14 pour les fichiers DEX et JAR s'étend désormais aux bibliothèques natives. Tous les fichiers natifs chargés à l'aide de System.load() doivent être marqués en lecture seule. Sinon, le système génère une exception UnsatisfiedLinkError.
- Activer la transparence des certificats par défaut : la transparence des certificats (CT) est activée par défaut. (Sur Android 16, la transparence des certificats est disponible, mais les applications devaient l'activer.)
- Protections du réseau local : les applications ciblant le SDK 37 ou une version ultérieure ont l'accès au réseau local bloqué par défaut. Si possible, passez à l'utilisation de sélecteurs respectueux de la confidentialité et utilisez la nouvelle autorisation
ACCESS_LOCAL_NETWORKpour un accès étendu et persistant. - Renforcement de l'audio en arrière-plan : à partir d'Android 17, le framework audio applique des restrictions sur les interactions audio en arrière-plan, y compris la lecture audio, les requêtes de priorité audio et les API de modification du volume. Suite à vos commentaires, nous avons apporté quelques modifications depuis la version bêta 2, y compris le gating targetSDK pour l'application des services de premier plan en cours d'utilisation et l'exemption de l'audio d'alarme. Pour en savoir plus, consultez les consignes mises à jour.
- Déclaration d'accès à l'unité de traitement neuronal : les applications ciblant Android 17 qui doivent accéder directement à l'unité de traitement neuronal doivent déclarer
FEATURE_NEURAL_PROCESSING_UNITdans leur fichier manifeste pour éviter que l'accès à l'unité de traitement neuronal ne leur soit bloqué. Cela inclut les applications qui utilisent le délégué LiteRT NPU, les SDK spécifiques aux fournisseurs, ainsi que l'NNAPI obsolète.
Premiers pas avec Android 17
Votre appareil Pixel devrait recevoir Android 17 sous peu si vous n'avez pas déjà participé au programme Android Bêta. Si vous n'avez pas d'appareil Pixel, vous pouvez utiliser les images système 64 bits avec l'émulateur Android dans Android Studio. Si vous utilisez actuellement la version bêta 4.1 d'Android 17 et que vous n'avez pas encore installé la version bêta QPR1 d'Android 17, vous pouvez vous désinscrire du programme. La version finale d'Android 17 vous sera alors proposée par mise à jour OTA.
Obtenir la version bêta d'Android 17 sur des appareils partenaires
Android 17 est disponible en version bêta sur les téléphones, les tablettes et les appareils pliables de partenaires tels que Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, Sharp, vivo et Xiaomi.
Pour une expérience de développement optimale avec Android 17, nous vous recommandons d'utiliser la dernière version Canary d'Android Studio Quail. Une fois la configuration terminée, voici quelques actions à effectuer :
- Testez la compatibilité de votre application actuelle, vérifiez si elle est affectée par les modifications apportées à Android 17, installez-la sur un appareil ou sur Android Emulator exécutant Android 17, puis testez-la de manière approfondie.
Merci encore à tous ceux qui ont participé à notre programme bêta et Preview développeur Android. Nous avons hâte de voir comment vos applications tireront parti des nouveautés d'Android 17. Nous prévoyons de vous proposer des mises à jour à un rythme rapide à l'avenir.
Pour en savoir plus sur Android 17, consultez le site pour les développeurs Android 17.
Lire la suite
-
Actualités des produits
Android 17 a officiellement atteint la stabilité de la plate-forme aujourd'hui avec la version bêta 3. Cela signifie que la surface de l'API est verrouillée. Vous pouvez effectuer les derniers tests de compatibilité et déployer vos applications ciblant Android 17 sur le Play Store.
Matthew McCullough • Temps de lecture : 5 min
-
Actualités des produits
Google I/O 2026 présente 17 annonces clés pour les développeurs Android, axées sur la productivité pilotée par les agents, Compose First comme norme d'UI, et les médias hautes performances et le développement adaptatif pour l'écosystème en expansion.
Matthew McCullough • Temps de lecture : 8 min
-
Actualités des produits
Annoncé aujourd'hui lors de The Android Show, Android passe d'un système d'exploitation à un système intelligent, ce qui crée davantage d'opportunités d'engagement avec vos applications.
Matthew McCullough • Temps de lecture : 4 min
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.