Android Studio 3.6 (Februar 2020)

Android Studio 3.6 ist ein wichtiger Release mit einer Vielzahl neuer Funktionen und Verbesserungen.

Außerdem möchten wir uns bei allen Community-Mitgliedern bedanken, die an dieser Version mitgewirkt haben.

3.6.3 (April 2020)

Dieses kleinere Update enthält verschiedene Fehlerkorrekturen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.

3.6.2 (März 2020)

Dieses kleinere Update enthält verschiedene Fehlerkorrekturen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.

3.6.1 (Februar 2020)

Dieses kleinere Update enthält verschiedene Fehlerkorrekturen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.

Design tools

Diese Version von Android Studio enthält Updates für mehrere Designtools, darunter den Layout-Editor und den Ressourcenmanager.

Splitscreen und Zoom in Design-Editoren

In der Splitscreen-Ansicht werden sowohl die Design- als auch die Textansicht gleichzeitig angezeigt.

Diese Version enthält die folgenden Updates für die visuellen Design-Editoren:

  • Designeditoren wie der Layout-Editor und der Navigationseditor bieten jetzt eine Split-Ansicht an, mit der Sie die Design- und die Code-Ansicht Ihrer UI gleichzeitig sehen können. Oben rechts im Editorfenster befinden sich jetzt drei Schaltflächen Symbole anzeigen, mit denen Sie zwischen den Ansichtsoptionen wechseln können:

    • Klicken Sie auf das Symbol Splitscreen Symbol für die geteilte Ansicht, um die geteilte Ansicht zu aktivieren.
    • Klicken Sie auf das Symbol Quelle Symbol für die Quellansicht, um die XML-Quelldatenansicht zu aktivieren.
    • Klicken Sie auf das Symbol Design Symbol für die Designansicht, um die Designansicht zu aktivieren.
  • Die Steuerelemente zum Zoomen und Schwenken in Designeditoren wurden in ein schwebendes Steuerfeld rechts unten im Editorfenster verschoben.

Weitere Informationen finden Sie unter UI mit Layout-Editor erstellen.

Ressourcenregister für Farbauswahl

Damit Sie die Farbressourcenwerte in Ihrer App schnell aktualisieren können, wenn Sie die Farbauswahl in Ihrer XML-Datei oder die Designtools verwenden, werden die Farbressourcenwerte jetzt in der IDE für Sie ausgefüllt.

Farbauswahl mit ausgefüllten Farbwerten

Resource Manager

Der Resource Manager enthält die folgenden Updates:

  • Resource Manager unterstützt jetzt die meisten Ressourcentypen.
  • Wenn Sie nach einer Ressource suchen, werden im Resource Manager jetzt Ergebnisse aus allen Projektmodulen angezeigt. Bisher wurden bei der Suche nur Ergebnisse für das ausgewählte Modul zurückgegeben.
  • Über die Filterschaltfläche können Sie sich Ressourcen aus lokal abhängigen Modulen, externen Bibliotheken und dem Android-Framework ansehen. Mit dem Filter können Sie auch Themenattribute anzeigen lassen.
  • Sie können Ressourcen jetzt während des Importprozesses umbenennen, indem Sie in das Textfeld über der Ressource klicken.

Weitere Informationen finden Sie unter UI-Ressourcen Ihrer App mit Resource Manager verwalten.

Aktualisierungen des Android-Gradle-Plug-ins

Die neueste Version des Android Gradle-Plug-ins enthält viele Updates, darunter Optimierungen für die Buildgeschwindigkeit, Unterstützung für das Maven-Veröffentlichungs-Plug-in und Unterstützung für View-Binding. Weitere Informationen finden Sie in den vollständigen Versionshinweisen.

Bindung ansehen

Mit View Binding (Bindung für Ansichten) lässt sich einfacher Code schreiben, der mit Ansichten interagiert. Dazu wird für jede XML-Layoutdatei eine Bindungsklasse generiert. Diese Klassen enthalten direkte Verweise auf alle Ansichten, die im entsprechenden Layout eine ID haben.

Da die Datenbindung findViewById() ersetzt, wird das Risiko von Nullzeigerausnahmen aufgrund einer ungültigen Ansichts-ID eliminiert.

