Android Studio 3.1 (März 2018)
Android Studio 3.1.0 ist ein wichtiger Release mit einer Vielzahl neuer Funktionen und Verbesserungen.
3.1.4 (August 2018)
Dieses Update für Android Studio 3.1 enthält folgende Änderungen und Fehlerkorrekturen:
- Der gebündelte Kotlin-Code ist jetzt Version 1.2.50.
-
Neue Projekte werden mit
kotlin-stdlib-jdk* artifacts
erstellt. und nicht mitkotlin-stdlib-jre*
-Artefakten, die eingestellt. - Das R8-Parsing von ProGuard-Regeln wurde verbessert.
- Die folgenden Fehler wurden behoben:
-
Beim Ausführen der Kotlin-Hauptklasse ist ein Fehler aufgetreten:
"Error: Could not find or load main class..."
- R8 kam bei bestimmten Optimierungen in eine Endlosschleife.
- Wenn Sie im Fenster Ausführen den Befehl Fehlgeschlagene Tests wiederholen verwenden, wurde manchmal fälschlicherweise die Meldung „Keine Tests gefunden“ angezeigt.
-
D8 hat
invoke-virtual
-Instanzen nicht richtig verarbeitet, was zu einem Absturz mit einerVerifyError
geführt hat:invoke-super/virtual can't be used on private method
-
Der Datenbindungscompiler verwendete eine alte Version von
com.android.tools:annotations
. Der Compiler verwendet jetzt Tools-Anmerkungen aus dem Basisprojekt, sofern verfügbar. - Android Studio stürzte bei Fragmentübergängen bei der Verwendung von Profiler.
- Der Debugger ist beim Debuggen eines Layouts mit einem Textfeld abgestürzt.
- D8 konnte einige ZIP-Dateien mit Sonderzeichen nicht lesen.
3.1.3 (Juni 2018)
Dieses Update für Android Studio 3.1 enthält Fehlerkorrekturen für folgende Fehler:
- Aufgrund von Speicherlecks wurde Android Studio langsam und reagiert nicht mehr nachdem Sie den Layout-Editor verwendet haben. Dieses Update enthält Korrekturen für die meisten dieser Probleme. Wir haben vor, bald ein weiteres Update weitere Speicherlecks beheben.
- Einige mit D8 erstellte Anwendungen sind auf einigen Verizon Ellipsis-Tablets abgestürzt.
-
Die Installation von Anwendungen, die mit D8 erstellt wurden, ist mit folgender Fehlermeldung fehlgeschlagen:
INSTALL_FAILED_DEXOPT
Fehler auf Geräten mit Android 5.0 oder 5.1 (API-Level 21 oder 22). - Einige Anwendungen, die die OkHttp-Bibliothek verwenden und mit D8 erstellt wurden, stürzten auf Geräten mit Android 4.4 (API-Level 19) ab.
-
Android Studio konnte manchmal nicht gestartet werden,
ProcessCanceledException
während der Klasseninitialisierung fürcom.intellij.psi.jsp.JspElementType
.
3.1.2 (April 2018)
Dieses Update auf Android Studio 3.1 enthält Fehlerkorrekturen für die folgenden Probleme:
- In einigen Fällen blieb Android Studio beim Beenden auf unbestimmte Zeit hängen.
-
Mit Quellsätzen konfigurierte Builds mit folgender Meldung fehlgeschlagen, als Instant Run aktiviert war:
"The SourceSet name is not recognized by the Android Gradle Plugin."
- Wenn Instant Run aktiviert war, schlugen Builds neuer Kotlin-Projekte fehl, wenn sie durch den Befehl Ausführen ausgelöst wurden.
-
Beim Bearbeiten der Datei
build.gradle
sind manchmal eine merkliche Verzögerung zwischen der Eingabe eines Zeichens und dem Erscheinen des Zeichens auf dem Bildschirm. -
Build-Fehler sind beim Dexing in einigen Projekten mit großen Anzahl der Module oder externen Abhängigkeiten, mit folgendem Fehler: Nachricht:
"RejectedExecutionException: Thread limit exceeded replacing blocked worker"
- Bei der Berechnung der D8-Haupt-DEX-Liste wurden einige reflektive Aufrufe nicht berücksichtigt.
Dieses Update enthält auch Änderungen, die laufende Lint-Prüfungen von Gradle ermöglichen in einigen Szenarien viel schneller.
3.1.1 (April 2018)
Dieses Update für Android Studio 3.1 enthält Fehlerkorrekturen für folgende Fehler:
-
In einigen Fällen wurde die Gradle-kompatible Make-Aufgabe beim ersten Öffnen eines in Android Studio 3.0 erstellten Projekts in Android Studio 3.1 aus dem Bereich Vor dem Start in Ausführungs-/Debug-Konfigurationen entfernt. Das Ergebnis war, dass Projekte nicht fertiggestellt wurden, Es wurde auf die Schaltfläche Ausführen oder Fehler beheben geklickt, was wiederum zu wie die Bereitstellung falscher APKs und Abstürze bei der Verwendung von Instant Run.
Um dieses Problem zu beheben, wird in Android Studio 3.1.1 die Gradle-kompatible Make-Aufgabe der Ausführungskonfiguration für Projekte hinzugefügt, bei denen dieser Eintrag fehlt. Diese Änderung erfolgt nach der ersten Gradle-Synchronisierung, wenn das Projekt geladen.
- Der Debugger ist beim Debuggen eines Layouts mit einem Textfeld abgestürzt, wenn er fortgeschritten ist Profilerstellung aktiviert.
- Android Studio ist eingefroren, nachdem Sie auf Build-Varianten geklickt haben.
- AAR-Dateien (Android-Archiv) wurden zweimal extrahiert, einmal während der Gradle-Funktion und einmal während des Gradle-Build-Prozesses.
- In einigen Vektor-Drawables, die aus SVG-Dateien importiert wurden, fehlten Elemente.
-
Die Warnung zur Einstellung der
compile
Abhängigkeitskonfiguration wurde mit besseren Anweisungen zu folgenden Themen aktualisiert: die Konfigurationenimplementation
undapi
. Für Details zur Migration voncompile
finden Sie in der <ph type="x-smartling-placeholder"></ph> Dokumentation zu den neuen Abhängigkeitskonfigurationen.
Programmieren/IDE
IntelliJ 2017.3.3
Die Android Studio-IDE wurde mit Verbesserungen aus IntelliJ IDEA der Version 2017.3.3 aktualisiert. Zu den Verbesserungen gehören eine bessere Steuerung des Ablaufs. Analyse für Sammlungen und Strings, verbesserte Inferenz auf Null-Zulässigkeit, neue schnelle Fehlerbehebungen und vieles mehr.
Weitere Informationen finden Sie in den JetBrains-Releasenotes für IntelliJ IDEA-Versionen 2017.2 und 2017.3 sowie in den JetBrains-Releasenotes für Updates mit Fehlerkorrekturen.
Verbesserte SQL-Bearbeitung mit Raum
Wenn Sie die Raumdatenbankbibliothek profitieren Sie von verschiedenen Verbesserungen bei der SQL-Bearbeitung:
- Codevervollständigung innerhalb einer
Query
SQL-Tabellen (Entitäten), Spalten, Abfrageparameter, Joins, Unterabfragen und WITH-Klauseln. - Die SQL-Syntaxhervorhebung funktioniert jetzt.
- Sie können in SQL mit der rechten Maustaste auf einen Tabellennamen klicken und ihn umbenennen. den entsprechenden Java- oder Kotlin-Code (z. B. den Rückgabetyp der Abfrage). Das Umbenennen funktioniert auch in die andere Richtung. Wenn Sie also eine Java-Klasse oder ein Java-Feld umbenennen, wird der entsprechende SQL-Code neu geschrieben.
- SQL-Nutzungen werden angezeigt, wenn Sie die Option Nutzungen suchen verwenden (Rechtsklick und Wählen Sie im Kontextmenü Nutzungen suchen aus.
- So navigieren Sie zur Deklaration einer SQL-Entität in Java- oder Kotlin-Code: können Sie die Strg-Taste (Befehlstaste auf einem Mac) gedrückt halten, während Sie auf das Element klicken.
Informationen zur Verwendung von SQL mit Room finden Sie unter Daten lokal speichern in einem Chatroom.
Datenaktualisierungen Bindung
Dieses Update enthält mehrere Verbesserungen für die Datenbindung:
-
Sie können jetzt einen
LiveData
-Objekt als beobachtbares Feld in Datenbindungsausdrücken verwenden. DieViewDataBinding
enthält jetzt eine neuesetLifecycle()
-Methode, die Sie zu beobachtenLiveData
Objekte. -
Die Klasse
ObservableField
kann jetzt andereObservable
-Objekte in ihrem Konstruktor annehmen. -
Sie können eine Vorschau eines neuen inkrementellen Compilers für Ihre Datenbindung anzeigen lassen Klassen. Weitere Informationen zu diesem neuen Compiler und eine Anleitung zum Aktivieren finden Sie unter Data Binding Compiler V2.
Zu den Vorteilen des neuen Compilers gehören:
-
ViewBinding
-Klassen werden vom Android- Plug-in für Gradle vor dem Java-Compiler. - Die generierten Bindungsklassen von Bibliotheken bleiben beim Kompilieren der App erhalten, anstatt jedes Mal neu generiert zu werden. Dies kann und die Leistung bei Projekten mit mehreren Modulen erheblich verbessern.
-
Compiler und Gradle
D8 ist der Standard-DEX-Compiler
Der D8-Compiler wird jetzt standardmäßig zum Generieren von DEX-Bytecode verwendet.
Dieser neue DEX-Compiler bringt einige Vorteile mit sich, darunter die Folgendes:
- Schnellere Deindexierung
- Geringere Arbeitsspeichernutzung
- Verbesserte Codegenerierung (bessere Registerzuweisung, intelligenterer String) Tabellen)
- Verbesserte Fehlerbehebung beim Durchlaufen von Code
Sie müssen keine Änderungen an Ihrem Code oder Ihrer Entwicklung vornehmen. Workflow nutzen, um diese Vorteile zu erhalten, es sei denn, Sie hatten zuvor manuell den D8-Compiler deaktiviert hat.
Wenn Sie in gradle.properties
für android.enableD8
den Wert false
festgelegt haben, löschen Sie dieses Flag oder legen Sie es auf true
fest:
android.enableD8=true
Weitere Informationen finden Sie unter Neuer DEX-Compiler.
Inkrementelle Desugaring
Für Projekte, die Java 8-Sprachfunktionen Inkrementelle Desugaring ist standardmäßig aktiviert, was die Build-Erstellung Mal.
Durch Desugarieren syntaktischer Zucker in ein Format zu bringen, das der Compiler effizienter verarbeiten kann.
Sie können die inkrementelle Desugarierung deaktivieren, indem Sie Folgendes in
in die gradle.properties
-Datei Ihres Projekts ein:
android.enableIncrementalDesugaring=false
Vereinfachtes Ausgabefenster
Die Gradle Console wurde durch die Version Build mit den Tabs Synchronisieren und Erstellen.
Weitere Informationen zur Verwendung des neuen, vereinfachten Fensters Build finden Sie unter Build-Prozess überwachen.
Batch-Updates und -Indexierung Nebenläufigkeit
Die Gradle-Synchronisierung und IDE-Indexierung sind jetzt viel effizienter. und reduziert so den Zeitaufwand für viele redundante Indexierungsvorgänge.
C++ und LLDB
Wir haben viele Qualitäts- und Leistungsverbesserungen in den Bereichen Codierung, Synchronisierung, Erstellung und Fehlerbehebung in der C++-Entwicklung. Zu den Verbesserungen gehören:
-
Wenn Sie mit großen C++-Projekten arbeiten, werden Sie eine deutliche Verbesserung bemerken. weniger Zeit für die Erstellung von Symbolen aufwenden. Die Synchronisierungszeit ist ebenfalls sehr wichtig, bei großen Projekten reduziert.
-
Die Leistung beim Erstellen und Synchronisieren mit CMake wurde durch im Cache gespeicherte Ergebnisse intensiver wiederverwenden.
-
Zusätzliche Formatierer ("Drucker") für mehr C++-Datenstrukturen die LLDB-Ausgabe leichter zu lesen ist.
-
LLDB funktioniert jetzt nur mit Android 4.1 (API-Level 16) und höher.
Hinweis: Natives Debugging mit Android Studio 3.0 oder funktioniert nicht unter 32-Bit-Windows. Wenn Sie 32-Bit-Windows und nativen Code debuggen müssen, verwenden Sie Android Studio 2.3.
Kotlin
Aktualisierung von Kotlin auf Version 1.2.30
Android Studio 3.1 enthält Kotlin-Version 1.2.30.
Kotlin-Code wird jetzt mit Lint-Prüfung über die Befehlszeile
Laufen aus dem Mit der Befehlszeile werden jetzt Ihre Kotlin-Klassen analysiert.
Für jedes Projekt, für das Sie lint ausführen möchten, muss das Maven-Repository von Google in der Datei build.gradle
auf oberster Ebene enthalten sein. Das Maven-Repository ist bereits für Projekte enthalten, die erstellt wurden in
Android Studio 3.0 und höher
Tools zur Leistungssteigerung
Beispiele für native C++-Prozesse mit CPU Profiler
Der CPU Profiler enthält eine Standardkonfiguration zum Aufzeichnen von Stichproben-Traces Ihrer App native Threads. Sie können diese Konfiguration verwenden, indem Sie Ihre Anwendung auf einem mit Android 8.0 (API-Level 26) oder höher und wählen Sie Stichproben (nativ) aus der CPU Profiler-Aufzeichnung im Drop-down-Menü „Konfigurationen“. Anschließend können Sie wie gewohnt einen Trace aufzeichnen und prüfen.
Sie können Standardeinstellungen wie das Stichprobenintervall ändern, indem Sie eine Aufnahmekonfiguration erstellen.
Wenn Sie zum Tracing Ihrer Java-Threads zurückkehren möchten, wählen Sie entweder Stichproben (Java) oder Instrumentiert (Java) Konfiguration.
CPU-Traces, Arbeitsspeicher filtern Zuweisungsergebnisse und Heap-Dumps
Den CPU-Profiler und Einschließen von Memory Profiler Eine Suchfunktion, mit der Sie Ergebnisse aus der Aufzeichnung einer Methode filtern können Trace, Arbeitsspeicherzuweisung oder Heap-Dump.

