Android Studio 3.4 ist eine Hauptversion mit verschiedenen neuen Funktionen und Verbesserungen.
IntelliJ IDEA 2018.3.4
- Der Android Studio-Kern wurde mit Verbesserungen von IntelliJ IDEA ab Version 2018.3.4 aktualisiert
Android Gradle Plugin 3.4.0
- Informationen zum neuen Android Gradle-Plugin 3.4.0 finden Sie in den Versionshinweisen
Neuer Projektstrukturdialog
- Das neue Dialogfeld "Projektstruktur" (PSD) erleichtert das Aktualisieren von Abhängigkeiten und das Konfigurieren verschiedener Aspekte Ihres Projekts, z. B. Module, Erstellungsoptionen, Signaturkonfigurationen und Erstellungsvariablen
- Sie können die PSD öffnen, indem Sie im Menü "Datei> Projektstruktur" auswählen. Sie können die PSD auch über Strg + Umschalt + Alt + S unter Windows und Linux oder Befehl + öffnen. (Semikolon) unter macOS. Das Folgende ist eine Beschreibung der PSD-Innovationen und -Updates.
Variablen
Module
- Konfigurieren Sie die Eigenschaften, die für alle in den Modulen vorhandenen Erstellungsoptionen gelten, oder fügen Sie Ihrem Projekt im Abschnitt Module neue Module hinzu. Hier können Sie beispielsweise die Eigenschaft defaultConfig konfigurieren oder die Signaturkonfigurationen verwalten
Abhängigkeiten
Überprüfen und anzeigen Sie jedes Abhängigkeitsdiagramm des Abhängigkeitsdiagramms Ihres Projekts, das Gradle während der Projektsynchronisierung erstellt hat, indem Sie die folgenden Schritte ausführen:
- Wählen Sie im linken Bereich der PSD "Abhängigkeiten" aus.
- Wählen Sie im Bedienfeld Module das Modul aus, für das Sie die Abhängigkeiten anzeigen möchten
- Öffnen Sie auf der rechten Seite der PSD das Fenster "Gelöste Abhängigkeiten" wie unten gezeigt

Sie können Abhängigkeiten auch schnell finden und zu Ihrem Projekt hinzufügen, indem Sie das Modul auswählen und auf die Schaltfläche "+" im Abschnitt "Deklarierte Abhängigkeiten" klicken und dann den Typ der Abhängigkeit auswählen, die Sie hinzufügen möchten
Abhängig von der Art der Abhängigkeit, die Sie auswählen, sollte ein Dialogfeld ähnlich dem unten gezeigten angezeigt werden, in dem Sie die Abhängigkeit zum Modul hinzufügen können

Montagemöglichkeiten
- In diesem Abschnitt der PSD werden Build-Optionen und Variationen ('Produktvarianten') für jedes Modul in Ihrem Projekt erstellt und konfiguriert. Sie können Manifestvorlagen ('Platzhalter'), ProGuard-Dateien hinzufügen und Signaturschlüssel usw. zuweisen.

Tipps
- Sie können die vorgeschlagenen Abhängigkeitsaktualisierungen für Ihr Projekt und die Erstellungsoptionen im Abschnitt "Vorschläge" sehen, wie unten gezeigt

Neuer 'Ressourcenmanager'
'Resource Manager' ist ein neues Tool zum Importieren, Erstellen, Verwalten und Verwenden der Ressourcen Ihrer Anwendung. Sie können dieses Tool über das Menü "Ansicht> Tool Windows> Ressourcenmanager" öffnen. Mit dem Ressourcenmanager können Sie Folgendes tun:

- Ressourcen visualisieren: Sie können eine Vorschau von Zeichnungen, Farben und Layouts anzeigen, um schnell die richtige Ressource zu finden
- Massenimport : Sie können mehrere zeichnbare Assets gleichzeitig importieren, indem Sie sie einfach in den Ressourcenmanager oder über den Assistenten zum Zeichnen von Drawables ziehen. Um auf den Assistenten zuzugreifen, klicken Sie auf die Schaltfläche "+" in der oberen linken Ecke des Fensters und wählen Sie dann "Drawables importieren" aus der Dropdown-Liste
- Konvertieren von SVG-Dateien in VectorDrawables: Mit dem Assistenten zum Importieren von Drawables können Sie Ihre SVG-Bilder in VerctorDrawables konvertieren
- Drag & Drop-Assets: Im Fenster "Ressourcenmanager" können Sie Drawables in Ihre Design- und XML-Widgets des Layout-Editors ziehen ("Layout-Editor").
- Alternative Versionen von Widgets: Jetzt können Sie alternative Versionen Ihrer Ressourcen haben, indem Sie im Fenster "Tool" auf die Ressource doppelklicken. Sie sehen die verschiedenen Versionen, die Sie erstellt haben, und welche Qualifikationsmerkmale sie enthalten.
- Kachel- oder Listenanzeige : Sie können die Anzeige im Visualisierungsfenster Ihrer Ressourcen anhand ihres unterschiedlichen Layouts ändern
Weitere Informationen finden Sie im Handbuch zum Verwalten von App-Ressourcen .
Überprüfen der Build-IDs beim Profilieren und Debuggen von APKs
- Wenn Sie die "Debugging-Symboldateien" der gemeinsam genutzten .so-Bibliotheken in Ihrem APK bereitstellen, überprüft Android Studio, ob die Build-ID der "Debugging-Symboldateien" mit der Build-ID der .so-Bibliotheken im APK übereinstimmt
- Wenn Sie native Bibliotheken in Ihrer APK mit Build-ID sammeln, überprüft Android Studio, ob die Build-ID Ihrer "Symboldateien" und die Build-ID Ihrer nativen Bibliotheken übereinstimmen, und setzt die "Symboldateien" zurück, wenn keine Übereinstimmung vorliegt. Wenn Sie nicht mit der Build-ID erstellen, kann die Angabe falscher "Symboldateien" zu Problemen beim Debuggen führen
R8 ist standardmäßig aktiviert
R8 kombiniert Desugaring, Komprimierung, Verschleierung, Optimierung und Dexing in einem Schritt, was zu einer spürbaren Leistungsverbesserung führt. R8 wurde im Android Gradle-Plugin 3.3.0 eingeführt und ist jetzt standardmäßig für Anwendungen und Android-Bibliotheksprojekte mit dem Plugin Version 3.4.0 oder höher aktiviert
Das Bild unten zeigt den Kompilierungsprozess vor R8