Zum Aktivieren der Ansichtsbindung müssen Sie das Android-Gradle-Plug-in 3.6.0 oder höher verwenden und Folgendes in die Datei build.gradle jedes Moduls aufnehmen:

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Änderungen übernehmen

Sie können jetzt eine Klasse hinzufügen und diese Codeänderung dann in Ihrer laufenden App bereitstellen. Klicken Sie dazu entweder auf Codeänderungen anwenden oder auf Änderungen übernehmen und Aktivität neu starten.

Weitere Informationen zum Unterschied zwischen diesen beiden Aktionen finden Sie unter Änderungen übernehmen.

Menüoption für die Unterstützung von Instant Apps überarbeiten

Sie können Ihr Basismodul jetzt jederzeit nach dem Erstellen Ihres App-Projekts sofort aktivieren:

  1. Öffnen Sie den Bereich Projekt, indem Sie in der Menüleiste Ansicht > Toolfenster > Projekt auswählen.
  2. Klicken Sie mit der rechten Maustaste auf Ihr Basismodul, normalerweise mit dem Namen "app", und wählen Sie Refaktorieren > Unterstützung für Instant Apps aktivieren aus.
  3. Wählen Sie im angezeigten Dialogfeld Ihr Basismodul aus dem Drop-down-Menü aus.
  4. Klicken Sie auf OK.

Hinweis:Die Option zum sofortigen Aktivieren des Basis-App-Moduls im Assistenten Neues Projekt erstellen wurde entfernt.

Weitere Informationen finden Sie unter Übersicht über Google Play Instant.

Bytecode von Klasse und Methode in APK Analyzer deobfuscieren

Wenn Sie DEX-Dateien mit dem APK Analyzer prüfen, können Sie den Bytecode von Klassen und Methoden so deobfuszieren:

  1. Wählen Sie in der Menüleiste Build > APK analysieren aus.
  2. Wählen Sie im angezeigten Dialogfeld das APK aus, das Sie prüfen möchten.
  3. Klicken Sie auf Öffnen.
  4. Wählen Sie im APK Analyzer die DEX-Datei aus, die Sie überprüfen möchten.
  5. Laden Sie in der DEX-Dateianzeige die ProGuard-Zuordnungsdatei für die zu analysierende APK-Datei.
  6. Klicken Sie mit der rechten Maustaste auf die Klasse oder Methode, die Sie prüfen möchten, und wählen Sie Bytecode anzeigen aus.

Native Tools

Die folgenden Updates unterstützen die native (C/C++)-Entwicklung in Android Studio.

Kotlin-Unterstützung

Die folgenden NDK-Funktionen in Android Studio, die zuvor in Java unterstützt wurden, werden jetzt auch in Kotlin unterstützt:

  • Sie können von einer JNI-Deklaration zur entsprechenden Implementierungsfunktion in C/C++ wechseln. Bewegen Sie dazu den Mauszeiger in der verwalteten Quellcodedatei auf die C- oder C++-Elementmarkierung in der Nähe der Zeilennummer.

  • Erstellen Sie automatisch eine Stub-Implementierungsfunktion für eine JNI-Deklaration. Definieren Sie zuerst die JNI-Deklaration und geben Sie dann „jni“ oder den Methodennamen in der C/C++-Datei ein, um sie zu aktivieren.

  • Nicht verwendete native Implementierungsfunktionen sind im Quellcode als Warnung gekennzeichnet. JNI-Deklarationen mit fehlenden Implementierungen werden ebenfalls als Fehler hervorgehoben.

  • Wenn Sie eine native Implementierungsfunktion umbenennen (umstrukturieren), werden alle entsprechenden JNI-Deklarationen aktualisiert. Benennen Sie eine JNI-Deklaration um, um die native Implementierungsfunktion zu aktualisieren.

  • Signaturprüfung für implizit gebundene JNI-Implementierungen.

Weitere JNI-Verbesserungen

Der Code-Editor in Android Studio unterstützt jetzt einen reibungsloseren JNI-Entwicklungsablauf, einschließlich verbesserter Typhinweise, automatischer Vervollständigung, Prüfungen und Code-Refaktorisierung.

