Android Studio 4.2 (April 2021)
Android Studio 4.2 ist eine Hauptversion mit vielen neuen Funktionen und Verbesserungen.
4.2.2 (Juni 2021)
Dieses kleinere Update enthält verschiedene Fehlerkorrekturen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im zugehörigen Beitrag im Release Updates Blog.
4.2.1 (Mai 2021)
Dieses kleinere Update enthält das Kotlin-Plug-in 1.5.0 und verschiedene Fehlerkorrekturen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im zugehörigen Beitrag im Release Updates-Blog.
Android-Gradle-Plug-in 4.2.0
Die aktuelle Version des Android-Gradle-Plug-ins enthält viele Updates. Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum Android-Gradle-Plug-in.
Gradle-Kompatibilität und Konfigurationsänderungen
Bei der Ausführung in Android Studio verwendet das Gradle-Build-Tool das in Studio enthaltene JDK. In früheren Versionen war JDK 8 in Studio enthalten. In Version 4.2 ist jedoch JDK 11 enthalten. Wenn Sie das neue gebündelte JDK zum Ausführen von Gradle verwenden, kann dies aufgrund von Änderungen am Garbage Collector zu Inkompatibilitäten oder Leistungseinbußen bei der JVM führen. Diese Probleme werden in den AGP-Versionshinweisen beschrieben.
Option zum Optimieren der Gradle-Synchronisierungszeit
Um die Leistung der Gradle-Synchronisierung zu verbessern, wird die Aufgabenliste in Android Studio während der Synchronisierung nicht erstellt. Dadurch wird die Gradle-Synchronisierung schneller abgeschlossen und die Reaktionsfähigkeit der Benutzeroberfläche bei sehr großen Projekten verbessert. Diese Option ist in Android Studio 4.2 standardmäßig aktiviert. Wenn Sie die Funktion deaktivieren möchten, wählen Sie File > Settings > Experimental (Preferences > Experimental auf einem Mac) aus und deaktivieren Sie Do not build Gradle task list during Gradle sync.
Database Inspector
Verbesserungen am Abfrageeditor
Der Database Inspector enthält einige Verbesserungen, die Ihnen beim Schreiben und Ausführen Ihrer benutzerdefinierten SQL-Anweisungen helfen. Wenn Sie den Inspector öffnen und den Tab Neue Abfrage öffnen, sehen Sie einen größeren, anpassbaren Editorbereich, in dem Sie Ihre Abfragen erstellen und formatieren können.
Außerdem ist jetzt ein Verlauf Ihrer bisherigen Anfragen verfügbar. Wenn Sie auf die Schaltfläche Abfrageverlauf anzeigen {: .inline-icon} klicken, wird eine Liste der Abfragen angezeigt, die Sie zuvor für die aktuell ausgewählte Datenbank ausgeführt haben. Klicken Sie in der Liste auf eine Abfrage, um eine Vorschau der vollständigen Abfrage im Editor aufzurufen, und drücken Sie die Eingabetaste, um sie in den Editor zu kopieren. Klicken Sie dann auf Ausführen, um die Anweisung auszuführen.
Offline-Modus
In früheren Versionen von Android Studio wurde der Database Inspector und seine Daten geschlossen, wenn die Verbindung zu einem App-Prozess getrennt wurde. In Android Studio 4.2 haben wir die Möglichkeit hinzugefügt, die Datenbanken Ihrer App auch nach dem Trennen einer Verbindung zu einem Prozess weiter zu untersuchen. So lässt sich Ihre App nach einem Absturz leichter debuggen.
Wenn die Verbindung getrennt wird, lädt der Database Inspector Ihre Datenbanken herunter und stellt sie Ihnen dann im Offlinemodus zur Verfügung. Wenn Sie offline sind, können Sie Tabellen öffnen und Abfragen ausführen.
Wenn Sie die Verbindung zu einem Live-App-Prozess wiederherstellen, wechselt der Database Inspector wieder in den Live-Modus und zeigt nur die Daten an, die sich auf dem Gerät befinden. Das bedeutet, dass Daten, die im Offlinemodus angezeigt werden, nicht beibehalten werden, wenn Sie die Verbindung zu einem App-Prozess wiederherstellen. Aus diesem Grund können Sie im Database Inspector im Offlinemodus keine Änderungsanweisungen bearbeiten oder ausführen.
Assistant für AGP aktualisieren
Mit dem neuen Upgrade Assistant für das Android-Gradle-Plug-in können Sie die AGP-Version für Ihr Projekt aktualisieren.
Dieses Tool basiert auf der vorhandenen AGP-Upgrade-Funktion und führt Sie durch projektweite Aktualisierungen/Refactorings. Es enthält eine Vorschau der Aktualisierungen, um potenzielle Breaking Changes zu vermeiden, bevor das AGP-Upgrade ausgeführt wird.
System Trace: Verbesserte Messwerte für Arbeitsspeicher und Grafik
Im CPU-Profiler enthält die Funktion System Trace jetzt neue Messwerte zur Analyse der App-Leistung, darunter:
-
Tabelle mit Ereignissen: Listet alle Trace-Ereignisse im aktuell ausgewählten Thread auf.
-
BufferQueue Im Bereich „Display“ wird in diesem neuen Track die Pufferanzahl der BufferQueue der App (0, 1 oder 2) angezeigt. So können Sie den Status von Bildpuffern nachvollziehen, wenn sie zwischen den Android-Grafikkomponenten verschoben werden.
-
CPU-Frequenz: Im Bereich „CPU-Kerne“ wird in diesem neuen Track die CPU-Frequenz nach Kern angezeigt. So sehen Sie, wie stark jeder Kern beansprucht wird.
-
Prozessarbeitsspeicher (RSS): In diesem neuen Fenster wird die Menge an physischem Speicher angezeigt, die derzeit von der App verwendet wird.
Weitere Informationen finden Sie unter CPU-Aktivität mit dem CPU Profiler untersuchen.
Neue Aktualisierungsaktion im Layout Inspector
Der Layout Inspector wurde in Android Studio 4.0 eingeführt und für die Echtzeitprüfung des UI-Stacks Ihrer laufenden App entwickelt. Es kann jedoch vorkommen, dass Sie nicht möchten, dass der Layout Inspector sofort widerspiegelt, was in Ihrer App passiert. Vielleicht möchten Sie eine Momentaufnahme des App-Layouts zu einem bestimmten Zeitpunkt untersuchen oder die Auswirkungen von Live-Updates auf die Leistung Ihrer App minimieren.
Wenn Sie einen Snapshot von UI-Daten aus Ihrer App manuell laden möchten, deaktivieren Sie zuerst die Option Live-Updates. Anschließend können Sie auf die Schaltfläche Aktualisieren {:.inline-icon} klicken, um einen neuen Snapshot des UI-Stacks zur Überprüfung zu erstellen. Im Layout-Inspector wird jetzt Ihre Einstellung für Live-Updates zwischen Sitzungen gespeichert.
Unterstützung für Safe Args
Safe Args ist ein Gradle-Plug-in, das einfache Objekt- und Builder-Klassen für die typsichere Navigation und den Zugriff auf zugehörige Argumente generiert. Android Studio bietet jetzt eine bessere Unterstützung für die Arbeit mit Safe Args, wie unten beschrieben:
- Automatische Vervollständigungen für Directions, Args und die verschiedenen Builder-Klassen
- Unterstützung für Safe Args-Plug-ins für Java und Kotlin
- Navigation von der Quelle zu XML
R8 retrace jetzt in Befehlszeilentools verfügbar
R8 retrace ist in Version 4.0 der Befehlszeilentools verfügbar und ein eigenständiges Tool, mit dem Sie den ursprünglichen Stacktrace aus einem verschleierten Stacktrace abrufen können.
Sie können dieses Paket mit dem SDK Manager herunterladen. Dadurch wird R8 retrace in android_sdk/cmdline-tools
installiert.
Alternativ können Sie das Paket mit den eigenständigen Befehlszeilentools herunterladen.
Informationen zur Verwendung finden Sie im Nutzerhandbuch unter „R8-Retrace“.
Auf mehreren Geräten bereitstellen
Um das Testen von Apps auf verschiedenen Geräten und API-Levels zu vereinfachen, können Sie Ihre App jetzt gleichzeitig auf mehreren Geräten oder Emulatoren bereitstellen. Gehen Sie dazu so vor:
- Wählen Sie im Drop-down-Menü für das Zielgerät (oben in der Mitte der IDE) die Option Select Multiple Devices (Mehrere Geräte auswählen) aus.
- Wählen Sie die Zielgeräte aus und klicken Sie auf OK.
- Führen Sie die App aus.
Neue removable
-Einstellung für Funktionsmodule
Das Android-Gradle-Plugin 4.2 verwendet bundletool
1.0.0. Dadurch ändert sich das Verhalten für Apps mit Funktionsmodulen: Alle Funktionsmodule, die als dist:install-time
angegeben sind und nicht explizit als dist:removable
gekennzeichnet sind, werden standardmäßig nicht mehr entfernt. Mit dieser neuen Einstellung wird das Zusammenführen von Modulen, die bei der Installation bereitgestellt werden, mit dem Basismodul optimiert. Das kann die App-Leistung für einige Apps verbessern.
Damit Funktionsmodule entfernt werden können, legen Sie dist:removable="true"
für alle Module fest, die Sie deinstallieren möchten.
Weitere Informationen zu dieser neuen Einstellung finden Sie in der Dokumentation zum dist:removable
-Tag in der Dokumentation zum Manifest des Funktionsmoduls.
Änderungen übernehmen
Damit Sie bei der Iteration Ihrer App produktiver sein können, haben wir die folgenden Verbesserungen an „Änderungen anwenden“ für Geräte mit Android 11 oder höher vorgenommen:
Unterstützung für zusätzliche Codeänderungen
Auf Geräten mit Android 11 oder höher können Sie jetzt statische finale primitive Felder hinzufügen und diese Änderungen in Ihrer laufenden App bereitstellen, indem Sie entweder auf Codeänderungen anwenden
oder auf Änderungen anwenden und Aktivität neu starten
klicken.
Sie können jetzt auch Ressourcen hinzufügen und diese Änderungen dann auf Geräten mit Android 11 in Ihrer laufenden App bereitstellen, indem Sie auf Änderungen anwenden und Aktivität neu starten
klicken.
Aktualisierte Assistenten für neue Projekte und neue Module
Die Assistenten Neues Projekt und Neues Modul wurden aktualisiert, um das Suchen und Auswählen einer Vorlage sowie das Eingeben von Informationen zum neuen Projekt oder Modul zu vereinfachen.
Die Option .JAR-/.AAR-Paket importieren wurde ebenfalls aus dem Assistenten Neues Modul entfernt. Wenn Sie eine JAR- oder AAR-Datei in Ihr Projekt importieren möchten, verwenden Sie stattdessen das Dialogfeld „Projektstruktur“.
Kotlin 1.4.31
Android Studio 4.2 enthält Kotlin 1.4.31. Im Changelog für Kotlin 1.4.0 finden Sie die wichtigsten Änderungen.
Umgebungsvariable ANDROID_SDK_HOME
ist veraltet
Die Umgebungsvariable ANDROID_SDK_HOME
wird nicht mehr verwendet und wurde durch ANDROID_PREFS_ROOT
ersetzt. Weitere Informationen finden Sie unter Emulator-Umgebungsvariablen.
Bekannte Probleme mit Android Studio 4.2
In diesem Abschnitt werden bekannte Probleme in Android Studio 4.2 beschrieben. Eine vollständige Liste finden Sie auf der Seite Bekannte Probleme.
Android Studio 4.2.0 generiert Projekte mit der falschen Kotlin-Version: „1.5.0-release-764“
Wenn Sie Android Studio 4.2.0 verwenden und auf das Kotlin-Plug-in 1.5.0 aktualisiert haben, können neue Kotlin-Projekte, die von Studio erstellt wurden, aufgrund des folgenden Gradle-Synchronisierungsfehlers nicht erstellt werden:
Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.
Ersetzen Sie als Behelfslösung 1.5.0-release-764
durch 1.5.0
in den build.gradle
-Dateien des Projekts.
Fehler bei Verwendung unterschiedlicher Passwörter für Schlüssel und Schlüsselspeicher
Ab Version 4.2 wird Android Studio mit JDK 11 ausgeführt. Dieses Update führt zu einer Änderung des zugrunde liegenden Verhaltens in Bezug auf Signierschlüssel.
Wenn Sie zu Build > Generate Signed Bundle / APK navigieren und versuchen, die App-Signatur für ein App-Bundle oder ein APK zu konfigurieren, kann es zu folgendem Fehler kommen, wenn Sie unterschiedliche Passwörter für den Schlüssel und den Keystore eingeben:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
Um dieses Problem zu umgehen, geben Sie für den Schlüssel und den Keystore dasselbe Passwort ein.
Android Studio wird nach der Installation von Version 4.2 nicht gestartet
Studio versucht, frühere .vmoptions zu importieren und so zu bereinigen, dass sie mit dem Garbage Collector von JDK 11 funktionieren. Wenn dieser Vorgang fehlschlägt, kann es sein, dass die IDE für bestimmte Nutzer, die benutzerdefinierte VM-Optionen in der Datei .vmoptions festgelegt haben, nicht gestartet wird.
Um dieses Problem zu umgehen, empfehlen wir, benutzerdefinierte Optionen in .vmoptions auszukommentieren (mit dem Zeichen #
). Die Datei .vmoptions befindet sich an den folgenden Speicherorten:
Windows
C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions
macOS
~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions
Linux
~/.config/Google/AndroidStudio4.2/studio64.vmoptions
Wenn Studio nach diesem Workaround immer noch nicht startet, lies den Abschnitt Studio startet nach dem Upgrade nicht unten.