Klicken Sie zum Suchen rechts oben im Bereich auf Filter , geben Sie Ihre Suchanfrage ein und drücken Sie die Eingabetaste.
Tipp: Sie können das Suchfeld auch mit der Tastenkombination Strg + F (Befehlstaste + F auf einem Mac) öffnen.
Rufen Sie auf dem Tab Flame Chart des CPU Profilers Stacks auf, die Folgendes beinhalten: Methoden, die sich auf Ihre Suchanfrage beziehen, werden hervorgehoben und nach links verschoben. Seite des Diagramms.
Weitere Informationen zum Filtern nach Methode, Klasse oder Paketnamen finden Sie unter Methoden-Traces aufzeichnen und prüfen
Tab „Anfrage“ im Network Profiler
Netzwerk-Profiler enthält jetzt den Tab Anfrage mit Details zum Werbenetzwerk. im ausgewählten Zeitraum angezeigt. In früheren Versionen hat das Netzwerk Profiler hat nur Informationen zu Netzwerkantworten bereitgestellt.
Threadansicht im Netzwerk-Profiler
Nachdem Sie einen Teil der Zeitachse in der Network Profiler: Sie können eine der auf den folgenden Registerkarten, um mehr Details zur Netzwerkaktivität während dieser Zeitrahmen:
- Verbindungsansicht: Bietet dieselben Informationen wie in früheren Versionen von Android Studio: Hier werden die Dateien aufgelistet, die während des ausgewählten Teil der Zeitachse über alle CPU-Threads Ihrer App hinweg. Für jede Anfrage können Sie Größe, Typ, Status und Übertragungsdauer überprüfen.
- Threadansicht: Zeigt die Netzwerkaktivität der einzelnen CPU-Threads Ihrer App an. In dieser Ansicht sehen Sie, welche Threads Ihrer App für für jede Netzwerkanfrage.