Mit R8 werden nun Desugaring, Komprimierung, Verschleierung, Optimierung und Dexing (D8) in einem Schritt ausgeführt, wie unten gezeigt

R8 funktioniert mit Ihren vorhandenen ProGuard-Regeln, sodass Sie keine Maßnahmen ergreifen müssen, um R8 nutzen zu können. Da sich diese Technologie von ProGuard unterscheidet, das speziell für Android-Projekte entwickelt wurde, besteht die Komprimierung und Optimierung möglicherweise darin, Code zu entfernen, den ProGuard nicht löscht. In dieser unwahrscheinlichen Situation müssen Sie möglicherweise zusätzliche Regeln hinzufügen, um diesen Code in der Endmontage zu speichern
Wenn Sie Probleme mit R8 haben, lesen Sie die häufig gestellten Fragen zur R8-Kompatibilität , um zu überprüfen, ob es eine vorgefertigte Lösung gibt. Wenn die Lösung noch nicht dokumentiert wurde, melden Sie bitte einen Fehler . Sie können R8 deaktivieren, indem Sie der Datei gradle.properties Ihres Projekts eine der folgenden Anweisungen hinzufügen:
<i> # R8 nur für Android Library-Module deaktivieren </ i>
android.enableR8.libraries = false </ p>
<p> <i> # deaktiviere R8 für alle Module </ i>
android.enableR8 = false
HINWEIS: Wenn Sie für den angegebenen Assembly-Typ in der Datei build.gradle Ihres App-Moduls false für useProguard festlegen, verwendet das Android Gradle-Plugin R8, um den Anwendungscode für diesen Assembly-Typ zu komprimieren, unabhängig davon, ob R8 in der Datei gradle.properties Ihres Projekts deaktiviert ist
Der Navigationseditor unterstützt jetzt alle Arten von Argumenten
- Alle von der Navigationskomponente unterstützten Typen werden jetzt im Navigationseditor unterstützt. Weitere Informationen zu unterstützten Typen finden Sie unter Daten zwischen Zielen übergeben
Verbesserungen im Layout-Editor
Das Bedienfeld "Attribute" im Layout-Editor wurde auf eine Seite mit Abschnitten vereinfacht, die Sie erweitern können, um die gewünschten Attribute zu konfigurieren. Das Attributfenster enthält außerdem die folgenden Aktualisierungen:
- Im Abschnitt Neue deklarierte Attribute werden die in der Layoutdatei angegebenen Attribute aufgelistet und Sie können schnell neue hinzufügen
- Das Fenster "Attribute" ist jetzt auch mit einem Indikator neben jedem Attribut ausgestattet, das gefüllt wird, wenn der Attributwert eine Ressource ist
- Jetzt werden Attribute mit Fehlern und Warnungen hervorgehoben. Eine rote Markierung zeigt Fehler an (z. B. wenn Sie falsche Platzierungswerte verwenden), und eine orange Markierung zeigt Warnungen an (z. B. wenn Sie fest codierte Werte verwenden).
Neue Aktionstipps zum schnellen Importieren von Abhängigkeiten
- Wenn Sie bestimmte Jetpack- und Firebase-Klassen in Ihrem Code verwenden, empfehlen neue Aktionstipps, die erforderlichen Abhängigkeiten der Gradle-Bibliothek zu Ihrem Projekt hinzuzufügen, sofern diese noch nicht hinzugefügt wurden. Wenn Sie beispielsweise zum ersten Mal auf die WorkManager-Klasse verweisen, benötigen Sie die Abhängigkeit android.arch.work:work-runtime. Mit dem Aktionshinweis können Sie sie mit einem Klick hinzufügen, wie unten gezeigt

- insbesondere seit Jetpack wird in separaten Paketen dargestellt (was die Verwaltung und Aktualisierung erleichtert). Mit der Aktionsverknüpfung können Sie schnell nur die Abhängigkeiten hinzufügen, die für die von Ihnen verwendeten Jetpack-Komponenten erforderlich sind
3.4.0 bekannte Probleme
- Die Profilerstellung ist deaktiviert, wenn Sie Ihre Anwendung auf Geräten mit Android Q Beta bereitstellen
- Wenn eine Datenbindungsbibliothek verwendet wird, kann LiveDataListener.onChanged () mit einer NullPointerException fallen. Eine Lösung für dieses Problem ist in Android Studio 3.4.1 enthalten und bereits in der neuesten Vorschau-Version von Android Studio 3.5 verfügbar (siehe Fehler 122066788 ).