Android Studio Chipmunk | 2021.2.1 (mai 2022)

Voici les nouvelles fonctionnalités d'Android Studio Chipmunk :

Assistance pour créer votre application avec Jetpack Compose

L'aperçu d'animation prend en charge animatedVisibility

Android Studio Chipmunk est compatible avec l'API animatedVisibility dans l'aperçu d'animation. Pour utiliser l'aperçu d'animation avec animatedVisibility, utilisez Compose 1.1.0 ou version ultérieure. Pour en savoir plus sur l'aperçu d'animation, consultez la page Animations.

Assistance pour le déploiement de l'aperçu depuis les modules de la bibliothèque

Les aperçus vous permettent d'afficher votre interface utilisateur dans Android Studio sans avoir à exécuter votre application sur un appareil physique. Dans Android Studio Chipmunk, vous pouvez déployer un objet @Preview spécifique sur un émulateur ou un appareil physique à partir de modules Bibliothèque. Pour en savoir plus, consultez Déployer l'aperçu.

Assistance pour le profilage de votre application

Détecter les à-coups sur Android 12 ou version ultérieure

Pour les appareils équipés d'Android 12 ou version ultérieure, une trace capturée est affichée sur la piste Janky frames (Frames saccadés) sous le volet Display (Affichage) de l'outil Profileur de processeur.

Pour détecter les à-coups, procédez comme suit :

  1. Démarrez l'application sur l'émulateur ou l'appareil de développement.
  2. Dans Android Studio, sélectionnez View > Tool Windows > Profiler Vue > Fenêtres d'outils > Profileur ou cliquez sur Profile (Profil) dans la barre d'outils.

    Si vous y êtes invité par la boîte de dialogue Select Deployment Target (Sélectionner une cible de déploiement), choisissez l'appareil sur lequel déployer votre application à des fins de profilage. Si vous avez connecté un appareil en USB, mais qu'il ne figure pas dans la liste, assurez-vous d'avoir activé le débogage USB.

  3. Cliquez n'importe où dans la chronologie du CPU pour ouvrir le Profileur de processeur.

  4. La piste Janky frames (Frames saccadés) doit s'afficher sous Display (Affichage). Par défaut, le profileur n'affiche que les frames irréguliers comme candidats à une enquête. Dans chaque frame saccadé, la partie rouge met en évidence la durée écoulée entre l'affichage du frame et son délai d'affichage. Capture d'écran de la piste des frames saccadés

  5. Lorsque vous trouvez un frame saccadé, cliquez dessus. Vous pouvez également appuyer sur M pour régler le zoom sur le frame sélectionné. Les événements pertinents seront mis en surbrillance dans les threads principaux : RenderThread et GPU completed. Capture d'écran du profileur montrant les frames saccadés et les threads principaux

  6. Vous pouvez aussi afficher tous les frames ou une répartition du délai d'affichage en cochant respectivement les cases All Frames (Tous les frames) et Lifecycle (Cycle de vie). Capture d'écran du profileur comme ci-dessus, mais avec les cases "All Frames" (Tous les frames) et "Lifecycle" (Cycle de vie) cochées

Pour en savoir plus, consultez Détection des à-coups dans l'interface utilisateur.

Versions de correctif

Voici les versions de correctif d'Android Studio Chipmunk.

Android Studio Chipmunk | 2021.2.1 Patch 2 (août 2022)

Cette mise à jour mineure inclut la mise à jour et les corrections de bugs suivantes :

Assistance pour la plate-forme Android

Avec Android Studio Chipmunk Patch 2 et Android Gradle 7.2.2, vous pouvez compiler avec les API Android 13 en définissant compileSdk=33. La version 32 du SDK est la version compatible minimale la plus élevée. minSdk = 33 n'est pas pris en charge avant le plug-in Android Gradle 7.3.0-beta05.

Problèmes résolus
Débogueur C++
La version d'une bibliothèque native d'un projet dépendant est empaquetée, même pour une variante de compilation de débogage
Outils de conception
Ctrl+D ou le bouton "show diff" (Afficher les différences) n'affiche pas le différentiel Git
Dexer (D8)
Documenter la version de compilateur requise pour chaque version de bibliothèque désucrée
Gradle
Faux positif pour Lint UnusedResources avec alias d'importation
Importation/Synchronisation
Problème de compilation lié aux différents types de produits dans la nouvelle version
Réducteur (R8)
ArrayIndexOutOfBoundsException dans IntSwitch
R8 3.1.7-dev et versions ultérieures optimisent de manière incorrecte les énumérations, ce qui génère une erreur NoSuchFieldError
R8 provoque une erreur VerifyError sur les bibliothèques Scala
Gradle 7.2.0 provoque une erreur de compilation d'APK com.android.tools.r8.CompilationFailedException
NullPointerException dans le réducteur R8 version 3.2.60
[R8 3.3.57] NoClassDefFound en raison du remplacement de l'interface par une classe abstraite présentant des exigences de SDK plus élevées
NullPointerException dans FieldAssignmentTracker utilisant la version 3.3.35

Android Studio Chipmunk | 2021.2.1 Patch 1 (mai 2022)

Cette mise à jour mineure inclut les corrections de bugs suivantes :

Problèmes résolus
Dexer (D8)
Les VM Art/Dalvik antérieures à la version 8 ne sont pas compatibles avec le correctif du JDK-8272564
IntelliJ
Échec du démarrage de l'observateur de fichiers sous Ubuntu 20.04
Menu de la bande tactile MBP 15" de 2018 manquant
Exécution
L'option "Appareils" n'est pas visible et ne peut pas exécuter l'application même si le module d'application est disponible
Réducteur (R8)
Pourquoi R8 ne rétroporte-t-il pas les méthodes d'interface par défaut, contrairement à D8 ?
REFERENCE CIRCULAIRE : com.android.tools.r8.internal.R10 : Type inattendu lors de la conversion en primitif : OBJET