Layout Inspector
Der Layout-Inspektor wurde um neue Funktionen erweitert, darunter einige, die zuvor vom eingestellten Hierarchy Viewer und den Pixel Perfect-Tools angeboten wurden:
- Zoom-Schaltflächen und Tastenkombinationen zum Navigieren und Überprüfen von Layouts
- Referenzraster-Overlay
- Möglichkeit, ein Referenzbild zu laden und als Overlay zu verwenden (nützlich für Ihr Layout mit einem UI-Modell vergleichen)
- Vorschau des untergeordneten Knotens rendern, um eine Ansicht in einem komplexen Layout zu isolieren

Layout-Editor
Die Palette im Layout-Editor wurde erheblich verbessert:
- Umstrukturierung der Kategorien für Ansichten und Layouts
- Neue Kategorie Allgemein für Ansichten und Layouts, die Sie mit dem Befehl Favorit hinzufügen.
- Verbesserte Suche nach Ansichten und Layouts.
- Neue Befehle zum Öffnen der Dokumentation für eine bestimmte Ansicht oder ein bestimmtes Layoutelement.
Mit dem neuen Befehl Ansicht konvertieren im Komponentenbaum oder im Design-Editor können Sie eine Ansicht oder ein Layout in eine andere Art von Ansicht oder Layout umwandeln.
Mit den neuen Schaltflächen „Verbindung erstellen“ im Ansichtsinspektor oben im Fenster Attribute können Sie jetzt ganz einfach Einschränkungen für Elemente in der Nähe der ausgewählten Ansicht erstellen.
Ausführen und Instant Run
Das Verhalten der Option Gleiche Auswahl für zukünftige Einführungen verwenden im Dialogfeld Bereitstellungsziel auswählen wurde einheitlicher. Wenn die Option Gleiche Auswahl verwenden aktiviert ist, wird das Dialogfeld Bereitstellungsziel auswählen nur beim ersten Mal geöffnet, wenn Sie den Befehl Ausführen verwenden, bis das ausgewählte Gerät nicht mehr verbunden ist.
Wenn Sie Anzeigen auf Geräte mit Android 8.0 (API-Level 26) oder höher ausrichten, Instant Run kann bereitstellen Änderungen an Ressourcen vornehmen, ohne einen Neustart der Anwendung zu verursachen. Dies ist da die Ressourcen in einem aufgeteilten APK enthalten sind.
Emulator
Details zu den Neuerungen und Änderungen im Emulator seit Android Informationen zu Studio 3.0 finden Sie in den Versionshinweisen für den Android-Emulator unter Version 27.0.2 bis Version 27.1.12.
Zu den wichtigsten Verbesserungen gehören:
- Schnellstart-Snapshots zum Speichern des Emulatorstatus und für einen schnelleren Start. Mit dem Befehl Jetzt speichern können Sie einen benutzerdefinierten Startstatus speichern.
- Emulatorbildschirm ohne Fenster
- Systemabbilder für Android 8.0 (API-Level 26), Android 8.1 (API-Level 27) und die Android P-Entwicklervorschau
Benutzeroberfläche und Nutzererfahrung Verbesserungen
Weitere Kurzinfos, Tastenkombinationen und hilfreiche Nachrichten
Wir haben an vielen Stellen Kurzinfos und hilfreiche Nachrichten-Overlays hinzugefügt in Android Studio.
Halte die Maus gedrückt, um die Tastenkombinationen für viele Befehle zu sehen Bewegen Sie den Mauszeiger auf eine Schaltfläche, bis die Kurzinfo angezeigt wird.
Tools > Android-Menü entfernt
Klicken Sie auf das Menü Tools > Android-Menü wurde entfernt. Befehle, die sich zuvor in diesem Menü befanden, wurden verschoben.
- Viele Befehle wurden direkt unter Tools .
- Der Befehl Sync project with gradle files (Projekt mit Gradle-Dateien synchronisieren) wurde verschoben nach das Menü Datei.
- Der Befehl Device Monitor wurde entfernt: beschrieben.
Device Monitor über die Befehlszeile verfügbar
In Android Studio 3.1 spielt der Gerätemonitor eine geringere Rolle als zuvor. In vielen Fällen sind die Funktionen, die über das Der Gerätemonitor bietet jetzt neue und verbesserte Tools.
Weitere Informationen finden Sie in der Device Monitor-Dokumentation für Anweisungen zum Aufrufen des Gerätemonitors über die Befehlszeile und für Details zu den über den Gerätemonitor verfügbaren Tools.