APK-Neuladen für native Bibliotheken {:#3.6-reload-apk}

Sie müssen kein neues Projekt mehr erstellen, wenn das APK in Ihrem Projekt außerhalb der IDE aktualisiert wird. Android Studio erkennt Änderungen am APK und bietet Ihnen die Möglichkeit, es noch einmal zu importieren.

Nur Kotlin-APK-Quellen anhängen

Es ist jetzt möglich, externe APK-Quellen, die nur Kotlin-Code enthalten, anzuhängen, wenn Sie vorgefertigte APKs profilieren und beheben. Weitere Informationen finden Sie unter Kotlin-/Java-Quellen anhängen.

Leckortung im Speicher-Profiler

Wenn Sie einen Heap-Dump im Memory Profiler analysieren, können Sie jetzt Profiling-Daten filtern, die laut Android Studio auf Speicherlecks für Activity- und Fragment-Instanzen in Ihrer App hinweisen könnten.

Der Filter zeigt folgende Datentypen an:

  • Activity-Instanzen, die gelöscht wurden, aber weiterhin referenziert werden.
  • Fragment-Instanzen ohne gültige FragmentManager, auf die aber trotzdem verwiesen wird.

Nur Kotlin-APK-Quellen anhängen

Es ist jetzt möglich, externe APK-Quellen, die nur Kotlin-Code enthalten, anzuhängen, wenn Sie vorgefertigte APKs profilieren und beheben. Weitere Informationen finden Sie unter Kotlin-/Java-Quellen anhängen.

Leckortung im Speicher-Profiler

Wenn Sie einen Heap-Dump im Memory Profiler analysieren, können Sie jetzt Profiling-Daten filtern, die laut Android Studio auf Speicherlecks für Activity- und Fragment-Instanzen in Ihrer App hinweisen könnten.

Der Filter zeigt folgende Datentypen an:

  • Activity-Instanzen, die gelöscht wurden, aber weiterhin referenziert werden.
  • Fragment-Instanzen ohne gültige FragmentManager, auf die aber trotzdem verwiesen wird.

In bestimmten Situationen, wie den folgenden, kann der Filter falsch positive Ergebnisse liefern:

  • Eine Fragment wurde erstellt, aber noch nicht verwendet.
  • Ein Fragment wird im Cache gespeichert, aber nicht als Teil einer FragmentTransaction.

Wenn Sie diese Funktion verwenden möchten, müssen Sie zuerst einen Heap-Dump erfassen oder eine Heap-Dump-Datei in Android Studio importieren. Wenn Sie die Fragmente und Aktivitäten anzeigen möchten, die möglicherweise Speicherlecks verursachen, setzen Sie im Bereich „Heap-Dump“ des Speicherprofils ein Häkchen in das Kästchen Aktivitäts-/Fragmentlecks.

Profiler: Erkennung von Speicherlecks

Heap-Dump nach Speicherlecks filtern

Emulatoren

Mit Android Studio 3.6 können Sie mehrere Updates nutzen, die im Android Emulator 29.2.7 und höher enthalten sind, wie unten beschrieben.

Verbesserte Standortunterstützung

Android Emulator 29.2.7 und höher bietet zusätzliche Unterstützung für die Emulation von GPS-Koordinaten und Routeninformationen. Wenn Sie die erweiterten Steuerelemente des Emulators öffnen, werden die Optionen auf dem Tab „Standort“ jetzt auf zwei Tabs angezeigt: Einzelne Punkte und Routen.

Einzelne Punkte

Auf dem Tab Einzelne Punkte können Sie über die Google Maps-Webansicht nach interessanten Orten suchen, genau wie bei der Verwendung von Google Maps auf einem Smartphone oder in einem Browser. Wenn Sie einen Ort auf der Karte suchen oder darauf klicken, können Sie diesen speichern, indem Sie unten auf der Karte „Punkt speichern“ auswählen. Alle Ihre gespeicherten Standorte werden rechts im Fenster Erweiterte Einstellungen aufgeführt.

Wenn Sie den Standort des Emulators auf den Ort festlegen möchten, den Sie auf der Karte ausgewählt haben, klicken Sie rechts unten im Fenster Erweiterte Steuerelemente auf die Schaltfläche Standort festlegen.

Tab „Einzelne Punkte“ in den erweiterten Steuerelementen des Emulators.

Routen

Ähnlich wie auf dem Tab Einzelne Punkte bietet der Tab Routen eine Google Maps-Webansicht, mit der Sie eine Route zwischen zwei oder mehr Standorten erstellen können. So erstellen und speichern Sie eine Route:

  1. Verwenden Sie in der Kartenansicht das Textfeld, um nach dem ersten Ziel Ihrer Route zu suchen.
  2. Wählen Sie den Standort aus den Suchergebnissen aus.
  3. Wählen Sie die Schaltfläche Navigieren aus.
  4. Wählen Sie auf der Karte den Startpunkt Ihrer Route aus.
  5. Optional: Klicken Sie auf Ziel hinzufügen, um Ihrer Route weitere Haltestellen hinzuzufügen.
  6. Klicken Sie in der Kartenansicht auf Route speichern, um die Route zu speichern.
  7. Geben Sie einen Namen für die Route ein und klicken Sie auf Speichern.

Wenn Sie simulieren möchten, dass der Emulator der von Ihnen gespeicherten Route folgt, wählen Sie die Route aus der Liste der Gespeicherten Routen aus und klicken Sie rechts unten im Fenster Erweiterte Steuerelemente auf Route abspielen. Klicken Sie auf Route beenden, um die Simulation zu beenden.

Tab „Routen“ in den erweiterten Steuerelementen des Emulators.

Aktivieren Sie den Schalter neben Wiedergabe wiederholen, um den Emulator kontinuierlich für die angegebene Route zu simulieren. Wenn Sie ändern möchten, wie schnell der Emulator der angegebenen Route folgt, wählen Sie eine Option aus dem Drop-down-Menü Wiedergabegeschwindigkeit aus.

Multi-Display-Unterstützung

Mit dem Android-Emulator können Sie Ihre App jetzt auf mehreren Bildschirmen bereitstellen, die anpassbare Abmessungen unterstützen. So können Sie Apps testen, die Multifenster und Multidisplay unterstützen. Während ein virtuelles Gerät ausgeführt wird, können Sie auf folgende Weise bis zu zwei zusätzliche Bildschirme hinzufügen:

  1. Öffnen Sie die erweiterten Steuerelemente und gehen Sie zum Tab Bildschirme.

  2. Klicken Sie auf Sekundäres Display hinzufügen, um ein weiteres Display hinzuzufügen.

  3. Wählen Sie im Drop-down-Menü unter Sekundäre Bildschirme eine der folgenden Optionen aus:

  4. Wählen Sie eines der voreingestellten Seitenverhältnisse aus.

  5. Wählen Sie Benutzerdefiniert aus und legen Sie die Höhe, Breite und dpi für das benutzerdefinierte Display fest.

  6. Optional: Klicken Sie auf Sekundäres Display hinzufügen, um ein drittes Display hinzuzufügen.

  7. Klicken Sie auf Änderungen anwenden, um das oder die angegebenen Displays dem laufenden virtuellen Gerät hinzuzufügen.

Mehrere Displays auf dem Tab „Display“ der erweiterten Steuerelemente des Emulators hinzufügen

Neue virtuelle Geräte und Projektvorlagen für Android Automotive OS

Wenn Sie mit Android Studio ein neues Projekt erstellen, können Sie jetzt im Assistenten Neues Projekt erstellen auf dem Tab Automotive eine von drei Vorlagen auswählen: Keine Aktivität, Mediendienst und Messaging-Dienst. Bei vorhandenen Projekten kannst du Unterstützung für Android Automotive-Geräte hinzufügen, indem du in der Menüleiste File > New > New Module und dann Automotive Module auswählst. Der Assistent Neues Modul erstellen führt Sie dann durch das Erstellen eines neuen Moduls mit einer der Android Automotive-Projektvorlagen.

Wählen Sie eine Android Automotive-Projektvorlage aus..

Außerdem können Sie jetzt ein virtuelles Android-Gerät (AVD) für Android Automotive OS-Geräte erstellen. Wählen Sie dazu im Assistenten Konfiguration virtueller Geräte auf dem Tab Automotive eine der folgenden Optionen aus.

  1. Polestar 2: Erstellen Sie einen Anzeigenblock, der das Infotainmentsystem von Polestar 2 emuliert.
  2. Automotive (1024p, Querformat): Erstellen Sie eine AVD für generische Android Automotive-Infotainmentsysteme mit einer Auflösung von 1.024 × 768 Pixeln.

Auswahl eines virtuellen Android Automotive-Geräts.

Fortsetzbare SDK-Downloads

Beim Herunterladen von SDK-Komponenten und -Tools mit dem SDK-Manager können Sie in Android Studio jetzt unterbrochene Downloads fortsetzen, z. B. aufgrund eines Netzwerkproblems, anstatt den Download von vorn zu starten. Diese Verbesserung ist besonders hilfreich bei großen Downloads wie dem Android-Emulator oder System-Images, wenn die Internetverbindung unzuverlässig ist.

Wenn im Hintergrund ein SDK-Download ausgeführt wird, können Sie den Download jetzt über die Steuerelemente in der Statusleiste anhalten oder fortsetzen.

Ein Hintergrunddownload in der Statusleiste mit neuen Steuerelementen, mit denen Sie den Download pausieren oder fortsetzen können.

In der Statusleiste wird eine Hintergrund-Downloadaufgabe mit neuen Steuerelementen angezeigt, mit denen Sie den Download pausieren oder fortsetzen können.

Win32 wird eingestellt

Die 32-Bit-Version von Android Studio für Windows wird nach Dezember 2019 nicht mehr aktualisiert und nach Dezember 2020 nicht mehr unterstützt. Sie können Android Studio weiterhin verwenden. Wenn Sie jedoch zusätzliche Updates erhalten möchten, führen Sie ein Upgrade Ihrer Workstation auf eine 64-Bit-Version von Windows durch.

Weitere Informationen finden Sie im Blog zur Einstellung von Windows 32-Bit.

Neue Option zur Optimierung der Gradle-Synchronisierungszeit

In früheren Releases wurde in Android Studio die Liste aller Gradle-Aufgaben während der Gradle-Synchronisierung abgerufen. Bei großen Projekten kann das Abrufen der Aufgabenliste zu langen Synchronisierungszeiten führen.

Wenn Sie die Leistung der Gradle-Synchronisierung verbessern möchten, gehen Sie zu Datei > Einstellungen > Experimentell und wählen Sie „Gradle-Aufgabenliste nicht während der Gradle-Synchronisierung erstellen“ aus.

Wenn Sie diese Option aktivieren, überspringt Android Studio das Erstellen der Aufgabenliste während der Synchronisierung. Dadurch wird die Gradle-Synchronisierung schneller abgeschlossen und die UI reagiert reaktionsschneller. Wenn die IDE das Erstellen der Aufgabenliste überspringt, sind die Aufgabenlisten im Gradle-Steuerfeld leer und die automatische Vervollständigung von Aufgabennamen in Build-Dateien funktioniert nicht.

Neuer Ort zum Aktivieren/Deaktivieren des Offlinemodus von Gradle

Wenn Sie den Offlinemodus von Gradle aktivieren oder deaktivieren möchten, wählen Sie zuerst in der Menüleiste View > Tool Windows > Gradle aus. Klicken Sie dann oben im Fenster Gradle auf Offlinemodus aktivieren/deaktivieren Schaltfläche „Offline“ für Gradle im Gradle-Steuerfeld.

IntelliJ IDEA 2019.2

Die Android Studio-IDE wurde mit Verbesserungen aus IntelliJ IDEA in der Version 2019.2 aktualisiert.

Weitere Informationen zu den Verbesserungen aus anderen IntelliJ-Versionen, die in Version 2019.2 enthalten sind, finden Sie auf den folgenden Seiten:

Communitybeiträge

Vielen Dank an alle Community-Mitglieder, die uns geholfen haben, Fehler zu finden und Android Studio 3.6 weiter zu verbessern. Wir möchten uns insbesondere bei den folgenden Personen bedanken, die uns Fehler gemeldet haben:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Jonas Schmidt
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratow
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers