Im Folgenden finden Sie Versionshinweise für Android Studio 3.6 und niedriger sowie für Android. Gradle-Plug-in 3.6.0 und niedriger.
Ältere Versionen von Android Studio
3.6 (Februar 2020)
Android Studio 3.6 ist eine Hauptversion, die eine Vielzahl neuer Funktionen enthält. und Verbesserungen.
Wir möchten uns auch bei allen Beitragenden bedanken, die uns bei der Veröffentlichung geholfen 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 verschiedene Designtools, einschließlich Layout-Editor und Resource Manager.
Splitscreen und Zoom in Design-Editoren
Diese Version enthält die folgenden Updates für die visuellen Design-Editoren:
-
Design-Editoren wie der Layout-Editor und der Navigations-Editor bieten jetzt eine Splitansicht, mit der Sie sowohl die Design- als auch die Codeansicht Ihrer Benutzeroberfläche gleichzeitig sehen können. Oben rechts im Editorfenster befinden sich jetzt drei Schaltflächen
, mit denen Sie zwischen den Ansichtsoptionen wechseln können:
-
Klicken Sie auf das Symbol Splitscreen
, um die geteilte Ansicht zu aktivieren.
-
Um die XML-Quellansicht zu aktivieren, klicken Sie auf das Symbol Quelle
-
Um die Designansicht zu aktivieren, klicken Sie auf das Symbol Design
-
Klicken Sie auf das Symbol Splitscreen
-
Die Steuerelemente zum Zoomen und Schwenken in Designeditoren wurden verschoben in einem unverankerten Steuerfeld in der unteren rechten Ecke des Editorfensters.
Weitere Informationen finden Sie unter UI mit dem Layout-Editor erstellen.
Ressourcenregister für Farbauswahl
Damit Sie die Werte für Farbressourcen in Ihrer App schnell aktualisieren können, mit der Farbauswahl in der XML-Datei oder in den Designtools entfernt, füllt die IDE Farbressourcenwerte für Sie.
Ressourcenmanager
Der Resource Manager enthält die folgenden Updates:
- Resource Manager unterstützt jetzt die meisten Ressourcentypen.
- Bei der Suche nach einer Ressource zeigt der Resource Manager jetzt Ergebnisse aus alle Projektmodule. Bisher wurden bei Suchanfragen nur Ergebnisse aus dem ausgewählten 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 Importvorgangs umbenennen, indem Sie auf das Textfeld über der Ressource.
Weitere Informationen finden Sie unter Verwalten Sie die UI-Ressourcen Ihrer Anwendung mit Resource Manager.
Updates für das Android-Gradle-Plug-in
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 der Vollständige Versionshinweise.
Bindung ansehen
Mit View Binding (Bindung anzeigen) können Sie Ganz einfach Code schreiben, der mit Ansichten interagiert, indem für jede XML-Datei eine Bindungsklasse generiert wird Layoutdatei. Diese Klassen enthalten direkte Verweise auf alle Ansichten mit einem ID im entsprechenden Layout ein.
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 verwenden
3.6.0 oder höher haben und Folgendes in die
build.gradle
-Datei:
Cool
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, indem Sie entweder auf Codeänderungen anwenden oder auf Änderungen anwenden und Aktivität neu starten .
Weitere Informationen zu den Unterschieden zwischen diesen beiden Aktionen finden Sie unter Änderungen anwenden.
Menüoption zum Aktivieren der Unterstützung für Instant-Apps
Du kannst dein Basismodul jetzt nach dem Erstellen deiner App jederzeit sofort aktivieren wie folgt erstellen:
- Öffnen Sie den Bereich Projekt, indem Sie in der Menüleiste Ansicht > Toolfenster > Projekt auswählen.
- Klicken Sie mit der rechten Maustaste auf das Basismodul, das in der Regel den Namen „app“ hat, und wählen Sie Refactor > Enable Instant Apps Support (Umstrukturieren > Unterstützung für Instant Apps aktivieren) aus.
- Wählen Sie im angezeigten Dialogfeld Ihr Basismodul aus dem Drop-down-Menü aus.
- Klicken Sie auf OK.
Hinweis:Die Option zur Instant-Aktivierung Ihres Basis-App-Moduls aus dem Assistenten Create New Project (Neues Projekt erstellen) entfernt wurden.
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:
- Wählen Sie Erstellen > Analysieren Sie das APK über die Menüleiste.
- Wählen Sie im angezeigten Dialogfeld das APK aus, das Sie prüfen möchten.
- Klicken Sie auf Öffnen.
- Wählen Sie im APK Analyzer die DEX-Datei aus, die Sie überprüfen möchten.
- Laden Sie in der DEX-Dateianzeige die ProGuard-Zuordnungsdatei für die zu analysierende APK-Datei.
- Klicken Sie mit der rechten Maustaste auf die Klasse oder Methode, die Sie untersuchen möchten, und wählen Sie Bytecode anzeigen
Native Tools
Die folgenden Updates unterstützen die native Entwicklung (C/C++) in Android Studio.
Kotlin-Unterstützung
Die folgenden NDK-Funktionen in Android Studio, die zuvor in Java unterstützt wurden, sind Jetzt auch in Kotlin unterstützt:
-
Von einer JNI-Deklaration zur entsprechenden Implementierungsfunktion wechseln in C/C++. Zeigen Sie diese Zuordnung an, indem Sie mit der Maus auf die C- oder C++-Elementmarkierung in der Nähe von die Zeilennummer in der Datei mit dem verwalteten Quellcode.
-
Automatisch eine Stub-Implementierungsfunktion für eine JNI-Deklaration erstellen Definieren Sie zuerst die JNI-Deklaration und geben Sie dann „jni“ oder den Methodennamen in die zu aktivierende C/C++-Datei.
-
Nicht verwendete native Implementierungsfunktionen werden in der Quellcode verfügbar. JNI-Deklarationen mit fehlenden Implementierungen als Fehler markiert.
-
Wenn Sie eine native Implementierungsfunktion umbenennen (refaktorieren), JNI-Deklarationen aktualisiert werden. JNI-Deklaration umbenennen in die native Implementierungsfunktion 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 wird für native Bibliotheken aktualisiert {:#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 im APK und die Option zum erneuten Importieren.
Nur Kotlin-APK-Quellen anhängen
Es ist jetzt möglich, externe APK-Quellen nur für Kotlin an dein Profil anzuhängen und Fehler in vordefinierten APKs beheben. Weitere Informationen finden Sie unter Kotlin-/Java-Quellen anhängen
Leckortung im Speicher-Profiler
Beim Analysieren eines Heap-Dumps im Memory Profiler können Sie jetzt die Profilerstellung filtern
Daten, die nach Ansicht von Android Studio auf Speicherlecks für Activity
und
Fragment
Instanzen in Ihrer Anwendung.
Der Filter zeigt folgende Datentypen an:
-
Activity
-Instanzen, die gelöscht wurden, aber weiterhin referenziert werden. -
Fragment
-Instanzen, die keinen gültigenFragmentManager
haben, aber trotzdem referenziert werden.
Nur Kotlin-APK-Quellen anhängen
Es ist jetzt möglich, externe APK-Quellen nur für Kotlin an dein Profil anzuhängen und Fehler in vordefinierten APKs beheben. Weitere Informationen finden Sie unter Kotlin-/Java-Quellen anhängen
Datenlecks in Memory Profiler
Beim Analysieren eines Heap-Dumps im Memory Profiler können Sie jetzt die Profilerstellung filtern
Daten, die nach Ansicht von Android Studio auf Speicherlecks für Activity
und
Fragment
Instanzen in Ihrer Anwendung.
Der Filter zeigt folgende Datentypen an:
-
Activity
Instanzen, die gelöscht wurden, aber noch sind als Referenz zu verwenden. -
Fragment
Instanzen, die keinen gültigen Wert fürFragmentManager
, aber es wird noch darauf verwiesen.
In bestimmten Situationen, wie z. B. folgenden, kann der Filter "false" zurückgeben. Positive Werte:
- Eine
Fragment
wurde erstellt, aber noch nicht verwendet. - Ein
Fragment
wird im Cache gespeichert, aber nicht als Teil einesFragmentTransaction
.
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.
Einen Heap-Dump nach Speicherlecks filtern
Emulatoren
Mit Android Studio 3.6 können Sie verschiedene Updates Android Emulator 29.2.7 und höher, 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 Emulatoren öffnen Erweiterte Steuerelemente Die Optionen auf dem Tab „Standort“ sind jetzt in zwei Tabs organisiert: Einzelne Punkte und Routen:
Einzelne Punkte
Auf dem Tab Einzelne Punkte können Sie mit der Google Maps-WebView nach POIs ansehen, so wie Sie es mit Google Maps auf einem Smartphone oder Tablet tun würden, Browser. Wenn Sie auf der Karte nach einem Ort suchen oder darauf klicken, können Sie ihn speichern, indem Sie unten auf der Karte „Punkt speichern“ auswählen. Alle Ihre gespeicherten Standorte werden rechts im Fenster Erweiterte Einstellungen aufgeführt.
So stellen Sie den Standort des Emulators auf den Standort ein, den Sie auf der Karte ausgewählt haben: klicken Sie rechts unten auf die Schaltfläche Standort festlegen. Fenster Erweiterte Steuerelemente:
.
Routen
Ähnlich wie auf dem Tab Single points (Einzelne Punkte) können Sie auf dem Tab Routes Maps WebView, mit dem Sie eine Route zwischen zwei oder mehr Standorten erstellen können. So erstellen und speichern Sie eine Route:
- Suchen Sie über das Textfeld in der Kartenansicht nach dem ersten Ziel in Ihre Route berechnen.
- Wählen Sie den Standort aus den Suchergebnissen aus.
- Wählen Sie die Schaltfläche Navigieren aus.
- Wählen Sie den Startpunkt Ihrer Route auf der Karte aus.
- Optional: Klicken Sie auf Ziel hinzufügen, um Ihrer Route weitere Haltestellen hinzuzufügen.
- Sie können die Route speichern, indem Sie in der Kartenansicht auf Route speichern klicken.
- Geben Sie einen Namen für die Route ein und klicken Sie auf Speichern.
Um den Emulator der gespeicherten Route zu simulieren, wählen Sie die Route aus die Liste Gespeicherte Routen und klicken Sie rechts unten auf Route abspielen Fenster Erweiterte Steuerelemente öffnen. Wenn Sie die Simulation beenden möchten, klicken Sie auf Route beenden.
.
Wenn der Emulator kontinuierlich der angegebenen Route folgen soll, aktivieren Sie den Schalter neben Wiedergabe wiederholen. So ändern Sie, wie schnell der Emulator folgt: die angegebene Route wurde, wähle eine Option aus dem Drop-down-Menü Wiedergabegeschwindigkeit aus.
Multi-Display-Unterstützung
Mit dem Android-Emulator können Sie Ihre App auf mehreren Bildschirmen bereitstellen, die anpassbare Dimensionen unterstützen und Ihnen helfen, Apps zu testen, Mehrfenstermodus und Mehrfachdarstellung. Während ein virtuelles Gerät ausgeführt wird, können Sie so bis zu zwei zusätzliche Displays hinzufügen:
-
Öffnen Sie das Erweiterte Steuerelemente und navigieren Sie zum Tab Anzeigen.
-
Klicken Sie auf Sekundäres Display hinzufügen, um ein weiteres Display hinzuzufügen.
-
Führen Sie im Drop-down-Menü unter Sekundäre Displays einen der folgenden Schritte aus:
-
Wählen Sie eines der voreingestellten Seitenverhältnisse aus.
-
Wählen Sie Benutzerdefiniert aus und legen Sie Werte für Höhe, Breite und dpi fest. benutzerdefinierte Displayanzeige.
-
Optional: Klicken Sie auf Sekundären Bildschirm hinzufügen, um ein drittes Display hinzuzufügen.
-
Klicken Sie auf Änderungen übernehmen, um die angegebenen Bildschirme virtuelles Gerät.
Neue virtuelle Geräte und Projektvorlagen für Android Automotive OS
Wenn du ein neues Projekt mit Android Studio erstellst, kannst du jetzt drei Vorlagen aus dem Tab Automotive im Bereich Neues Projekt erstellen Assistent: Keine Aktivität, Mediendienst und Messaging-Dienst. Für vorhandenen Projekten haben, können Sie Unterstützung für Android Automotive-Geräte hinzufügen, indem Sie wählen Sie File > Neu > Neues Modul aus und wählen Sie Automobilmodul. Der Assistent Neues Modul erstellen führt Sie dann durch das Erstellen eines neuen Moduls mit einer der Android Automotive-Projektvorlagen.
.
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.
- Polestar 2: Erstellen Sie ein AVD, das die Polestar 2-Haupteinheit emuliert.
- Automotive (1024p, Querformat): Erstellen Sie eine AVD für generische Android Automotive-Infotainmentsysteme mit einer Auflösung von 1.024 × 768 Pixeln.
.
Fortsetzbare SDK-Downloads
Wenn Sie SDK-Komponenten und ‑Tools über den SDK Manager herunterladen, können Sie in Android Studio jetzt unterbrochene Downloads fortsetzen (z. B. aufgrund eines Netzwerkproblems), anstatt den Download von vorn zu beginnen. Diese Verbesserung ist besonders hilfreich bei großen Downloads wie dem Android-Emulator oder System-Images, wenn die Internetverbindung unzuverlässig ist.
Wenn Sie außerdem eine SDK-Downloadaufgabe im Hintergrund ausführen, können Sie können Sie den Download jetzt mit den Steuerelementen in der Statusleiste anhalten oder fortsetzen.
Eine Download-Aufgabe im Hintergrund in der Statusleiste mit neuen mit denen Sie den Download anhalten oder fortsetzen können.
Win32 wird eingestellt
Die 32-Bit-Windows-Version von Android Studio wird nicht mehr aktualisiert. nach Dezember 2019 und wird 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 hat Android Studio während der Gradle-Synchronisierung die Liste aller Gradle-Aufgaben abgerufen. Bei großen Projekten kann das Abrufen der Aufgabenliste dazu führen, langsame Synchronisierungszeiten.
Wenn Sie die Leistung von Gradle Sync verbessern möchten, klicken Sie auf File > Einstellungen > Experimentell und wählen Sie während der Gradle-Synchronisierung keine Gradle-Aufgabenliste erstellen aus.
Wenn Sie diese Option aktivieren, überspringt Android Studio das Erstellen der Aufgabenliste während Sync, mit dem die Gradle-Synchronisierung schneller abgeschlossen wird und die Benutzeroberfläche verbessert wird die Sensibilität. Wenn die IDE das Erstellen der Aufgabenliste überspringt, ist das Feld Die Aufgabenlisten im Gradle-Steuerfeld sind leer und die automatische Vervollständigung von Aufgabennamen in Build-Dateien nicht funktioniert.
Neuer Ort zum Aktivieren/Deaktivieren des Offlinemodus von Gradle
Um den Offlinemodus von Gradle zu aktivieren oder zu deaktivieren, wählen Sie zuerst
Ansicht > Tool-Fenster > Gradle aus. Klicken Sie dann oben im Fenster Gradle auf Offlinemodus aktivieren/deaktivieren .
IntelliJ IDEA 2019.2
Die Android Studio-IDE wurde mit Verbesserungen von IntelliJ aktualisiert IDEA durch die Version 2019.2.
Wenn Sie mehr über die Verbesserungen im Vergleich zu anderen IntelliJ-Versionen erfahren möchten, die kumulativ in Version 2019.2 enthalten sind, finden Sie auf den folgenden Seiten:
Community-Beitragende
Vielen Dank an alle Community-Mitglieder, die uns dabei 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:
|
|
|
3.5 (August 2019)
Android Studio 3.5 ist eine Hauptversion und ein Ergebnis von Project Marble. Beginnend mit der Veröffentlichung von Android Studio 3.3: Die Initiative „Project Marble“ umfasst mehrere Releases, die sich auf drei Hauptbereiche der IDE verbessert: Systemzustand, Verbesserung der Funktionen und Behebung von Fehlern.
Informationen zu diesen und anderen Updates zu Project Marble finden Sie im Blogpost für Android-Entwickler oder in den folgenden Abschnitten.
Wir möchten uns auch bei allen Community-Mitgliedern bedanken, die an dieser Version mitgewirkt haben.
3.5.3 (Dezember 2019)
Dieses kleine Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
3.5.2 (November 2019)
Dieses kleine Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.
3.5.1 (Oktober 2019)
Dieses kleinere Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste wichtiger Fehlerkorrekturen finden Sie im entsprechenden Beitrag auf der Blog „Release Updates“
Project Marble: Systemzustand
In diesem Abschnitt werden die Änderungen in Android Studio 3.5 beschrieben, die sich speziell auf zur Verbesserung des Systemzustands.
Empfohlene Arbeitsspeichereinstellungen
Android Studio benachrichtigt dich, wenn festgestellt wird, dass du die Leistung verbessern könntest indem Sie den maximalen Arbeitsspeicher erhöhen, den Ihr Betriebssystem für Android zuweisen sollte Studio-Prozesse wie die Kern-IDE, der Gradle-Daemon und der Kotlin-Daemon Sie können die empfohlenen Einstellungen entweder akzeptieren, indem Sie in der Benachrichtigung auf den Aktionslink klicken, oder sie manuell anpassen. Wählen Sie dazu Datei > Einstellungen (oder Android Studio > Einstellungen unter macOS) aus und gehen Sie dann unter Darstellung und Verhalten > Systemeinstellungen zum Bereich Speichereinstellungen. Weitere Informationen finden Sie unter Maximale Heap-Größe.
Eine Benachrichtigung zu den empfohlenen Arbeitsspeichereinstellungen.
Bericht zur Arbeitsspeichernutzung
Arbeitsspeicherprobleme in Android Studio sind manchmal schwer zu reproduzieren und zu melden. Um dieses Problem zu lösen, können Sie in Android Studio eine Erinnerung indem Sie auf Hilfe > Arbeitsspeichernutzung analysieren aus. Dabei werden die Daten lokal von der IDE auf personenbezogene Daten geprüft, bevor Sie gefragt werden, ob Sie sie an das Android Studio-Team senden möchten, um die Ursache der Speicherprobleme zu ermitteln. Weitere Informationen finden Sie unter Bericht zur Arbeitsspeichernutzung erstellen.
Bericht zur Arbeitsspeichernutzung
Windows: Optimierung der Datei-E/A durch Antivirenprogramme
Android Studio prüft jetzt automatisch, ob bestimmte Projektverzeichnisse vom Echtzeit-Antivirenscan ausgeschlossen. Wann können Anpassungen die Build-Leistung zu verbessern, benachrichtigt dich Android Studio und stellt dir Anweisungen zur Optimierung Ihrer Antivirenkonfiguration. Weitere Informationen finden Sie unter Minimieren Sie die Auswirkungen von Antivirensoftware auf die Build-Geschwindigkeit.
Project Marble: Polsterung
In diesem Abschnitt werden die Änderungen in Android Studio 3.5 beschrieben, die sich speziell auf bestehende Funktionen zu verbessern.
Änderungen übernehmen
Mit „Änderungen übernehmen“ können Sie Code- und Ressourcenänderungen per Push an Ihre laufende App übertragen ohne die App neu zu starten, und in manchen Fällen auch, Aktivitäten. Mit „Änderungen übernehmen“ wird ein völlig neuer Ansatz zur Beibehaltung der Status der App. Im Gegensatz zu Instant Run, das den Bytecode Ihres APK umgeschrieben hat, Durch Änderungen werden Klassen durch Nutzung der Laufzeitinstrumentierung neu definiert. ab Android 8.0 (API-Level 26) unterstützt.
Weitere Informationen finden Sie unter Änderungen anwenden.
Die Schaltflächen in der Symbolleiste für „Änderungen übernehmen“.
Ablauf der Anwendungsbereitstellung
Die IDE verfügt über ein neues Drop-down-Menü, mit dem Sie schnell auswählen können, für das Sie Ihre App am liebsten bereitstellen. Dieses Menü enthält auch eine neue Option, mit der Sie Ihre App auf mehreren Geräten gleichzeitig ausführen können.
Drop-down-Menü „Zielgerät“
Verbesserte Gradle-Synchronisierung und Cache-Erkennung
Die IDE erkennt jetzt besser, wann Gradle den Build-Cache regelmäßig löscht, um den Festplattenverbrauch zu reduzieren. In früheren Versionen führte dieser Zustand dazu, dass die IDE fehlende Abhängigkeiten meldete und die Gradle-Synchronisierung fehlschlug. Die IDE ist einfach Lädt Abhängigkeiten nach Bedarf herunter, um sicherzustellen, dass die Gradle-Synchronisierung abgeschlossen ist. erfolgreich war.
Verbesserte Build-Fehlerausgabe
Der Build-
gibt es jetzt bessere Fehlerberichte, wie z. B. einen Link zur Datei und
des gemeldeten Fehlers für die folgenden Build-Prozesse:
- AAPT-Kompilierung und Verknüpfung
- R8 und ProGuard
- Dexing
- Ressourcen zusammenführen
- Parsen von XML-Dateien
- Javac-, Kotlinc- und CMake-Kompilierung
Projekt-Upgrades
Verbesserte Aktualisierungsmöglichkeiten, um mehr Informationen und Aktionen bereitzustellen die IDE und das Android-Gradle-Plug-in aktualisieren. Zum Beispiel müssen mehr Synchronisierungs- und Fehler umfassen Aktionen, mit denen Sie Fehler bei der Aktualisierung minimieren können.
Beachten Sie, dass Sie die IDE unabhängig von anderen wie das Android-Gradle-Plug-in. Damit können Sie die IDE sobald eine neuere Version verfügbar ist. Andere Komponenten werden später aktualisiert.
Layout-Editor
Android Studio 3.5 umfasst mehrere Verbesserungen an der Layout-Visualisierung, Interaktionsmanagement und -management.
Bei der Arbeit mit ConstraintLayout
gelten neue Einschränkungen.
im Bereich Attribute werden die Einschränkungsbeziehungen der
die ausgewählte UI-Komponente. Sie können eine Einschränkung entweder aus dem Design
Oberfläche oder aus der Liste der Einschränkungen auswählen, um die Fixierung in beiden Bereichen hervorzuheben.
Einschränkungsbeziehungen für ein ausgewähltes UI-Element.
Ebenso können Sie eine Einschränkung jetzt löschen, indem Sie sie auswählen und auf die
Delete
-Schlüssel. Sie können eine Einschränkung auch löschen, indem Sie die Taste Control
(Command
unter macOS) gedrückt halten und auf den Anker der Einschränkung klicken. Wenn Sie die Control
- oder
Command
-Taste und bewegen Sie den Mauszeiger auf einen Anker, zugehörige Einschränkungen
werden rot angezeigt, um anzuzeigen, dass Sie sie löschen können.
Wenn eine Ansicht ausgewählt ist, können Sie eine Einschränkung erstellen, indem Sie auf eine der + im Abschnitt Einschränkungs-Widget von im Bereich Attributes wie in der folgenden Abbildung dargestellt. Wenn Sie eine neue Einschränkung erstellen, wird sie jetzt im Layout-Editor ausgewählt und hervorgehoben. So erhalten Sie sofort visuelles Feedback zu den gerade hinzugefügten Elementen.
Einschränkungs-Widget zum Erstellen von Einschränkungen verwenden
Beim Erstellen einer Einschränkung werden im Layout-Editor jetzt nur die zulässigen Ankerpunkte angezeigt, die Sie einschränken können. Bisher wurden im Layout-Editor alle Ankerpunkte in allen Ansichten, unabhängig davon, ob Sie sie beschränken konnten. Außerdem wird das Ziel der Einschränkung jetzt durch ein blaues Overlay hervorgehoben. Dieses Hervorhebung ist besonders nützlich, wenn Sie versuchen, die sich mit einer anderen überschneiden.
Eine Einschränkung für eine überlappende Komponente in Android Studio 3.4
Eine Einschränkung für eine überlappende Komponente in Android Studio 3.5
Zusätzlich zu den oben genannten Updates enthält Android Studio 3.5 auch die Layout-Editor-Verbesserungen:
- Im Begrenzungs-Widget und im Drop-down-Menü für Standardränder können Sie jetzt Dimensionsressourcen für Ränder verwenden.
- In der Symbolleiste des Layout-Editors wird die Liste der Geräte angezeigt, die Designoberfläche aktualisiert wurde. Außerdem wird das Andocken die Größenanpassung wurde verbessert, und die Ziehpunkte auf der Designoberfläche sind jetzt immer sichtbar. Beim Ändern der Größe werden neue Overlays mit gängigen Gerätegrößen angezeigt.
- Der Layout-Editor verfügt über ein neues Farbschema, das die Einheitlichkeit verbessert und Kontrast zwischen Komponenten, Text und Einschränkungen.
- Der Blueprint-Modus bietet jetzt Textunterstützung für einige Komponenten, bei denen Text nicht vorhanden war angezeigt wird.
Weitere Informationen zu diesen Änderungen finden Sie unter Android Studio Project Marble: Layout-Editor
Datenbindung
Zusätzlich zur Unterstützung der inkrementellen Verarbeitung von Anmerkungen bei der Datenbindung verbessert die IDE die Funktionen und die Leistung des intelligenten Editors wenn Sie Datenbindungsausdrücke in XML erstellen.
Leistung des Code-Editors unter Android Studio 3.4

Verbesserte Code-Bearbeitungsleistung in Android Studio 3.5.
Verbesserte Unterstützung für C/C++-Projekte
Android Studio 3.5 enthält mehrere Änderungen, die die Unterstützung von C/C++ verbessern Projekten.
Verbesserungen im Bereich „Build-Varianten“ für die Synchronisierung einzelner Varianten
Sie können jetzt sowohl die aktive Build-Variante als auch die aktive ABI in der Bereich Varianten erstellen: Dieses Feature vereinfacht die Build-Konfiguration pro Modul und die Gradle-Synchronisierungsleistung verbessern.
Weitere Informationen finden Sie unter Build-Variante ändern.
Der Bereich „Build-Varianten“ mit der Auswahl einer einzelnen Variante ABI.
Parallele Versionen des NDK
Sie können jetzt mehrere Versionen des NDK nebeneinander verwenden. Diese Funktion bietet Ihnen mehr Flexibilität bei der Konfiguration Ihrer Projekte, z. B. wenn Sie Projekte haben, in denen auf demselben Computer verschiedene Versionen des NDK verwendet werden.
Wenn Ihr Projekt das Android-Gradle-Plug-in 3.5.0 oder höher verwendet, können Sie auch Die NDK-Version, die von jedem Modul in Ihrem Projekt verwendet werden soll. Sie können um reproduzierbare Builds zu erstellen und Inkompatibilitäten zwischen den NDK-Versionen und dem Android-Gradle-Plug-in.
Weitere Informationen finden Sie unter NDK, CMake und LLDB installieren und konfigurieren.
ChromeOS-Support
Android Studio unterstützt jetzt offiziell ChromeOS-Geräte wie das HP-Gerät Chromebook x360 14, Acer Chromebook 13/Spin 13 und andere, die gelesen werden können finden Sie in den Systemanforderungen. Laden Sie Android Studio auf Ihr kompatibles ChromeOS-Gerät herunter und folgen Sie der Installationsanleitung.
Hinweis: Android Studio unter ChromeOS unterstützt die Bereitstellung deiner App derzeit nur auf eines verbundenen Hardwaregeräts. Weitere Informationen finden Sie unter Apps auf einem Hardwaregerät ausführen.
Bedingte Auslieferung für Funktionsmodule
Mit der bedingten Auslieferung können Sie bestimmte Anforderungen an die Gerätekonfiguration festlegen für Funktionsmodule, die während der App-Installation automatisch heruntergeladen werden. Sie können beispielsweise ein Funktionsmodul mit Augmented-Reality-Funktionen (AR) so konfigurieren, dass es bei der App-Installation nur auf Geräten verfügbar ist, die AR unterstützen.
Mit diesem Übermittlungsmechanismus kann derzeit der Download eines Moduls gesteuert werden. bei der App-Installation basierend auf den folgenden Gerätekonfigurationen:
- Hardware- und Softwarefunktionen des Geräts, einschließlich OpenGL ES-Version
- Land des Nutzers
- API-Ebene
Wenn ein Gerät nicht allen von Ihnen angegebenen Anforderungen entspricht, wird das Modul nicht bei der App-Installation heruntergeladen. Ihre App kann jedoch später anfordern, das Modul on demand über Play Core herunterladen Mediathek. Weitere Informationen finden Sie unter Bedingte Auslieferung konfigurieren
IntelliJ IDEA 2019.1
Die Android Studio-IDE wurde mit Verbesserungen von IntelliJ aktualisiert Entwickeln Sie Ideen für die Version 2019.1, z. B. zum Anpassen von Designs.
Die letzte in Android Studio enthaltene IntelliJ-Version war 2018.3.4. Weitere Informationen zu den Verbesserungen im Vergleich zu anderen IntelliJ-Versionen die bereits in dieser Version von Android Studio enthalten sind, folgenden Fehlerkorrekturen:
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
Updates für Android-Gradle-Plug-in 3.5.0
Neuerungen im Android-Gradle-Plug-in 3.5.0, wie die verbesserte Unterstützung der inkrementellen Annotationsverarbeitung und im Cache speicherbaren Unittests, siehe Versionshinweise.
Communitybeiträge
Vielen Dank an alle Community-Beitragenden, die uns geholfen haben, Programmfehler zu entdecken und andere Verbesserungsmöglichkeiten für Android Studio 3.5. Wir möchten uns insbesondere bei die folgenden Personen, die P0- und P1-Fehler gemeldet haben:
|
|
3.4 (April 2019)
Android Studio 3.4 ist eine Hauptversion mit einer Vielzahl neuer Funktionen und Verbesserungen.
3.4.2 (Juli 2019)
Dieses kleine Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste wichtiger Fehlerkorrekturen finden Sie im entsprechenden Beitrag auf der Blog „Release Updates“
3.4.1 (Mai 2019)
Dieses kleine Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.
3.4.0 Bekannte Probleme
Die Profilerstellung ist deaktiviert, wenn Ihre Anwendung auf einem Gerät bereitgestellt wird mit Android Q Beta.
- Wenn Sie die Data Binding Library verwenden, schlägt
LiveDataListener.onChanged()
möglicherweise mit einer Null-Pointer-Ausnahme fehl. Eine Lösung für dieses Problem ist in Android Studio 3.4.1 enthalten und bereits in der neuesten Vorabversion von Android Studio 3.5 verfügbar. (Siehe Problem 122066788)
IntelliJ IDEA 2018.3.4
Die Android Studio-IDE wurde mit Verbesserungen aus IntelliJ IDEA aktualisiert, die in der Version 2018.3.4 enthalten sind.
Updates für Android-Gradle-Plug-in 3.4.0
Informationen zu den Neuerungen im Android-Gradle-Plug-in 3.4.0 finden Sie in der Versionshinweise.
Dialogfeld „Neue Projektstruktur“
Mit dem neuen Dialogfeld „Projektstruktur“ können Sie Abhängigkeiten einfacher aktualisieren und verschiedene Aspekte Ihres Projekts konfigurieren, z. B. Module, Build-Varianten, Signaturkonfigurationen und Build-Variablen.
Sie können die PSD-Datei öffnen, indem Sie File > Project Structure (Projektstruktur) aus dem Menü aus.
. Du kannst die PSD auch öffnen, indem du unter Windows Ctrl+Shift+Alt+S
drückst und
Linux oder Command+;
(Semikolon) unter macOS. Sie finden Beschreibungen einiger
die neuen und aktualisierten Abschnitte der PSD weiter unten.
Variablen
Im neuen Bereich „Variablen“ der PSD können Sie Builds erstellen und verwalten Variablen, z. B. um Versionsnummern für Abhängigkeiten einheitlich zu halten für Ihr gesamtes Projekt.
- Build-Variablen, die bereits in Ihrem Projekt vorhanden sind, schnell ansehen und bearbeiten Gradle-Build-Skripts
- Fügen Sie neue Build-Variablen direkt über die PSD auf Projekt- oder Modulebene hinzu.
Hinweis:Wenn Ihre vorhandenen Build-Konfigurationsdateien über komplexe Groovy-Skripte verwenden, können Sie diese Werte möglicherweise nicht über die PSD. Außerdem können Sie keine Build-Dateien bearbeiten, die in Kotlin geschrieben wurden. mithilfe der PSD-Datei.
Module
Konfigurieren Sie Eigenschaften, die auf alle Buildvarianten in einem vorhandenen Modul angewendet werden, oder fügen Sie Ihrem Projekt im Bereich Module neue Module hinzu. Für
Hier können Sie beispielsweise defaultConfig
-Properties konfigurieren oder
Signaturkonfigurationen verwendet werden.
Abhängigkeiten
Prüfen und visualisieren Sie jede Abhängigkeit im Abhängigkeitsdiagramm von wie von Gradle während der Projektsynchronisierung behoben wurde. Gehen Sie dazu so vor: Schritte:
- Wählen Sie im linken Bereich der PSD Dependencies (Abhängigkeiten) aus.
- Wählen Sie im Bereich Module das Modul aus, für das Sie das Modul aufgelösten Abhängigkeiten.
- Öffnen Sie auf der rechten Seite des PSD den Bereich Resolved Dependencies (Behobene Abhängigkeiten), wie unten dargestellt.
Sie können auch schnell nach Abhängigkeiten suchen und diese zu Ihrem Projekt hinzufügen, indem Sie zuerst Wählen Sie im Abschnitt Abhängigkeiten der PSD ein Modul aus, klicken Sie auf im Bereich Deklarierte Abhängigkeiten auf die Schaltfläche (+) und wählen Sie den Typ Abhängigkeit, die Sie hinzufügen möchten.
Je nach ausgewähltem Abhängigkeitstyp wird ein Dialogfeld angezeigt. ähnlich wie im folgenden Beispiel, können Sie dem Modul die Abhängigkeit hinzufügen.
Build-Varianten
In diesem Abschnitt der PSD erstellen und konfigurieren Sie Buildvarianten und Produktvarianten für jedes Modul in Ihrem Projekt. Sie können Manifest-Platzhalter, ProGuard-Dateien erstellen, Signierschlüssel zuweisen und vieles mehr.
Vorschläge
Empfohlene Aktualisierungen für Projektabhängigkeiten und Build-Variablen finden Sie in der Vorschläge, wie unten gezeigt.
Neuer Resource Manager
Resource Manager ist ein neues Toolfenster zum Importieren, Erstellen, Verwalten Ressourcen in Ihrer App nutzen. Sie können das Tool-Fenster öffnen, indem Sie Ansicht > Tool-Fenster > Resource Manager an. Mit dem Ressourcenmanager haben Sie folgende Möglichkeiten:
- Ressourcen visualisieren: Sie können sich eine Vorschau von Drawables, Farben und Layouts ansehen, um schnell die benötigten Ressourcen zu finden.
- Bulk-Import:Du kannst mehrere Drawable-Assets gleichzeitig importieren, indem du entweder indem Sie sie per Drag-and-drop in das Fenster des Resource Managers ziehen oder mit dem Assistenten Drawables importieren aus. Klicken Sie zum Aufrufen des Assistenten links oben im Toolfenster auf das Pluszeichen (+) und wählen Sie dann im Drop-down-Menü Zeichnbare Elemente importieren aus.
-
SVGs in
VectorDrawable
-Objekte konvertieren: Sie können die Methode Drawables importieren-Assistent zum Konvertieren Ihrer SVG-Bilder inVectorDrawable
Objekte. - Assets per Drag-and-drop hinzufügen: Im Fenster des Resource Managers haben Sie folgende Möglichkeiten: Drag & Drop von Drawables sowohl in die Design- als auch in die XML-Ansicht des Layouts Editor.
- Alternative Versionen ansehen: Sie können jetzt alternative Versionen Ihrer indem Sie im Fenster Tool auf eine Ressource doppelklicken. In dieser Ansicht sehen Sie die verschiedenen Versionen, die Sie erstellt haben, und die eingeschlossenen Einschränkungen.
- Kachel- und Listenansichten:Sie können die Ansicht im Tool-Fenster zu um Ressourcen in verschiedener Reihenfolge zu visualisieren.
Weitere Informationen finden Sie im Leitfaden zur App-Ressourcen verwalten
Build-IDs beim Profiling und Debuggen von APKs prüfen
Wenn Sie Symboldateien für die gemeinsamen .so
-Bibliotheken in Ihrem APK bereitstellen, prüft Android Studio, ob die Build-ID der bereitgestellten Symboldateien mit der Build-ID der .so
-Bibliotheken im APK übereinstimmt.
Wenn Sie die nativen Bibliotheken in Ihrem APK mit einer Build-ID erstellen, überprüft, ob die Build-ID in Ihren Symboldateien mit der Build-ID in der native Bibliotheken und lehnt die Symboldateien ab, wenn sie nicht übereinstimmen. Wenn nicht mit einer Build-ID erstellt haben, kann die Angabe falscher Symboldateien Probleme bei der Fehlerbehebung verursachen.
R8 standardmäßig aktiviert
R8 integriert die Entzuckerung, Verkleinerung, Verschleierung Optimierung und Dexing in einem Schritt durchführen, sodass wahrnehmbare Build-Leistungsverbesserungen. R8 wurde im Android-Gradle-Plug-in 3.3.0 eingeführt und ist jetzt standardmäßig für App- und Android-Bibliotheksprojekte mit Plug-ins 3.4.0 und höher.
Das folgende Bild bietet einen allgemeinen Überblick über den Kompilierungsprozess vor der Einführung von R8.
Jetzt mit R8, Entzuckerung, Schrumpfung, Verschleierung, Optimierung und Dexing (D8) in einem Schritt abgeschlossen werden, wie unten dargestellt.
Beachten Sie, dass R8 für Ihre vorhandenen ProGuard-Regeln entwickelt wurde. Sie müssen wahrscheinlich keine Maßnahmen ergreifen, um von R8 zu profitieren. Sie können jedoch da es sich um eine andere Technologie als ProGuard handelt, Bei Android-Projekten kann eine Reduzierung und Optimierung dazu führen, dass Code entfernt wird. die es bei ProGuard vielleicht nicht gibt. In dieser unwahrscheinlichen Situation müssen Sie fügen Sie zusätzliche Regeln hinzu, um diesen Code in der Build-Ausgabe beizubehalten.
Wenn bei der Verwendung von R8 Probleme auftreten, lesen Sie
FAQs zur R8-Kompatibilität
um zu prüfen, ob es eine Lösung für Ihr Problem gibt. Wenn eine Lösung nicht dokumentiert ist,
melden Sie den Fehler.
Sie können R8 deaktivieren, indem Sie eine der folgenden Zeilen in die Datei
gradle.properties
-Datei:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Hinweis:Wenn Sie für einen bestimmten Build-Typ
useProguard
bis false
in deiner App
build.gradle
verwendet, verwendet das Android-Gradle-Plug-in R8,
für diesen Build-Typ zu verwenden, unabhängig davon, ob Sie R8 in Ihrem
gradle.properties
-Datei des Projekts erstellen.
Der Navigationseditor unterstützt jetzt alle Argumenttypen
Alle von der Navigationskomponente unterstützten Argumenttypen werden jetzt auch in den Navigationseditor aufrufen. Weitere Informationen zu unterstützten Typen finden Sie unter Daten zwischen Zielen übergeben
Verbesserungen am Layout-Editor {:#layout-editor}
Der Bereich Attribute im Layout-Editor wurde zu einer einzigen Seite mit Abschnitten zusammengefasst, die Sie maximieren können, um konfigurierbare Attribute zu sehen. Der Bereich Attribute enthält außerdem die folgenden Änderungen:
- Im neuen Abschnitt Angegebene Attribute werden die Attribute aufgelistet, die die Layoutdatei definiert und ermöglicht Ihnen, schnell neue hinzuzufügen.
- Der Bereich Attribute enthält jetzt auch Indikatoren neben jedem Attribut die ausgefüllt sind, wenn der Wert des Attributs ein Ressourcenverweis ist und leer sonst.
- Attribute mit Fehlern oder Warnungen sind jetzt hervorgehoben. Rote Markierungen Fehler anzeigen (z. B. bei ungültigen Layoutwerten) und orangefarbene Markierungen stehen für Warnungen, z. B. wenn Sie hartcodierte -Werten).
Neue Absichtsaktion zum schnellen Importieren von Abhängigkeiten
Wenn Sie in Ihrem Code bestimmte Jetpack- und Firebase-Klassen verwenden, wird eine neue
Intention-Aktion schlägt vor, die erforderliche Gradle-Bibliotheksabhängigkeit zu Ihrem
falls Sie dies noch nicht getan haben. Wenn Sie beispielsweise auf die
WorkManager
Klasse, ohne zuvor die erforderlichen
android.arch.work:work-runtime
-Abhängigkeit haben, können Sie dies mit einer Intent-Aktion tun.
mit nur einem Klick erledigen, wie unten gezeigt.
Da Jetpack die Supportbibliothek in einzelne Pakete verpackt hat, die einfacher zu verwalten und zu aktualisieren sind, können Sie mit dieser Absichtsaktion schnell nur die Abhängigkeiten hinzufügen, die Sie für die von Ihnen verwendeten Jetpack-Komponenten benötigen.
3.3 (Januar 2019)
Android Studio 3.3 ist eine Hauptversion, die eine Vielzahl neuer Funktionen enthält. und Verbesserungen.
3.3.2 (März 2019)
Dieses kleinere Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog „Release Updates“.
3.3.1 (Februar 2019)
Dieses kleine Update enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
IntelliJ IDEA 2018.2.2
Die Android Studio-IDE wurde mit Verbesserungen aus IntelliJ IDEA in der Version 2018.2.2 aktualisiert.
Updates für das Android-Gradle-Plug-in
Informationen zu den Neuerungen im Android-Gradle-Plug-in findest du in der Versionshinweise.
Navigationseditor
Mit dem Navigationseditor können Sie die Navigation in Ihrer App mithilfe der Navigationsarchitekturkomponente schnell visualisieren und einbinden.
Weitere Informationen finden Sie unter Implementieren Sie die Navigation mit der Navigationsarchitektur.
Nicht verwendete Android Studio-Verzeichnisse löschen
Wenn Sie eine Hauptversion von Android Studio zum ersten Mal ausführen, wird nach Verzeichnissen mit Caches, Einstellungen, Indexen und Protokollen für Versionen von Android Studio gesucht, für die keine entsprechende Installation gefunden werden kann. Die Das Dialogfeld Nicht verwendete Android Studio-Verzeichnisse löschen zeigt dann Speicherorte an. Größen und Zeitpunkten der letzten Änderung dieser ungenutzten Verzeichnisse und stellt eine um sie zu löschen.
Folgende Verzeichnisse werden von Android Studio zum Löschen in Betracht gezogen:
- Linux:
~/.AndroidStudio[Preview]X.Y
- Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
- Windows:
%USER%.AndroidStudio[Preview]X.Y
Lint-Verbesserungen
Wenn Lint von Gradle aufgerufen wird, geht es deutlich schneller, da größere Projekte ist Lint bis zu viermal schneller.
Assistent zum Erstellen eines neuen Projekts
Der Assistent Neues Projekt erstellen hat ein neues Design und enthält Updates, die das Erstellen neuer Android Studio-Projekte zu vereinfachen.
Weitere Informationen finden Sie unter Projekt erstellen.
Profiler-Updates
Android Studio 3.3 enthält Updates für mehrere der einzelnen Profiler.
Bessere Leistung
Basierend auf dem Feedback von Nutzern wurde die Rendering-Leistung bei Verwendung der Profiler stark verbessert. Bitte weiter zu Feedback geben, vor allem, wenn Sie weiterhin Leistungsprobleme haben.
Optionen zum Tracking der Profiler-Arbeitsspeicherzuweisung
Um die App-Leistung beim Profiling zu verbessern, werden im Speicher-Profiler jetzt standardmäßig Speicherzuweisungen regelmäßig abgetastet. Bei Bedarf können Sie dieses Verhalten ändern, indem Sie über das Drop-down-Menü Allocation Tracking (Zuordnungs-Tracking) beim Testen auf Geräten mit aktivem Android 8.0 (API-Level 26) oder höher
Im Drop-down-Menü Zuweisungs-Tracking können Sie einen der folgenden Modi auswählen:
-
Vollständig: Hier werden alle Objektspeicherzuweisungen erfasst. Wenn Ihre App viele Objekte zuweist, können beim Profiling erhebliche Leistungsprobleme auftreten.
-
Sampled (Stichproben): Es wird regelmäßig eine Stichprobe von Objektspeicherzuweisungen erfasst. Dies ist und hat weniger Auswirkungen auf die Anwendungsleistung bei der Profilerstellung. Es kann zu Leistungsproblemen bei Apps kommen, die viele innerhalb eines kurzen Zeitraums erstellt werden kann.
-
Aus: Die Arbeitsspeicherzuweisung wird deaktiviert. Wenn dieser Modus nicht bereits ausgewählt ist, wird er während einer CPU-Aufzeichnung automatisch aktiviert und nach Abschluss der Aufzeichnung wieder auf die vorherige Einstellung zurückgesetzt. Sie können dieses Verhalten ändern. im Dialogfeld zur Konfiguration der CPU-Aufzeichnung.
Das Tracking wirkt sich sowohl auf Java-Objekte als auch auf JNI-Referenzen aus.
Frame-Rendering-Daten prüfen
Im CPU-Profiler können Sie jetzt prüfen, wie lange es dauert, bis Ihre Java-Anwendung jeden Frame im Haupt-UI-Thread und im Render-Thread gerendert hat. Diese Daten können nützlich sein, um Engpässe zu untersuchen, zu UI-Verzögerungen und niedrigen Framerates führen. Beispielsweise kann jeder Frame, der länger als werden die für eine gleichmäßige Framerate erforderlichen 16 ms rot angezeigt.
Wenn Sie Daten zum Frame-Rendering sehen möchten, erstellen Sie einen Trace mit einer Konfiguration, mit der Sie Systemaufrufe erfassen können. Nach der Aufzeichnung finden Sie Informationen zu den einzelnen Frames entlang der Zeitachse der Aufzeichnung im Abschnitt FRAMES, wie unten dargestellt.
Weitere Informationen zum Untersuchen und Beheben von Framerate-Problemen findest du unter Langsames Rendering:
Fragmente in der Ereigniszeitachse
In der Ereigniszeitachse wird jetzt angezeigt, wann Fragmente angehängt und getrennt werden. Wenn Sie den Mauszeiger auf ein Fragment bewegen, wird in einer Kurzinfo der Status des Fragments angezeigt.
Formatierten Text für Verbindungsnutzlasten im Netzwerk-Profiler ansehen
Bisher hat der Netzwerk-Profiler nur Rohtext aus Verbindung angezeigt. Payloads. In Android Studio 3.3 werden bestimmte Texttypen jetzt standardmäßig formatiert, darunter JSON, XML und HTML. Klicken Sie auf den Tabs Antwort und Anfrage auf auf den Link Analysierte anzeigen, um formatierten Text anzuzeigen, und klicken Sie auf den Quelltext anzeigen, um den Rohtext anzuzeigen.
Weitere Informationen finden Sie unter Netzwerktraffic mit Network Profiler prüfen
Automatischer Download von SDK-Komponenten
Wenn Ihr Projekt eine SDK-Komponente von der SDK-Plattform, dem NDK oder CMake benötigt, Gradle versucht jetzt, die erforderlichen Pakete automatisch herunterzuladen, Sie haben zuvor über den SDK Manager zugehörige Lizenzvereinbarungen akzeptiert.
Weitere Informationen finden Sie unter Fehlende Pakete mit Gradle automatisch herunterladen.
Unterstützung für Clang-Tidy
Android Studio unterstützt jetzt statische Codeanalysen mit Clang-Tidy für Projekte, die Folgendes umfassen: nativen Code. Wenn Sie die Unterstützung für Clang-Tidy aktivieren möchten, aktualisieren Sie Ihr NDK auf Version r18 oder höher.
Sie können die Prüfungen dann aktivieren oder wieder aktivieren, indem Sie das Dialogfeld Einstellungen oder Vorgaben öffnen und zu Editor > Prüfungen > C/C++ > Allgemein > Clang-Tidy gehen. Wenn Sie diese Option auswählen, Einstellungen oder Einstellungen überprüfen, können Sie auch die Liste der Clang-Tidy-Prüfungen, die unter der Option im Steuerfeld ganz rechts. Zum Aktivieren zusätzliche Prüfungen, fügen Sie sie der Liste hinzu und klicken Sie auf Übernehmen.
Wenn Sie Clang-Tidy mit zusätzlichen Optionen konfigurieren möchten, klicken Sie auf Clang-Tidy-Prüfoptionen konfigurieren und fügen Sie sie im sich öffnenden Dialogfeld hinzu.
Optionen für die C++-Anpassung wurden entfernt
Die folgenden Optionen wurden aus dem Dialogfeld C++-Unterstützung anpassen entfernt:
- Unterstützung für Ausnahmen (-fexceptions)
- Unterstützung von Informationen zum Laufzeittyp (-ftti)
Diese Verhaltensweisen sind für alle Projekte aktiviert, die über Android Studio erstellt wurden.
CMake-Version 3.10.2
Im SDK Manager ist jetzt CMake-Version 3.10.2 enthalten. Hinweis: Gradle verwendet standardmäßig weiterhin Version 3.6.0.
Um eine CMake-Version anzugeben, die Gradle verwenden kann, fügen Sie Folgendes in die
build.gradle
-Datei:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
Weitere Informationen zum Konfigurieren von CMake in build.gradle
finden Sie unter
Gradle manuell konfigurieren
Neue „+“-Syntax zur Angabe der Mindestversionen für CMaker
Wenn Sie eine Version von CMake in der Datei build.gradle
Ihres Hauptmoduls angeben,
können Sie nun ein „+“ an die
cmake_minimum_required()
.
Achtung: Die Verwendung der Syntax „+“ mit anderen Build-Abhängigkeiten wird nicht empfohlen, da dynamische Abhängigkeiten zu unerwarteten Versionsaktualisierungen und Schwierigkeiten bei der Behebung von Versionsunterschieden führen können.
Android App Bundles unterstützen jetzt Instant Apps
Mit Android Studio können Sie jetzt Android App-Bundles mit vollständiger Unterstützung für Google Play Instant erstellen. In Sie können jetzt sowohl installierte Apps als auch aus einem einzelnen Android Studio-Projekt erstellen und sie in ein einziges Android App Bundle
Wenn Sie ein neues Android Studio-Projekt mit der Schaltfläche Neues Projekt erstellen erstellen aktivieren Sie das Kontrollkästchen neben Projekt konfigurieren > Dieses Projekt unterstützt Instant-Apps. Android-Geräte In Studio wird dann wie gewohnt ein neues App-Projekt erstellt, die folgenden Eigenschaften in deinem Manifest, um die Instant-App-Unterstützung Basismodul:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
Sie können dann Erstellen Sie eine Funktion mit Instant-Version. indem Sie auf Datei > Neu > New Module (Neues Modul) aus. und wählen Sie im Modul Create New Module (Neues Modul erstellen) die Option Instant Dynamic Feature Module aus. Dialogfeld. Beachten Sie, dass durch das Erstellen dieses Moduls auch das Basismodul Ihrer App sofort aktiviert wird.
So stellen Sie Ihre App als Instant-App auf einem lokalen Gerät bereit: bearbeiten Sie die Ausführungskonfiguration und prüfen Sie neben Allgemein > Als Instant App bereitstellen
Projektsynchronisierung mit einer Variante
Projekt mit Ihrer Build-Konfiguration synchronisieren ist ein wichtiger Schritt, damit Android Studio nachvollziehen kann, wie Ihr Projekt strukturiert. Bei großen Projekten kann dieser Vorgang jedoch zeitaufwendig sein. Wenn Ihrem Projekt mehrere Build-Varianten verwendet werden, können Sie die Projektsynchronisierungen und sie nur auf die aktuell ausgewählte Variante beschränken.
Sie müssen Android Studio 3.3 oder höher mit dem Android-Gradle-Plug-in 3.3.0 verwenden. oder höher, um diese Optimierung zu aktivieren. Wenn Sie diese Anforderungen erfüllen, werden Sie in der IDE aufgefordert, diese Optimierung zu aktivieren, wenn Sie Ihr Projekt synchronisieren. Die Optimierung ist auch bei neuen Projekten standardmäßig aktiviert.
Um diese Optimierung manuell zu aktivieren, klicken Sie auf Datei > Einstellungen > Experimentell > Gradle (Android Studio > Einstellungen > Experimentell > Gradle auf einem Mac) und wählen Sie Klicken Sie das Kästchen Nur die aktive Variante synchronisieren an.
Hinweis: Diese Optimierung wird derzeit nur für Projekte unterstützt, die nur die Programmiersprache Java enthalten. Wenn die IDE beispielsweise Kotlin- oder C++-Code in Ihrem Projekt erkennt, wird diese Optimierung nicht automatisch aktiviert und Sie sollten sie auch nicht manuell aktivieren.
Weitere Informationen finden Sie unter Synchronisierung von Projekten mit einer Variante aktivieren.
Schnell Feedback geben
Wenn Sie die Freigabe von Nutzungsstatistiken zur Verbesserung von Android Studio aktiviert haben, sehen Sie diese beiden neuen Symbole in der Statusleiste unten in der IDE. Fenster:


Klicken Sie einfach auf das Symbol, das Ihre aktuelle Nutzung der IDE am besten repräsentiert. In diesem Fall sendet die IDE Nutzungsstatistiken, anhand derer das Android Studio-Team Ihre Meinung besser nachvollziehen kann. In einigen Fällen, z. B. wenn Sie eine negative Erfahrung mit der IDE angeben, haben Sie die Möglichkeit, zusätzliches Feedback zu geben.
Falls noch nicht geschehen, können Sie die Freigabe von Nutzungsstatistiken aktivieren, indem Sie Öffnen Sie auf einem Mac das Dialogfeld Einstellungen Einstellungen und gehen Sie zu Darstellung und Verhalten > Systemeinstellungen > Datenfreigabe und Prüfung Nutzungsstatistiken an Google senden
3.2 (September 2018)
Android Studio 3.2 ist eine Hauptversion, die eine Vielzahl neuer Funktionen enthält. und Verbesserungen.
3.2.1 (Oktober 2018)
Dieses Update auf Android Studio 3.2 enthält die folgenden Änderungen und Fehlerkorrekturen:
- Die gebündelte Kotlin-Version ist jetzt 1.2.71.
- Die Standardversion der Build-Tools ist jetzt 28.0.3.
- In der Navigationsbibliothek wurden Argumenttypen von
type
inargType
umbenannt. - Die folgenden Fehler wurden behoben:
- Bei Verwendung der Datenbindungsbibliothek Variablennamen mit Unterstrichen Kompilierungsfehler verursacht haben.
- CMake führte dazu, dass IntelliSense und andere CLion-Funktionen fehlgeschlagen sind.
- Das Hinzufügen von
SliceProvider
führte zu Kompilierungsfehlern in Projekten, in denen keineandroidx.*
-Bibliotheken verwendet wurden. - Einige Kotlin-Einheitentests wurden nicht ausgeführt.
- Ein Problem mit der Datenbindung verursachte eine
PsiInvalidElementAccessException
<merge>
-Elemente verursachten manchmal dass der Layout-Editor abstürzt.
3.2.0 bekannte Probleme
Hinweis:Diese Probleme wurden in Android Studio behoben. 3.2.1
Wir raten dringend davon ab, die Kotlin-Version 1.2.70 zu verwenden.
Mit der Kotlin-Version 1.2.61 wurde ein Fehler behoben, der dazu führen kann, dass Android Studio hängen bleibt. In Kotlin 1.2.70 ist diese Fehlerkorrektur nicht enthalten.
In Kotlin-Versionen 1.2.71 und höher ist diese Korrektur jedoch enthalten.
-
Normalerweise müssen Sie die Version der Build-Tools nicht angeben. Wenn Sie jedoch das Android Gradle-Plug-in 3.2.0 verwenden und
renderscriptSupportModeEnabled
auftrue
festgelegt ist, müssen Sie in derbuild.gradle
-Datei jedes Moduls Folgendes angeben:android.buildToolsVersion "28.0.3"
Das ist neu bei Google Assistant
Ein neuer Assistent informiert dich über die neuesten Änderungen in Android Studio.
Der Assistent wird geöffnet, wenn Sie Android Studio nach einer Neuinstallation oder aktualisiert, wenn neue Informationen vorhanden sind. Sie können auch zum Assistenten, indem Sie Hilfe > Neuerungen in Android Studio
Android Jetpack
Android Jetpack beschleunigt die Android-Entwicklung mit Komponenten, Tools und Anleitungen, die sich wiederholende Aufgaben ersparen und es Ihnen ermöglichen, schneller und einfacher hochwertige, testbare Apps zu erstellen. Android Studio umfasst Folgendes: Updates zur Unterstützung von Jetpack. Weitere Informationen finden Sie in der Jetpack-Dokumentation.
Navigationseditor
Der neue Navigations-Editor kann in die Navigationskomponenten von Android integriert werden. Jetpack zur Erstellung einer grafischen Ansicht für die Erstellung der Navigationsstruktur für Ihre App. Der Navigationseditor vereinfacht das Entwerfen und Implementieren von Navigation zwischen In-App-Zielen.
Der Navigations-Editor in Android Studio 3.2 ist eine experimentelle Funktion. Wenn Sie den Navigationseditor aktivieren möchten, klicken Sie auf Datei > Einstellungen (Android Studio > Einstellungen auf dem Mac), wählen Sie im linken Bereich die Kategorie Experimentell aus, klicken Sie das Kästchen neben Navigationseditor aktivieren an und starten Sie Android Studio neu.
Weitere Informationen finden Sie in der Dokumentation zum Navigationseditor.
AndroidX-Migration
Im Rahmen von Jetpack migrieren wir die Android Support Libraries auf eine neue
Android-Erweiterungsbibliothek unter Verwendung des Namespace androidx
. Weitere Informationen finden Sie in der AndroidX-Übersicht.
Android Studio 3.2 unterstützt Sie mit einer neuen Migrationsfunktion bei diesem Prozess.
Um ein vorhandenes Projekt zu AndroidX zu migrieren, wählen Sie Refaktorieren > Migrieren zu AndroidX Wenn Sie Maven-Abhängigkeiten haben, die nicht in den AndroidX-Namespace migriert wurden, werden diese Projektabhängigkeiten vom Android Studio-Buildsystem ebenfalls automatisch konvertiert.
Das Android-Gradle-Plug-in bietet die folgenden globalen Flags, die Sie festlegen können
in der Datei gradle.properties
:
android.useAndroidX
: Wenn dieses Flag auftrue
gesetzt ist, wird dieses Flag zeigt an, dass Sie AndroidX ab sofort verwenden möchten. Wenn die Kennzeichnung nicht vorhanden, verhält sich Android Studio so, als wäre das Flag auffalse
gesetzt.android.enableJetifier
: Wenn dieser Wert auftrue
gesetzt ist, gibt an, dass Sie Tool-Unterstützung benötigen (vom Android-Gradle-Plug-in Plug-in), um vorhandene Drittanbieterbibliotheken automatisch zu konvertieren, die für AndroidX geschrieben wurden. Fehlt das Flag, verhält sich Android Studio wie wenn das Flag auffalse
gesetzt wurde.
Beide Flags werden auf true
gesetzt, wenn Sie die Methode
Befehl Migrate to AndroidX (Zu AndroidX migrieren)
Wenn Sie AndroidX-Bibliotheken sofort verwenden möchten und keine
vorhandene Drittanbieterbibliotheken konvertieren, können Sie
Flag android.useAndroidX
in true
und die
android.enableJetifier
in false
.
Android App Bundle
Android App Bundle ist ein neues Uploadformat, das alle den kompilierten Code und die Ressourcen kompiliert, die APK-Erstellung und -Signatur jedoch Play Store
Im neuen App-Bereitstellungsmodell von Google Play werden dann App Bundle, um optimierte APKs für die Geräte der einzelnen Nutzer zu generieren und bereitzustellen Konfiguration, sodass jeder Nutzer nur den Code und die Ressourcen herunterlädt, die App ausführen. Sie müssen nicht mehr mehrere APKs erstellen, signieren und verwalten. kleinere, optimierte Downloads erzielen.
Außerdem können Sie Ihrem App-Projekt Funktionsmodule und sie deinem App Bundle hinzuzufügen. Ihre Nutzer können dann die Funktionen Ihrer App bei Bedarf herunterladen und installieren.
Wenn Sie ein Bundle erstellen möchten, wählen Sie Build > Build Bundle(s) / APK(s) > Build Bundle(s) aus.
Weitere Informationen, einschließlich Anweisungen zum Erstellen und Analysieren eines Android App Bundle, siehe Android App Bundle:
Beispieldaten im Layout-Editor
Viele Android-Layouts haben Laufzeitdaten, die es schwierig machen können, das Erscheinungsbild eines Layouts in der Designphase der App-Entwicklung zu visualisieren. Ich
jetzt ganz einfach eine Vorschau Ihrer Ansicht im Layout-Editor mit
Beispieldaten. Wenn Sie eine Ansicht hinzufügen,
unterhalb der Ansicht im Designfenster angezeigt. Klicken Sie auf diese Schaltfläche,
für die Entwicklungszeit. Zur Auswahl stehen
aus einer Vielzahl von Beispieldatenvorlagen auswählen und die Anzahl der Beispielelemente angeben,
mit dem die Ansicht gefüllt werden soll.
Um Beispieldaten zu verwenden, fügen Sie ein
RecyclerView
in ein neues Layout wechseln möchten, klicken Sie auf die Schaltfläche
unter der Ansicht und wählen Sie aus dem Karussell der Beispieldaten eine Auswahl aus.
Vorlagen.
Slices
Segmente sind eine neue Möglichkeit, App-Funktionen in Benutzeroberflächen in Android. Mithilfe von Snippets können Sie beispielsweise App-Funktionen und ‑Inhalte in den Vorschlägen der Google Suche präsentieren.
Android Studio 3.2 verfügt über eine integrierte Vorlage, mit der du deine App mit den neuen Slice Provider APIs und den neuen Lint-Prüfungen, um sicherzustellen, beim Erstellen der Slices Best Practices berücksichtigen.
Klicken Sie zum Einstieg mit der rechten Maustaste auf einen Projektordner und wählen Sie Neu > Sonstiges > Slice-Anbieter aus.
Weitere Informationen, unter anderem zum Testen von Interaktionen mit Snippets, finden Sie im Einstiegsleitfaden für Snippets.
Kotlin 1.2.61
Android Studio 3.2 ist mit Kotlin 1.2.61 verknüpft und das neue Android SDK ist mit mit Kotlin optimieren. Weitere Informationen finden Sie in der Blog für Android-Entwickler
IntelliJ IDEA 2018.1.6
Die Android Studio-IDE wurde mit Verbesserungen von IntelliJ aktualisiert IDEA über die Version 2018.1.6.
Android-Profiler
In Android Studio 3.2 stehen die folgenden neuen Funktionen des Android-Profilers zur Verfügung.
Sitzungen
Sie können jetzt Profiler-Daten als Sitzungen speichern, um sie später noch einmal aufzurufen und zu prüfen. Der Profiler speichert Ihre Sitzungsdaten, bis Sie die IDE neu starten.
Wenn Sie einen Methoden-Trace oder einen Heap-Dump aufzeichnen, fügt die IDE diese Daten (zusammen mit den Netzwerkaktivitäten Ihrer App) als separaten Eintrag zur aktuellen Sitzung hinzu. Sie können dann ganz einfach zwischen den Aufzeichnungen wechseln, um Daten zu vergleichen.
System Tracing
Wählen Sie im CPU-Profiler den
neue System Trace-Konfiguration, um die CPU und
Thread-Aktivität. Diese Trace-Konfiguration basiert auf
systrace
und ist nützlich, um Probleme auf Systemebene zu untersuchen, z. B. Verzögerungen auf der Benutzeroberfläche.
Wenn Sie diese Trace-Konfiguration verwenden, können Sie wichtige Coderoutinen in der Zeitachse des Profilers visuell markieren, indem Sie Ihren C/C++-Code mit der nativen Tracing API oder Ihren Java-Code mit der Klasse Trace
instrumentieren.
JNI-Referenzen im Memory Profiler prüfen
Wenn Sie Ihre App auf einem Gerät mit Android 8.0 (API-Level 26) oder höher bereitstellen, können Sie jetzt mit dem Speicher-Profiler die Speicherzuweisungen für den JNI-Code Ihrer App prüfen.
Wählen Sie während der Ausführung Ihrer App einen Teil der Zeitachse aus, den Sie untersuchen möchten, und dann im Drop-down-Menü über der Klassenliste JNI-Heap aus (siehe Abbildung unten). Sie können dann Objekte im Heap wie gewohnt untersuchen und Doppelklicken Sie auf Objekte auf dem Tab Allocation Call Stack, um zu sehen, wo sich die JNI Referenzen werden in Ihrem Code zugewiesen und freigegeben.

Heap-Dump-Dateien importieren, exportieren und prüfen
Sie können jetzt .hprof
erstellte Heap-Dump-Dateien importieren, exportieren und prüfen
mit dem Memory Profiler
Importieren Sie die Datei .hprof
. Klicken Sie dazu im Bereich Sitzungen des Profilers auf Neue Profiler-Sitzung starten und wählen Sie dann Aus Datei laden aus. Sie können die Daten dann wie bei jedem anderen Heap-Dump im Speicher-Profiler prüfen.
Wenn Sie Heap-Dump-Daten zur späteren Auswertung speichern möchten, verwenden Sie die Schaltfläche Heap-Dump exportieren rechts neben dem Eintrag Heap-Dump im Bereich Sitzungen. Im
Dialogfeld Exportieren als wird angezeigt. Speichern Sie die Datei unter dem Dateinamen .hprof
.
.
CPU-Aktivität beim Starten der Anwendung aufzeichnen
Sie können jetzt die CPU-Aktivität beim Start Ihrer App so aufzeichnen:
- Wählen Sie Ausführen > Edit Configurations (Konfigurationen bearbeiten) aus.
- Setzen Sie in der gewünschten Ausführungskonfiguration auf dem Tab Profiling ein Häkchen neben Methoden-Trace beim Starten aufzeichnen.
- Wählen Sie im Drop-down-Menü eine CPU-Aufzeichnungskonfiguration aus, die verwendet werden soll.
- Wählen Sie Ausführen > Profil aus, um Ihre App auf einem Gerät mit Android 8.0 (API-Level 26) oder höher bereitzustellen.
CPU-Traces exportieren
Nachdem Sie die CPU-Aktivität mit dem CPU-Profiler aufgezeichnet haben, können Sie die Daten als
eine .trace
-Datei, um sie für andere freizugeben oder später zu untersuchen.
So exportieren Sie einen Trace, nachdem Sie die CPU-Aktivität aufgezeichnet haben:
- Klicken Sie mit der rechten Maustaste auf die Aufzeichnung, die Sie aus der CPU-Zeitachse exportieren möchten.
- Wählen Sie im Drop-down-Menü die Option Trace exportieren aus.
- Wählen Sie den Speicherort der Datei aus und klicken Sie auf Speichern.
CPU-Trace-Dateien importieren und untersuchen
Sie können jetzt .trace
-Dateien, die mit der
Debug API oder
CPU Profiler. (Zurzeit
können keine System-Trace-Aufzeichnungen importieren.)
Importieren Sie die Ablaufverfolgungsdatei, indem Sie im Bereich Sitzungen des Profilers auf Neue Profiler-Sitzung starten und dann auf Aus Datei laden klicken. Sie können die Daten dann wie gewohnt im CPU-Profiler prüfen, mit den folgenden Ausnahmen:
- Die CPU-Aktivität wird nicht entlang der CPU-Zeitachse dargestellt.
- Die Zeitachse der Thread-Aktivität zeigt nur an, wo Trace-Daten verfügbar sind für und nicht den tatsächlichen Thread-Status (wie „Aktiv“, „Wartet“ oder Schlaf).
CPU-Aktivitäten mit der Debug API aufzeichnen
Sie können die Aufzeichnung der CPU-Aktivität im CPU-Profiler jetzt starten und beenden,
Ihre Anwendung mit der Debug API instrumentieren. Nachher
Wenn Sie Ihre App auf einem Gerät bereitstellen, beginnt der Profiler automatisch mit der Aufzeichnung der CPU.
Aktivitäten, wenn deine App anruft
startMethodTracing(String tracePath)
,
und der Profiler beendet die Aufzeichnung, wenn Ihre App
stopMethodTracing()
Während
die CPU-Aktivität erfasst, die mit dieser API ausgelöst wird, zeigt der CPU-Profiler,
Debug API mit der ausgewählten CPU-Aufzeichnungskonfiguration.
Energie-Profiler
Der Energy Profiler zeigt eine Visualisierung der geschätzter Energieverbrauch deiner App sowie Systemereignisse, die sich auf den Energieverbrauch auswirken wie Wakelocks, Alarme und Jobs.
Der Energy Profiler wird als neue Zeile unten im Profiler angezeigt. Fenster, wenn die App auf einem verbundenen Gerät oder einem Android-Emulator ausgeführt wird Android 8.0 (API 26) oder höher
Klicken Sie auf die Zeile Energy, um die Ansicht „Energy Profiler“ zu maximieren. Bewegen Sie den Mauszeiger auf einen Balken in der Zeitachse, um eine Aufschlüsselung der Energienutzung nach CPU-, Netzwerk- und Standortressourcen (GPS) sowie relevante Systemereignisse zu sehen.
Systemereignisse, die sich auf den Energieverbrauch auswirken, werden in der Zeitachse System angezeigt. unter der Zeitachse Energie. Details zu Systemereignissen innerhalb der angegebenen werden im Ereignisbereich angezeigt, wenn Sie im Bereich Energie-Zeitachse.
Wenn Sie den Aufrufstack und andere Details für ein Systemereignis wie ein Wakelock sehen möchten, wählen Sie es im Ereignisbereich aus. Wenn Sie den Code aufrufen möchten, der für ein Systemereignis verantwortlich ist, klicken Sie doppelt auf den Eintrag im Aufrufstapel.
Lint-Prüfung
Android Studio 3.2 enthält viele neue und verbesserte Funktionen für Lint-Prüfung.
Mit den neuen Lint-Prüfungen können Sie häufige Codeprobleme von Warnungen über potenzielle Probleme hinsichtlich der Nutzerfreundlichkeit bis hin zu Fehlern mit hoher Priorität bezüglich potenzielle Sicherheitslücken.
Lint-Prüfung auf Interoperabilität von Java und Kotlin
Um sicherzustellen, dass Ihr Java-Code mit Ihrem Kotlin-Code funktioniert, müssen Sie Lint-Prüfungen erzwingen die im Kotlin-Interop-Leitfaden Zu diesen Prüfungen gehört beispielsweise die Suche nach der Null-Zulässigkeit Anmerkungen, harte Kotlin-Keywords und die letzte Platzierung von Lambda-Parametern.
Um diese Überprüfungen zu aktivieren, klicken Sie auf Datei > Einstellungen (Android Studio > Einstellungen auf einem Mac), um das Dialogfeld Einstellungen zu öffnen, gehen Sie zum Bearbeiter > Inspektionen > Android > Lint > Interoperabilität > Interoperabilität mit Kotlin und wählen Sie die Regeln aus, die Sie aktivieren möchten.

Um diese Prüfungen für Befehlszeilen-Builds zu aktivieren, fügen Sie Folgendes zu Ihrem
build.gradle
-Datei:
android {
lintOptions {
check 'Interoperability'
}
}
Lint-Prüfungen für Segmente
Mit den neuen Lint-Prüfungen für Slices können Sie dafür sorgen, dass Sie Slices korrekt erstellen. Beispielsweise werden Sie durch Lint-Prüfungen gewarnt, wenn Sie keine primäre für ein Slice.
Neues Gradle-Ziel
Verwenden Sie die neue Gradle-Task lintFix
, um alle safe-
von der Lint-Prüfung vorgeschlagene Korrekturen direkt im Quellcode. Ein Beispiel für eine Lint-Prüfung, bei der eine sichere Korrektur vorgeschlagen wird, ist SyntheticAccessor
.
Aktualisierungen von Metadaten
Verschiedene Metadaten, z. B. die Streamingprüfung des Dienstes, wurden für Lint aktualisiert überprüft, um mit Android 9 (API-Level 28) zu funktionieren.
Warnung beim Ausführen von lint auf einer neuen Variante
Lint erfasst jetzt, mit welcher Variante und Version eine Referenz aufgezeichnet wird, und warnt Sie, wenn Sie eine andere Variante als die verwenden, mit der das Baseline erstellt.
Verbesserungen an bestehenden Lint-Prüfungen
Android Studio 3.2 enthält viele Verbesserungen an den vorhandenen Lint-Prüfungen. So gelten die Prüfungen des Ressourcenzyklus jetzt beispielsweise für weitere Ressourcentypen und der Übersetzungsdetektor kann fehlende Übersetzungen im Editor direkt finden.
Problem-IDs leichter auffindbar
Problem-IDs werden jetzt an weiteren Stellen angezeigt, z. B. im Bereich Prüfung
Ergebnisse angezeigt. So können Sie die Informationen, die Sie
bestimmte Prüfungen über lintOptions
in
build.gradle
.
Weitere Informationen finden Sie unter Lint-Optionen mit Gradle konfigurieren
Datenbindung V2
V2 ist jetzt standardmäßig aktiviert und mit V1 kompatibel. Das bedeutet, dass Sie Bibliotheksabhängigkeiten, die Sie mit Version 1 kompiliert haben, in Projekten mit Datenbindung V2 verwenden können. Beachten Sie jedoch, dass Projekte, die V1 keine Abhängigkeiten nutzen, die mit V2 kompiliert wurden.
D8-Entzuckerung
In Android Studio 3.1 haben wir den Schritt zur Desugarierung in das D8-Tool integriert, experimentelle Funktion, wodurch die Build-Gesamtzeit verkürzt wird. In Android Studio 3.2 ist die Entsaccharisierung mit D8 standardmäßig aktiviert.
Neuer Code-Optimierungstool
R8 ist ein neues Tool zum Minimieren und Verschleieren von Code, das ProGuard ersetzt. Ich
können Sie die Vorabversion von R8 nutzen, indem Sie Folgendes in Ihr
gradle.properties
-Datei des Projekts hinzugefügt:
android.enableR8 = true
Standard-ABIs für Multi-APKs geändert
Wenn Sie mehrere APKs erstellen, die
jeweils auf ein anderes ABI ausgerichtet sind, generiert das Plug-in keine APKs mehr für die
standardmäßig folgende ABIs: mips
, mips64
und armeabi
.
Wenn du APKs erstellen möchtest, die auf diese ABIs ausgerichtet sind, musst du
NDK r16b oder niedriger und gib die ABIs an.
in Ihre build.gradle
-Datei ein, wie unten gezeigt:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
Hinweis:Diese Verhaltensänderung ist auch in Android Studio 3.1 RC1 und höher liegen.
Verbesserte Editorfunktionen für CMake-Build-Dateien
Wenn Sie mit CMake fügen Sie Ihrem Projekt C- und C++-Code hinzu, Android Studio enthält jetzt verbesserte Editorfunktionen, mit denen ihr eure CMake-Build-Skripts wie die folgenden:
- Syntaxhervorhebung und Codevervollständigung: Die IDE hebt jetzt die Codevervollständigung für gängige CMake-Befehle hervor und schlägt sie vor. Außerdem können Sie zu einer Datei navigieren, indem Sie auf die Datei klicken, während Sie die Taste Strg-Taste (Befehlstaste auf einem Mac)
- Codeumformatierung:Sie können jetzt die Option zur Codeumformatierung von IntelliJ verwenden, um Codestile auf Ihre CMake-Build-Skripts anwenden.
- Sichere Refaktorierung:Die in der IDE integrierten Refaktorierungstools prüfen jetzt auch, Sie benennen oder löschen Dateien, auf die Sie in Ihrem CMake-Build verweisen. Skripts erstellt.
Zwischen externen Headerdateien wechseln
Wenn Sie das Fenster Projekt in früheren Versionen von Android Studio verwenden, nur die Header-Dateien durchsuchen und prüfen, die zu Bibliotheken gehören, aus einem lokalen Projekt erstellen. Mit dieser Version können Sie jetzt auch Headerdateien ansehen und prüfen, die in externen C/C++-Bibliotheksabhängigkeiten enthalten sind, die Sie in Ihr App-Projekt importieren.
Wenn Sie bereits fügen Sie C-/C++-Code und -Bibliotheken in Ihr Projekt ein, Öffnen Sie das Fenster Project (Projekt) auf der linken Seite der IDE, indem Sie Anzeigen > Tool-Fenster > Projekt aus dem Hauptmenü und wählen Sie Android aus im Drop-down-Menü aus. Im Verzeichnis cpp werden alle Header im Bereich Ihres App-Projekts sind unter dem include-Knoten für jede der Abhängigkeiten Ihrer lokalen C/C++-Bibliothek, wie unten gezeigt.

Natives Multidex standardmäßig aktiviert
In früheren Versionen von Android Studio wurde native Multidex aktiviert, wenn die Debugversion einer App auf einem Gerät mit Android API-Level 21 oder höher bereitgestellt wurde. Jetzt
Ganz gleich, ob Sie die Bereitstellung auf einem Gerät durchführen oder ein APK zur Veröffentlichung erstellen,
das Plug-in für Gradle aktiviert natives Multidex für alle Module, die
minSdkVersion=21
oder höher.
AAPT2 wurde in das Maven-Repository von Google verschoben
Ab Android Studio 3.2 wird die Quelle für AAPT2 (Android Asset Packaging Tool 2) ist das Maven-Repository von Google.
Wenn Sie AAPT2 verwenden möchten, benötigen Sie eine google()
-Abhängigkeit in Ihrem
build.gradle
-Datei, wie hier gezeigt:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
Mit der neuen Version von AAPT2 wurden viele Probleme behoben, darunter eine verbesserte Verarbeitung von Nicht-ASCII-Zeichen unter Windows.
On-Demand-Entfernung der Konfiguration
Die Einstellung Bei Bedarf konfigurieren wurde aus Android Studio entfernt.
Android Studio übergibt die --configure-on-demand
nicht mehr
Argument an Gradle.
ADB-Verbindungsassistent
Der neue ADB-Verbindungsassistent enthält eine detaillierte Anleitung zum Einrichten und Verwenden eines Geräts über die Android Debug Bridge (ADB)-Verbindung.
Wählen Sie Tools > Verbindungsassistent aus, um den Assistenten zu starten.
Der ADB-Verbindungsassistent bietet Anweisungen, kontextbezogene Steuerelemente und eine Liste verbundener Geräte auf einer Reihe von Seiten im Steuerfeld Assistant.
Emulatorverbesserungen
Sie können jetzt Momentaufnahmen eines virtuellen Android-Geräts (AVD) speichern und laden: im Android-Emulator nutzen. So können Sie schnell und einfach dem emulierten Gerät zu Testzwecken einen bekannten Status hat. Wenn Sie eine AVD mit dem AVD Manager bearbeiten, können Sie angeben, welcher AVD-Snapshot beim Starten der AVD geladen werden soll.
Die Steuerelemente zum Speichern, Laden und Verwalten von AVD-Snapshots befinden sich jetzt im Fenster Erweiterte Steuerelemente des Emulators auf dem Tab Snapshots.
Weitere Informationen finden Sie unter Snapshots.
Weitere Informationen zu Neuerungen und Änderungen im Emulator finden Sie in der Versionshinweise zum Emulator.
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:
- Die im Lieferumfang enthaltene Kotlin-Version ist jetzt 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.
- Mit dem Befehl Rerun failed Testing (Fehlgeschlagene Tests wiederholen) im Fenster Run (Ausführen) manchmal fälschlicherweise die Meldung "Keine Tests gefunden" zurückgegeben.
-
D8 hat
invoke-virtual
Instanzen nicht richtig verarbeitet, verursacht einen Absturz mit einemVerifyError
:invoke-super/virtual can't be used on private method
-
Der Datenbindungs-Compiler basierte auf einer alten Version von
com.android.tools:annotations
Der Compiler verwendet jetzt Tools-Anmerkungen aus dem Basisprojekt, sofern verfügbar. - Android Studio stürzte bei der Verwendung von Profilern während Fragmentübergängen ab.
- 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 verwendet haben und mit D8 erstellt wurden auf Geräten mit Android 4.4 (API-Level 19) abgestürzt sind.
-
Android Studio konnte manchmal nicht gestartet werden und es wurde eine
ProcessCanceledException
während der Klasseninitialisierung fürcom.intellij.psi.jsp.JspElementType
ausgegeben.
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, schlagen Builds neuer Kotlin-Projekte fehl, wenn wird durch den Befehl Run ausgelöst.
-
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 stürzte ab, nachdem Sie auf Build-Varianten geklickt hatten.
- AAR-Dateien (Android-Archiv) wurden zweimal extrahiert, einmal während der Gradle-Funktion und einmal während des Gradle-Build-Prozesses.
- Bei einigen aus SVG-Dateien importierten Vektorgrafiken fehlten Elemente.
-
Die Warnung zur Einstellung der
compile
-Abhängigkeitskonfiguration wurde aktualisiert und enthält jetzt eine bessere Anleitung für dieimplementation
- undapi
-Konfigurationen. 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 von IntelliJ aktualisiert IDEA bis zur Version 2017.3.3. Zu den Verbesserungen gehören eine bessere Analyse der Kontrollflusssteuerung für Sammlungen und Strings, eine verbesserte Nullbarkeitsableitung, neue Schnellkorrekturen 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 Room-Datenbankbibliothek verwenden, können Sie von mehreren Verbesserungen bei der SQL-Bearbeitung profitieren:
- 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 in die andere Richtung, Daher wird durch das Umbenennen einer Java-Klasse oder eines Felds die entsprechende SQL- Code.
- SQL-Nutzungen werden angezeigt, wenn Sie die Option Nutzungen suchen verwenden (Rechtsklick und Wählen Sie im Kontextmenü Nutzungen suchen aus.
- Wenn Sie die Deklaration einer SQL-Entität in Java- oder Kotlin-Code aufrufen möchten, halten Sie die Strg-Taste (Befehlstaste auf dem Mac) gedrückt und klicken Sie auf die Entität.
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 Datenbindung:
-
Sie können jetzt ein
LiveData
-Objekt als beobachtbares Feld in Datenbindungsausdrücken verwenden. DieViewDataBinding
enthält jetzt eine neuesetLifecycle()
-Methode, die Sie zu beobachtenLiveData
Objekte. -
Die
ObservableField
Kurs kann jetzt andereObservable
-Objekt in seinem Konstruktor befinden. -
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 generiert. - Bibliotheken behalten ihre generierten Bindungsklassen bei, wenn die Anwendung kompiliert und nicht jedes Mal neu generiert 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 android.enableD8
auf false
festlegen in Ihrem
gradle.properties
, löschen Sie dieses Flag oder legen Sie es auf
true
:
android.enableD8=true
Weitere Informationen finden Sie unter Neuer DEX-Compiler.
Inkrementelle Desugaring
Bei Projekten, die Java 8-Sprachfunktionen verwenden, ist die inkrementelle Desugaring standardmäßig aktiviert. Dadurch können die Buildzeiten verbessert werden.
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 SieheBuild ü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. Außerdem wird die Synchronisierungszeit bei großen Projekten deutlich verkürzt.
-
Die Leistung beim Erstellen und Synchronisieren mit CMake wurde durch eine aggressivere Wiederverwendung von im Cache gespeicherten Ergebnissen verbessert.
-
Zusätzliche Formatierer ("Drucker") für mehr C++-Datenstrukturen LLDB-Ausgabe einfacher zu lesen ist.
-
LLDB funktioniert jetzt nur noch mit Android 4.1 (API-Ebene 16) und höher.
Hinweis: Das native Debugging mit Android Studio 3.0 oder höher 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 umfasst Kotlin Version 1.2.30 verfügbar.
Kotlin-Code wird jetzt mit der Befehlszeilen-Lint-Prüfung analysiert
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
Beispiel für native C++-Prozesse mit dem 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 App auf einem Gerät mit Android 8.0 (API-Level 26) oder höher bereitstellen und dann im Drop-down-Menü für die Aufzeichnungskonfigurationen des CPU-Profilers die Option Gemustert (nativ) auswählen. Anschließend können Sie wie gewohnt einen Trace aufzeichnen und prüfen.
Sie können Standardeinstellungen wie das Stichprobenintervall ändern, indem Sie Erstellen eines Konfiguration der Aufzeichnung.
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 öffnen, indem Sie Strg + F drücken. (Befehlstaste + F auf einem Mac).
Auf dem Tab Feuerdiagramm des CPU-Profilers werden Aufrufstacks, die Methoden mit Bezug zu Ihrer Suchanfrage enthalten, hervorgehoben und auf die linke Seite des Diagramms verschoben.
Weitere Informationen zum Filtern nach Methode, Klasse oder Paketnamen finden Sie unter Methoden-Traces erfassen und prüfen.
Tab „Anfrage“ im Netzwerk-Profiler
Der Netzwerk-Profiler enthält jetzt den Tab Anfrage mit Details zu Netzwerkanfragen im ausgewählten Zeitraum. 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: Enthält dieselben Informationen wie frühere Versionen von Android Studio. Hier werden Dateien aufgeführt, die während des ausgewählten Zeitabschnitts in allen CPU-Threads Ihrer App gesendet oder empfangen wurden. Für jede Anfrage können Sie Größe, Typ, Status und Übertragungsdauer überprüfen.
- Thread-Ansicht: Zeigt die Netzwerkaktivität der CPU-Threads Ihrer Anwendung an. In dieser Ansicht sehen Sie, welche Threads Ihrer App für für jede Netzwerkanfrage.

Layout Inspector
Der Layout Inspector wurde um einschließlich einiger Funktionen, die zuvor über die eingestellten Hierarchy Viewer und Pixel Perfect-Tools:
- 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 der Rendering-Unterstruktur zum Isolieren einer Ansicht in einem komplexen Layout

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 Aufrufen und Layouts.
- Neue Befehle für wird geöffnet Dokumentation für ein bestimmtes Ansichts- oder Layoutelement.
Sie können die neue Ansicht „Konvertieren“ verwenden, in der Komponentenstruktur oder im Designeditor verwenden, um eine Ansicht oder ein Layout zu konvertieren zu einer anderen Ansicht oder einem anderen Layout wechseln.
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 Gleiche Auswahloption aktiviert ist, erscheint die Option Bereitstellung auswählen Das Dialogfeld „Ziel“ wird nur bei der ersten Verwendung des Elements Ausführen, bis das ausgewählte Gerät nicht mehr verbunden.
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
Informationen zu den Neuerungen und Änderungen am Emulator seit Android Studio 3.0 finden Sie in den Versionshinweisen für den Android-Emulator von Version 27.0.2 bis Version 27.1.12.
Zu den wichtigsten Verbesserungen gehören:
- Quick Boot-Snapshots zum Speichern des Emulatorstatus und schnelleren Start mit der Möglichkeit, mit dem Befehl Jetzt speichern benutzerdefinierten Startstatus.
- Fensterloser Emulator-Bildschirm
- 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.
Wenn Sie die Tastenkombinationen für viele Befehle sehen möchten, halten Sie den Mauszeiger einfach auf eine Schaltfläche, bis die Kurzinfo erscheint.
Tools > Android-Menü entfernt
Das Menü Tools > Android wurde entfernt. Befehle, die sich zuvor in diesem Menü befanden, wurden verschoben.
- Viele Befehle wurden direkt unter das Menü Tools verschoben.
- 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 weniger eine Rolle als was wir bisher getan haben. In vielen Fällen sind die Funktionen, die über das Der Gerätemonitor bietet jetzt neue und verbesserte Tools.
Eine Anleitung zum Aufrufen des Gerätemonitors über die Befehlszeile und Details zu den über den Gerätemonitor verfügbaren Tools finden Sie in der Dokumentation zum Gerätemonitor.
3.0 (Oktober 2017)
Android Studio 3.0.0 ist eine Hauptversion, die eine Vielzahl neuer Funktionen und Verbesserungen.
macOS-Nutzer: Wenn Sie eine ältere Version von Android Studio aktualisieren, wird möglicherweise das Updatefehlerdialogfeld „Im Installationsbereich wurden einige Konflikte gefunden“ angezeigt. Ignorieren Sie diesen Fehler einfach und klicken Sie Abbrechen, um die Installation fortzusetzen.
3.0.1 (November 2017)
Dieses Update für Android Studio 3.0 enthält allgemeine Fehlerkorrekturen und Leistungsverbesserungen.
Android-Plug-in für Gradle 3.0.0
Das neue Android-Plug-in für Gradle bietet eine Vielzahl von Verbesserungen und neuen Funktionen, vor allem aber eine bessere Build-Leistung für Projekte mit einer großen Anzahl von Modulen. Bei Verwendung das neue Plug-in verwenden, sollten Sie Folgendes sehen:
- Kürzere Build-Konfigurationszeiten aufgrund der neuen verzögerten Abhängigkeitslösung.
- Variantensensitive Abhängigkeitsauflösung nur für die Projekte und Varianten, die Sie erstellen.
- Kürzere inkrementelle Build-Zeiten beim Anwenden einfacher Änderungen auf Code oder Ressourcen.
Hinweis: Diese Verbesserungen erforderten erhebliche Änderungen, die einige der das Verhalten, DSL und die APIs des Plug-ins. Ein Upgrade auf Version 3.0.0 erfordert möglicherweise Änderungen an Ihren Build-Dateien und Gradle-Plug-ins.
Diese Version umfasst außerdem Folgendes:
- Unterstützung für Android 8.0
- Unterstützung für das Erstellen separater APKs basierend auf Sprachressourcen.
- Unterstützung für Java 8-Bibliotheken und Java 8-Sprachfunktionen (ohne den Jack-Compiler).
- Unterstützung für die Android Test Support Library 1.0 (Android Test-Dienstprogramm und Android Test Orchestrator)
- Verbesserte Build-Geschwindigkeiten von ndk-build und cmake.
- Verbesserte Gradle-Synchronisierungsgeschwindigkeit.
- AAPT2 ist jetzt standardmäßig aktiviert.
- Die Verwendung von
ndkCompile
ist jetzt stärker eingeschränkt. Sie sollten stattdessen zu Sie verwenden CMake oder ndk-build, um nativen Code zu kompilieren, den Sie verpacken möchten. in Ihr APK einfügen. Weitere Informationen finden Sie unter Von ndkcompile migrieren.
Weitere Informationen zu den Änderungen finden Sie im Android-Plug-in für Gradle. Versionshinweise.
Informationen zur Aktualisierung auf das neue Plug-in finden Sie unter Migration zum Android-Plug-in für Gradle 3.0.0.
Kotlin-Unterstützung
Wie bei der Google I/O 2017 angekündigt, wird die Programmiersprache Kotlin jetzt offiziell auf Android unterstützt. Mit diesem Release unterstützt Android Studio die Kotlin-Programmiersprache für die Android-Entwicklung.
Sie können Kotlin in Ihr Projekt einbinden, indem Sie eine Java-Datei in Kotlin konvertieren (Klicken Sie auf Code > Convert Java File to Kotlin File) oder erstellen Sie ein neues mit dem Assistenten „Neues Projekt“ aktiviert haben.
Um loszulegen, Kotlin zu Ihrem Projekt hinzufügen

Support für Java 8-Sprachfunktionen
Sie können jetzt bestimmte Java 8-Sprachfunktionen und mit Java 8 erstellte Bibliotheken nutzen. Jack ist nicht mehr erforderlich. Sie sollten zuerst Jack deaktivieren, um die verbesserte Java 8-Unterstützung zu verwenden, die in der Standard-Toolchain enthalten ist.
Wenn Sie Ihr Projekt für die neue Java 8-Sprach-Toolchain aktualisieren möchten, ändern Sie im Dialogfeld Projektstruktur (Datei > Projektstruktur) die Quellkompatibilität und die Zielkompatibilität in „1.8“. Weitere Informationen finden Sie unter Sie verwenden Java 8-Sprachfunktionen.

Android-Profiler
Der neue Android Profiler ersetzt das Android Monitor-Tool und bietet neue Tools zur Messung der CPU-, Speicher- und Netzwerknutzung Ihrer App in in Echtzeit. Sie können ein samplebasiertes Methoden-Tracing durchführen, um Ihren Code zeitlich zu bestimmen. Ausführung, Heap-Dumps erfassen, Arbeitsspeicherzuweisungen prüfen und Details prüfen von über das Netzwerk übertragenen Dateien.
Klicken Sie zum Öffnen auf Ansicht > Tool-Fenster > Android-Profiler (oder klicken Sie in der Symbolleiste auf Android Profiler).
Die Ereigniszeitachse oben im Fenster zeigt Touch-Ereignisse, Presse und Änderungen der Aktivitäten, damit Sie mehr Kontext haben, um auf der Zeitachse sehen.
Hinweis: Die Ansicht Logcat wurde ebenfalls in ein separates Fenster verschoben. Sie befand sich zuvor im Android-Monitor, der entfernt wurde.

Klicken Sie in der Übersichtszeitleiste von Android Profiler auf CPU, SPEICHER. oder NETZWERK-Zeitachsen verwenden, um auf die entsprechenden Profiler-Tools zuzugreifen.
CPU-Profiler
Mit dem CPU-Profiler können Sie die CPU-Thread-Nutzung Ihrer App analysieren, indem Sie einen Beispiel- oder instrumentierten CPU-Trace auslösen. Anschließend können Sie CPU-Leistungsprobleme mit einer Vielzahl von Datenansichten und Filtern zu beheben.
Weitere Informationen finden Sie im Leitfaden zum CPU-Profiler.

Arbeitsspeicher-Profiler
Mit dem Memory Profiler können Sie Speicherlecks und -abwanderung, zu Ruckeln, Einfrieren und sogar App-Abstürzen führen. Es zeigt eine Echtzeitgrafik der Arbeitsspeichernutzung Ihrer App, können Sie einen Heap-Dump erfassen, automatische Speicherbereinigungen erzwingen und die Arbeitsspeicherzuweisungen.
Weitere Informationen finden Sie im Memory Profiler-Leitfaden.

Network Profiler
Mit dem Netzwerk-Profiler können Sie die Netzwerkaktivitäten Ihrer App im Blick behalten, die Nutzlast jeder Netzwerkanfrage prüfen und eine Verknüpfung zum Code herstellen, der die Netzwerkanfrage generiert hat.
Weitere Informationen finden Sie im Leitfaden zu Netzwerk-Profilern.

APK-Profiling und -Fehlerbehebung
Mit Android Studio können Sie jetzt beliebige APKs profilieren und debuggen, ohne sie aus einem Android Studio-Projekt erstellen zu müssen. Voraussetzung ist, dass das APK so erstellt wurde, dass die Fehlerbehebung aktiviert ist, und dass Sie Zugriff auf die Debugsymbole und Quelldateien haben.
Klicken Sie zum Einstieg auf dem Begrüßungsbildschirm von Android Studio auf APK profilern oder debuggen. Wenn Sie bereits ein Projekt geöffnet haben, klicken Sie auf Datei > Profil erstellen oder APK-Fehler beheben aus. Dadurch werden die entpackten APK-Dateien angezeigt, der Code wird jedoch nicht dekompiliert. Um Haltepunkte hinzuzufügen und Stacktraces anzusehen, müssen Sie Java-Quelldateien und native Debugging-Symbole anhängen.
Weitere Informationen finden Sie unter Profilieren und Fehler bei vorgefertigten APKs beheben

Geräte-Datei-Explorer
Mit dem neuen Gerätedatei-Explorer können Sie das Dateisystem Ihres verbundenen Geräts prüfen und Dateien zwischen dem Gerät und Ihrem Computer übertragen. Es ersetzt das Dateisystem-Tool in DDMS.
Klicken Sie auf Ansicht > Toolfenster > Device File Explorer, um es zu öffnen.
Weitere Informationen finden Sie in der Leitfaden zum Geräte-Explorer

Unterstützung von Instant Apps
Mit der neuen Unterstützung für Android Instant Apps können Sie Instant Apps in Ihrem Projekt mit zwei neuen Modultypen erstellen: Instant App-Module und Funktionsmodule. Dazu müssen Sie das Instant Apps Development SDK installieren.

Android Studio enthält außerdem eine neue Refaktorierungsaktion zum Modularisieren, mit der Sie einem vorhandenen Projekt die Unterstützung für Instant Apps hinzufügen können. Wenn Sie zum Beispiel Ihr Projekt so refaktorieren, dass einige Klassen in einem Instant App-Funktionsmodul platziert werden, Wählen Sie im Fenster Projekt die Klassen aus und klicken Sie auf Refaktorieren > Modularisieren. Wählen Sie im angezeigten Dialogfeld das Modul aus, in das die Kurse verschoben werden sollen, und klicken Sie auf OK.
Wenn Sie Ihre Instant App testen möchten, können Sie eine Instant App-Modul auf einem verbundenen Gerät durch Angabe der Instant App-URL innerhalb des Starts der Ausführungskonfiguration Optionen: Wählen Sie Ausführen > Konfigurationen bearbeiten, wähle dein Instant App-Modul aus und lege dann die URL fest unter Startoptionen.
Weitere Informationen finden Sie unter Android Instant Apps.
Android Things-Module
Neue Vorlagen für Android Things in den Assistenten „New Project“ (Neues Projekt) und „New Module“ (Neues Modul) entwickeln Sie für Android-IdD-Geräte.
Weitere Informationen finden Sie unter Android Things-Projekt erstellen.
Assistent für adaptive Symbole
In Image Asset Studio werden jetzt Vektor-Drawables und können Sie adaptive Launcher-Symbole Android 8.0 bei gleichzeitiger Erstellung traditioneller Symbole („Legacy“-Symbole). für ältere Geräte.
Klicken Sie mit der rechten Maustaste auf den Ordner res in der und klicken Sie dann auf Neu > Bild-Asset. Wählen Sie im Fenster Asset Studio als Symboltyp Launcher-Symbole (Adaptiv und Legacy) aus.
Hinweis: Du musst compileSdkVersion
auf 26 oder höher festlegen, um den adaptiven Launcher zu verwenden
Symbole.
Weitere Informationen finden Sie unter Adaptive Symbole.

Unterstützung für Ressourcen für Schriftarten
Um die neuen Schriftartressourcen in Android 8.0 zu unterstützen, enthält Android Studio eine Auswahl von Schriftressourcen, um Schriftarten in Ihrer App zu bündeln oder zu konfigurieren Ihr Projekt, um die Schriftarten auf das Gerät herunterzuladen (falls verfügbar). Das Layout sich im Editor auch eine Vorschau der Schriftarten ansehen kann.
Wenn Sie herunterladbare Schriftarten ausprobieren möchten, muss auf Ihrem Gerät oder Emulator Google Play-Dienste Version 11.2.63 oder höher installiert sein. Weitere Informationen finden Sie in den Herunterladbare Schriftarten:

Firebase App Indexing Assistant
Der Firebase Assistant wurde um eine neue Anleitung zum Testen der App-Indexierung ergänzt. Um Assistant zu öffnen, wählen Sie Tools > Firebase Wählen Sie dann App-Indexierung > Testen Sie die App-Indexierung.
Die Anleitung enthält neue Schaltflächen, mit denen Sie die Indexierung Ihrer öffentlichen und privaten Inhalte testen können:
- Klicken Sie in Schritt 2 auf Vorschau der Suchergebnisse anzeigen, um zu überprüfen, ob Ihre URLs in den Google-Suchergebnissen auftaucht.
- Klicken Sie in Schritt 3 auf Auf Fehler prüfen, um zu überprüfen, ob die indexierbaren Objekte in Ihrer App dem Index für persönliche Inhalte hinzugefügt wurden.
Android App Links Assistant
Der App-Link-Assistent wurde um die folgenden neuen Funktionen erweitert:
-
Fügen Sie für jede URL-Zuordnung URL-Tests hinzu, um sicherzustellen, dass Ihre Intent-Filter mit echten URLs umgehen.
Sie können diese URL-Tests auch manuell mithilfe der
<tools:validation>
definieren. Tag beschrieben. -
Erstelle eine Digital Asset Links-Datei mit dem entsprechenden Objekteintrag für Google Smart Lock unterstützen, und füge das entsprechende
asset_statements
-<meta-data>
-Tag zu deinem Manifestdatei.

Validator für URL-Intent-Filter
Android Studio unterstützt jetzt ein spezielles Tag in der Manifestdatei, mit dem Sie um Ihre Intent-Filter-URLs zu testen. Dies sind dieselben Tags, die auch in den App-Links Assistant kann Inhalte für dich erstellen.
Wenn Sie eine Test-URL für einen Intent-Filter deklarieren möchten, fügen Sie neben dem entsprechenden <intent-filter>
-Element ein <tools:validation>
-Element hinzu. Beispiel:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
Vergessen Sie nicht, auch xmlns:tools="http://schemas.android.com/tools"
in
das <manifest>
-Tag.
Wenn eine der Test-URLs die Definition des Intent-Filters nicht erfüllt, wird ein Es wird ein Lint-Fehler angezeigt. Ein solcher Fehler ermöglicht es Ihnen immer noch, Debug-Varianten zu erstellen, aber Ihre Release-Builds funktionieren sonst nicht mehr.

Layout-Editor
Der Layout-Editor wurde aktualisiert mit einer Reihe von Verbesserungen, darunter:
- Neues Layout und neue Symbole der Symbolleiste
- Das Layout in der Komponentenstruktur wurde aktualisiert.
- Verbessertes Einfügen von Ansichten per Drag-and-drop.
- Neuer Fehlerbereich unter dem Editor, der alle Probleme mit Vorschlägen für korrigieren (falls verfügbar).
- Verschiedene Verbesserungen der Benutzeroberfläche für die Erstellung mit
ConstraintLayout
, darunter Folgendes: <ph type="x-smartling-placeholder">- </ph>
- Es gibt jetzt neue Möglichkeiten, Hindernisse zu schaffen.
- Neue Unterstützung für das Erstellen von Gruppen: Wählen Sie in der Symbolleiste Richtlinien > Gruppe hinzufügen aus. ConstraintLayout 1.1.0 Beta 2 oder höher ist erforderlich.
- Neue Benutzeroberfläche zum Erstellen von Ketten: Wählen Sie mehrere Ansichten aus und klicken Sie mit der rechten Maustaste und wählen Sie Kette aus.

Layout Inspector
Der Layout Inspector enthält Verbesserungen, die die Behebung von Fehlern in Ihren App-Layouts erleichtern, darunter Gruppieren von Unterkünften in gemeinsame Kategorien und neue Suchfunktionen in in den Bereichen Baumansicht und Eigenschaften

APK Analyzer
Du kannst das APK Analyzer jetzt über die Befehlszeile mit dem
apkanalyzer
-Tool.
Der APK Analyzer wurde auch mit den folgenden Verbesserungen aktualisiert:
- Bei APKs, die mit ProGuard erstellt wurden, können Sie ProGuard-Zuordnungsdateien laden, die
Funktionen zur Verfügung, darunter:
- Fettgedruckte Knoten, die darauf hinweisen, dass die Knoten nicht entfernt werden sollten, wenn Code schrumpft.
- Eine Schaltfläche zum Anzeigen von Knoten, die beim Verkleinern entfernt wurden.
- Eine Schaltfläche, mit der die ursprünglichen Namen der Knoten in der Baumansicht wiederhergestellt werden, wurden von ProGuard verschleiert.
- Im DEX-Viewer werden jetzt die geschätzten Auswirkungen auf die Größe jedes Pakets, jeder Klasse und .
- Oben gibt es neue Filteroptionen, mit denen Felder und Methoden ein- und ausgeblendet werden können.
- In der Strukturansicht werden Knoten, die Verweise sind, die nicht in der DEX-Datei definiert sind, kursiv dargestellt.
Weitere Informationen finden Sie unter Build mit APK Analyzer analysieren.
Vorschau für D8 DEX-Compiler
Android Studio 3.0 enthält einen optionalen neuen DEX-Compiler namens D8. Er wird den DX-Compiler irgendwann ersetzen, Sie können die Verwendung des neuen D8-Compilers aber schon jetzt aktivieren.
Die DEX-Kompilierung wirkt sich direkt auf die Buildzeit, die Größe der .dex
-Datei und die Laufzeitleistung Ihrer App aus. Im Vergleich zum aktuellen DX-Compiler ist D8 schneller und generiert kleinere .dex
-Dateien bei gleicher oder besserer Laufzeitleistung.
Wenn Sie es ausprobieren möchten, legen Sie in der Datei gradle.properties
Ihres Projekts Folgendes fest:
android.enableD8=true
Weitere Informationen finden Sie im Blogpost zum D8-Compiler.
Maven-Repository von Google
Android Studio verwendet jetzt standardmäßig das Maven-Repository von Google anstelle von über den Android SDK Manager, um Updates für die Android Support Library zu erhalten, Google Play-Dienste, Firebase und andere Abhängigkeiten. So lassen sich Ihre Bibliotheken leichter auf dem neuesten Stand halten, insbesondere wenn Sie ein CI-System (Continuous Integration) verwenden.
Alle neuen Projekte enthalten jetzt standardmäßig das Maven-Repository von Google. Zum Aktualisieren
Ihrem vorhandenen Projekt hinzufügen, fügen Sie google()
in den repositories
-Block des
build.gradle
-Datei der obersten Ebene:
allprojects {
repositories {
google()
}
}
Weitere Informationen zum Maven-Repository von Google
Sonstige Änderungen
- Das native Debugging mit Android Studio wird unter 32-Bit-Windows nicht mehr unterstützt. Wir konzentrieren uns auf andere Plattformen, da diese Plattform nur von sehr wenigen Entwicklern genutzt wird. Wenn Sie 32-Bit-Windows verwenden und native Fehler beheben möchten kannst du weiterhin Android Studio 2.3 verwenden.
- Upgrade der Basis-IDE auf IntelliJ 2017.1.2 mit einer Reihe von neuen Funktionen 2016.3 und 2017.1, wie die Refaktorierung der Java 8-Sprache, Parameterhinweise, semantische Hervorhebungen, ziehbare Haltepunkte, sofortige Suchergebnisse in der Suche und vieles mehr.
- Viele neue Lint-Prüfungen wurden hinzugefügt.
- Sehen Sie sich auch die neuesten Updates für den Android-Emulator an.
2.3 (März 2017)
Android Studio 2.3.0 ist in erster Linie eine Fehlerbehebungs- und Stabilitätsversion, umfasst auch eine Reihe neuer Funktionen.
2.3.3 (Juni 2017)
Dies ist ein kleineres Update zur Unterstützung von Android O (API-Level 26).
2.3.2 (April 2017)
Dieses Update auf Android Studio 2.3 enthält die folgenden Änderungen:
- Der AVD Manager wurde aktualisiert, um Google Play in System-Images zu unterstützen.
- Fehlerkorrekturen für NDK-Builds bei Verwendung von R14 oder höher des NDK.
Weitere Informationen finden Sie in den entsprechenden Updates für den Android Emulator 26.0.3.
2.3.1 (April 2017)
Dies ist ein kleineres Update für Android Studio 2.3, das ein Problem behebt, bei dem einige Physische Android-Geräte haben mit Instant Run nicht richtig funktioniert (siehe Problem #235879.
<h3 class="hide-from-toc">
New
</h3>
<div class="video-wrapper-left">
<iframe class="devsite-embedded-youtube-video" data-video-id="VFyKclKBGf0"
data-autohide="1" data-showinfo="0" frameborder="0" allowfullscreen>
</iframe>
</div>
<ul>
<li>Android Studio can now convert PNG, BMP, JPG, and static GIF files to
WebP format. WebP is an image file format from Google that provides lossy
compression (like JPEG) as well as transparency (like PNG) but can provide
better compression than either JPEG or PNG. For more information, see
<a href="/studio/write/convert-webp.html">Convert images to WebP in Android
Studio</a>.
</li>
<li>The new <a href="/studio/write/app-link-indexing.html">App Links
Assistant</a> simplifies the process of adding Android App Links to your app
into a step-by-step wizard. Android App Links are HTTP URLs that bring users
directly to specific content in your Android app.
</li>
<li>The Layout Editor now includes support for two new ConstraintLayout
features:
<ul>
<li>Define a view size based on an aspect ratio.
</li>
<li>Create packed, spread, and weighted linear groups with constraint
chains.
</li>
</ul>
For more information, see <a href=
"/training/constraint-layout/index.html">Build a Responsive UI with
ConstraintLayout</a>.
</li>
<li>The Layout Editor also now lets you create a list of <a href=
"/studio/write/layout-editor.html#edit-properties">favorite attributes</a> so
you don't have to click <b>View all attributes</b> to access the attributes
you use most.
</li>
<li>When adding a material icon using the Vector Import Dialog (<b>File >
New > Vector Asset</b>), you can now filter the list of available icons by
category or by icon name. For more information, see <a href=
"/studio/write/vector-asset-studio.html#materialicon">Adding a material
icon</a>.
</li>
<li>
<a href="/studio/write/annotations.html#accessibility">New and updated
annotations</a>. The new <code>@RestrictTo</code> annotation for methods,
classes, and packages lets you restrict an API. The updated
<code>@VisibleForTesting</code> annotation now has an optional
<code>otherwise</code> argument that lets you designate what the visibility
of a method should be if not for the need to make it visible for testing.
Lint uses the <code>otherwise</code> option to enforce the intended
visibility of the method.
</li>
<li>New <a href="/studio/write/lint.html#snapshot">lint baseline support</a>
allows you to use a snapshot of your project's current set of warnings as a
baseline for future inspection runs so only new issues are reported. The
baseline snapshot lets you start using lint to fail the build for new issues
without having to go back and address all existing issues first.
</li>
<li>New lint checks, including the following:
<ul>
<li>Obsolete <code>SDK_INT</code> Checks: Android Studio removes obsolete
code that checks for SDK versions.
</li>
<li>Object Animator Validation: Lint analyzes your code to make sure that
your <code>ObjectAnimator</code> calls reference valid methods with the
right signatures and checks that those methods are annotated with <code>
@Keep</code> to prevent ProGuard from renaming or removing them during
release builds.
</li>
<li>Unnecessary Item Decorator Copy: Older versions of the
<code>RecyclerView</code> library did not include a divider decorator
class, but one was provided as a sample in the support demos. Recent
versions of the library have a divider decorator class. Lint looks for
the old sample and suggests replacing it with the new one.
</li>
<li>WifiManager Leak: Prior to Android 7.0 (API level 24), initializing
the <code>WifiManager</code> with <code><a href="/reference/android/content/Context.html#getSystemService(java.lang.Class<T>)">Context.getSystemService()</a></code>
can cause a memory leak if the context is not the application context.
Lint looks for these initializations, and if it <em>cannot</em> determine
that the context is the application context, it suggests you use <code><a href="/reference/android/content/Context.html#getApplicationContext()">Context.getApplicationContext()</a></code> to get the proper context for the
initialization.
</li>
<li>Improved Resource Prefix: The existing <code>resourcePrefix</code>
lint check had many limitations. You can now configure your project with
a prefix, such as <code>android { resourcePrefix '<var>my_lib</var>'
}</code>, and lint makes sure that all of your resources are using this
prefix. You can use variations of the name for styles and themes. For
example for the <var>my_lib</var> prefix, you can have themes named
<code>MyLibTheme</code>, <code>myLibAttr</code>,
<code>my_lib_layout</code>, and so on.
</li>
<li>Switch to WebP: This check identifies images in your project that can
be converted to WebP format based on your project’s
<code>minSdkVersion</code> setting. An associated quickfix can
automatically convert the images, or you can <a href=
"/studio/write/convert-webp.html">convert images to WebP</a> manually.
</li>
<li>Unsafe WebP: If your project already includes WebP images, this check
analyzes your project to ensure that your <code>minSdkVersion</code>
setting is high enough to support the included images. For more
information about WebP support in Android and Android Studio, see
<a class="external" href=
"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp">
Which browsers natively support WebP?</a> and <a href=
"/studio/write/convert-webp.html">Create WebP Images Using Android
Studio</a>.
</li>
</ul>
</li>
</ul>
<h3 class="hide-from-toc">
Changes
</h3>
<ul>
<li>A separate button to push changes with Instant Run: After deploying your
app, you now click <b>Apply Changes</b> <img src=
"/studio/images/buttons/toolbar-apply-changes.svg" alt="" class=
"inline-icon"> to quickly push incremental changes to your running app using
Instant Run. The <b>Run</b> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon"> and <b>Debug</b> <img src=
"/studio/images/buttons/toolbar-debug.png" alt="" class="inline-icon">
buttons are always available to you when you want to reliably push your
changes and force an app restart.
<ul>
<li>Instant Run is supported only when deploying your app to a target
device running Android 5.0 (API level 21) or higher.
</li>
<li>Instant Run is no longer disabled for projects that <a href=
"/studio/projects/add-native-code.html">link to external native
projects</a> using CMake or ndk-build. However, you can only use Instant
Run to push incremental changes to your Java code, not your native code.
</li>
<li>Cold swaps (which you can force for a running app by clicking
<strong>Run</strong> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon">) are now more reliable. Forcing a cold swap
also fixes the issue where changes to notification and widget UIs were
not updated on the target device.
</li>
<li>Includes optimizations that make app startup much faster. These
optimizations may affect profiling, so you should temporarily <a href=
"/studio/run/index.html#disable-ir">disable Instant Run</a> whenever
profiling your app.
</li>
</ul>
</li>
<li>
<p>
The <b>AVD Manager</b> <img src=
"/studio/images/buttons/toolbar-avd-manager.png" alt="" class=
"inline-icon"> and <b>SDK Manager</b> <img src=
"/studio/images/buttons/toolbar-sdk-manager.png" alt="" class=
"inline-icon"> buttons are now included in the lean Navigation Bar as
well as the full Toolbar. To use the lean Navigation Bar, click
<b>View</b> to open the View menu, then ensure that <b>Navigation Bar</b>
is selected and <b>Toolbar</b> is <em>not</em> selected.
</p>
<img src="/studio/images/releases/navigationbar_sdkavd_2x.png" width="757">
</li>
<li>The "Hybrid" debugger has been renamed to "Dual" debugger.
</li>
<li>In the <a href="/studio/run/rundebugconfig.html">Run/Debug
Configurations</a> dialog, under Defaults in the left pane, the following run
configuration names have changed with no behavior changes:
<ul>
<li>The JUnit name has changed to Android JUnit. If you have a project
that uses JUnit run configurations, those configurations are transformed
to Android JUnit run configurations the first time you open the project
with Android Studio. A dialog appears to inform you of the name change.
</li>
<li>The Android Tests name has changed to Android Instrumented Tests.
</li>
</ul>
</li>
<li>The <a href="/studio/debug/am-gpu-debugger.html">GPU Debugger</a> has
been removed from Android Studio as of version 2.3. An open-source,
standalone version of the tool is now available on <a href=
"https://github.com/google/gapid" class="external-link">GitHub</a>.
</li>
<li>The Run/Debug option is no longer available when you right-click a <code>
*.gradle build</code> script.
</li>
<li>All templates now use <code>ConstraintLayout</code> as the default
layout.
</li>
<li>The Widgets palette in the Layout Editor has been redesigned.
</li>
</ul>
<p>
This release also includes a number of bug fixes. <a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.3+status%3DReleased&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.3.0.</a>
</p>
<p class="note">
<b>Known issue:</b> Some device manufacturers block apps from automatically
launching after being installed on the device. When deploying your app to a
physical device using Android Studio 2.3, this restriction breaks the
intended behavior of Instant Run and causes the following error output:
<code>Error: Not found; no service started</code>. To avoid this issue,
either <a href="/studio/run/emulator.html">use the emulator</a> or enable
automatic launching for your app in your device's settings. The procedure
for doing this is different for each device, so check the instructions
provided by the manufacturer. To learn more about this issue, see
<a href="https://code.google.com/p/android/issues/detail?id=235879">Issue
#235879</a>.
</p>
2.2 (September 2016)
2.2.3 (Dezember 2016)
<p>
This is a minor update to Android Studio 2.2. It includes a bug fixes
focused around gradle, the core IDE, and lint.
</p>
<p>
Highlighted build changes:
</p>
<ul>
<li>ProGuard version rollback. Due to a <a href=
"https://sourceforge.net/p/proguard/bugs/625/">correctness issue</a>
discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We
have worked with the ProGuard team on getting a fix quickly, and we expect
to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
</li>
<li>Bug fix for <code>aaptOptions</code> <code>IgnoreAssetsPattern</code>
not working properly (<a href="http://b.android.com/224167">issue
224167</a>)
</li>
<li>Bug fix for Gradle autodownload for Constraint Layout library
(<a href="https://code.google.com/p/android/issues/detail?id=212128">issue
212128</a>)
</li>
<li>Bug fix for a JDK8/Kotlin compiler + dx issue (<a href=
"http://b.android.com/227729">issue 227729</a>)
</li>
</ul>
<p>
<a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.2.3+status%3AReleased+&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.2.3</a>.
</p>
2.2.2 (Oktober 2016)
<p>
This is a minor update to Android Studio 2.2. It includes a number of small
changes and bug fixes, including:
</p>
<ul>
<li>When reporting Instant Run issues through the IDE, the report now also
includes logcat output for <code>InstantRun</code> events. To help us
improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</li>
<li>A number of small bug fixes for Gradle.
</li>
<li>A fix for problems with generating multiple APKs.
</li>
</ul>
2.2.1 (Oktober 2016)
<p>
This is a minor update to Android Studio 2.2. It includes several bug fixes
and a new feature to enable extra logging to help us troubleshoot Instant
Run issues—to help us improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</p>
Neu
- Völlig neues Layout Editor mit Tools, die speziell für die Unterstützung von ConstraintLayout entwickelt wurden.
<li>New <strong><a href=
"http://tools.android.com/tech-docs/layout-inspector">Layout
Inspector</a></strong> lets you examine snapshots of your layout hierarchy
while your app is running on the emulator or a device.
</li>
<li>New <strong><a href="/studio/write/firebase.html">Assistant</a></strong>
window to help you integrate Firebase services into your app.
</li>
<li>New <strong><a href="/studio/debug/apk-analyzer.html">APK
Analyzer</a></strong> tool so you can inspect the contents of your packaged
app.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/test-recorder">Espresso Test
Recorder</a></strong> tool (currently in beta) to help you create UI tests by
recording your own interactions.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/build-cache">build cache</a></strong>
(currently experimental) to speed up build performance.
</li>
<li>New <strong>C/C++ build integration with CMake and ndk-build</strong>.
Compile and build new or existing native code into libraries packaged into
your APK, and debug using lldb. For new projects, Android Studio uses CMake
by default, but also supports ndk-build for existing projects. To learn how
to include native code in your Android application, read <a href=
"/studio/projects/add-native-code.html">Add C and C++ Code to Your
Project</a>. To learn how to debug native code with lldb, see <a href=
"/studio/debug/index.html#debug-native">Debug Native Code</a>.
</li>
<li>New <strong><a href="/studio/intro/index.html#sample-code">Samples
Browser</a></strong> so you can easily look up Google Android sample code
from within Android Studio to jump start app development.
</li>
<li>New <strong>Merged Manifest Viewer</strong> to help you diagnose how your
manifest file merges with your app dependencies across project build
variants.
</li>
<li>The <strong>Run</strong> window now contains log messages for the current
running app. Note that you can configure the <a href=
"/studio/debug/am-logcat.html">logcat Monitor</a> display, but not the
<strong>Run</strong> window.
</li>
<li>New <strong><a href="/studio/run/emulator.html">Android
Emulator</a></strong> features:
<ul>
<li>Added new <strong>Virtual</strong> <strong>Sensors</strong> and
<strong>Cellular</strong> > <strong>Signal Strength</strong> controls.
</li>
<li>Added an <strong>LTE</strong> option to the <strong>Cellular</strong>
> <strong>Network type</strong> control.
</li>
<li>Added simulated vertical swipes for scrolling through vertical menus
with a mouse wheel.
</li>
</ul>
</li>
<li>New <strong><a href="/studio/run/rundebugconfig.html">Run/Debug
Configuration</a></strong> features:
<ul>
<li>The <strong>Debugger</strong> tab of the Android App and Android
Tests templates now contain several new options for debugging with LLDB.
</li>
<li>The <strong>Profiling</strong> tab of the Android App and Android
Tests templates now contain a <strong>Capture GPU Commands</strong>
option for enabling GPU tracing. You can display GPU traces in the GPU
Debugger (a beta feature).
</li>
<li>The Android Tests template now has a <strong>Firebase Test Lab Device
Matrix</strong> option for the <strong>Deployment Target</strong>.
</li>
<li>The Native Application template has been deprecated. If you use this
template in a project, Android Studio automatically converts it to the
Android App template.
</li>
<li>The Android Application template has been renamed to Android App.
</li>
</ul>
</li>
<li>Improved installation, configuration, performance, and UI features in the
<strong><a href="/studio/debug/am-gpu-debugger.html">GPU
Debugger</a></strong> (currently in beta).
</li>
<li>Android Studio now comes bundled with <strong>OpenJDK 8</strong>.
Existing projects still use the JDK specified in <strong>File > Project
Structure > SDK Location</strong>. You can switch to use the new bundled
JDK by clicking <strong>File > Project Structure > SDK
Location</strong> and checking the <strong>Use embedded JDK</strong>
checkbox.
</li>
<li>Added new <strong>help menus and buttons</strong> in the UI so you can
more easily find the online documentation.
</li>
Änderungen
- Aktualisierung der IDE-Codebasis von IntelliJ 15 auf IntelliJ 2016,1
- Für Instant Run muss jetzt das Plattform-SDK installiert sein, das dem API-Level des Zielgeräts entspricht.
- Instant Run wird automatisch deaktiviert, wenn der Nutzer die App ausführt unter Arbeitsprofil oder als sekundärer Nutzer.
- Viele Zuverlässigkeitsprobleme bei Instant Run wurden behoben, bei denen Änderungen nicht bereitgestellt wurden oder die App abstürzte:
- Einige App-Assets wurden nicht in Ihrer laufenden App bereitgestellt. (Fehler: #213454)
- Die App stürzt ab, wenn der Nutzer zwischen Instant Run und Nicht Instant wechselt. Sitzungen ausführen, bei denen eine serialisierbare Klasse keine serialVersionUID hat definiert. (Fehler: #209006)
- Stiländerungen werden bei Instant Run nicht berücksichtigt. (Fehler: #210851)
- Instant Run-Sitzung ist unzuverlässig und verursacht FileNotFoundException. (Fehler: #213083)
- Änderungen an drawables werden bei KitKat erst nach einem vollständigen Neuaufbau berücksichtigt. (Fehler: #21530)
- Ressourcenänderungen werden bei der Instant Run-Funktion bei benutzerdefinierten sourceSets enthalten verschachtelte Pfade. (Fehler: #219145)
- Der Hot- und Warm-Swap funktionieren nicht, wenn die geänderte Klasse eine Anmerkung enthält. mit enum-Wert. (Fehler: #209047)
- Änderungen an Anmerkungsdaten werden in Instant Run nicht berücksichtigt. (Fehler: #210089)
- Instant Run übernimmt keine Codeänderungen, wenn Sie Änderungen außerhalb von in der IDE. (Fehler: #213205)
- Die Instant Run-Sitzung ist aufgrund eines nicht übereinstimmenden Sicherheitstokens nicht zuverlässig. (Fehler: #211989
- Der Cold Swap schlägt bei Geräten fehl, die Run-as nicht richtig unterstützen. (Fehler: #210875)
- App stürzt nach sofortiger Ausführung nach Neustart ab. (Fehler: #219744)
- ClassNotFoundException beim Wechsel von Instant Run zu Sofortige Fehlerbehebung. (Fehler: #215805)
<li>Improved performance for <strong>Gradle sync</strong> within the IDE,
especially for large projects.
</li>
<li>Improved build times for both full and incremental builds with new app
packaging code.
</li>
<li>Improved <strong>Jack compiler performance and features</strong>,
including support for annotation processors and dexing in process. To learn
more, read the <a href=
"/studio/releases/gradle-plugin.html#revisions">Android plugin for Gradle
2.2.0 release notes</a>.
</li>
<li>Removed the <strong>Scale</strong> AVD property from the AVD Manager.
</li>
<li>The Android Emulator <strong>-port</strong> and <strong>-ports</strong>
command-line options now report which ports and serial number the emulator
instance is using, and warn if there are any issues with the values you
provided.
</li>
<li>Improved the <strong><a href=
"/studio/write/create-java-class.html">Create New Class dialog</a></strong>
and the corresponding file templates. <strong>Note:</strong> If you've
previously customized the <strong>AnnotationType</strong>,
<strong>Class</strong>, <strong>Enum</strong>, <strong>Interface</strong>, or
<strong>Singleton</strong> file templates, you need to modify your templates
to comply with the new templates or you won’t be able to use the new fields
in the <strong>Create New Class</strong> dialog.
</li>
<li>Improved the <strong><a href=
"/studio/write/vector-asset-studio.html">Vector Asset Studio</a></strong>
user interface and added support for Adobe Photoshop Document (PSD) files.
</li>
<li>Improved the <strong><a href=
"/studio/write/image-asset-studio.html">Image Asset Studio</a></strong> user
interface.
</li>
<li>Improved the <strong>Theme Editor</strong>'s Resource Picker.
</li>
<li>Fixed memory leaks and reduced overall memory usage in Android Studio.
</li>
<li>Added a <strong>Background</strong> button in the <strong><a href=
"/studio/intro/update.html#sdk-manager">SDK Manager</a></strong> so you can
get back to work and install your packages in the background.
</li>
<li>Improved <strong><a href="/studio/intro/accessibility.html">Accessibility
features</a></strong>, including support for screen readers and keyboard
navigation.
</li>
<li>Enhanced <strong>Code Analysis</strong> includes code quality checks for
Java 8 language usage and more cross-file analysis.
</li>
<li>Several toolbar icons have changed.
</li>
2.1 (April 2016)
Die Hauptänderungen in diesem Update unterstützen die Entwicklung mit der Android N-Vorschau.
2.1.3 (August 2016)
Dieses Update erhöht die Kompatibilität mit Gradle 2.14.1, was die Leistung verbessert. Verbesserungen, neue Funktionen und ein wichtiges Sicherheitsupdate. Weitere Informationen finden Sie in den Gradle-Versionshinweisen.
Standardmäßig wird für neue Projekte in Android Studio 2.1.3 Gradle 2.14.1 verwendet. Bei vorhandenen Projekten werden Sie von der IDE aufgefordert, auf Gradle 2.14.1 und das Android-Plug-in für Gradle 2.1.3 zu aktualisieren. Letzteres ist für die Verwendung von Gradle 2.14.1 und höher erforderlich.
2.1.2 (Juni 2016)
Dieses Update enthält eine Reihe kleiner Änderungen und Fehlerkorrekturen:
- Instant Run-Updates und Fehlerkorrekturen.
- Verbesserungen der LLDB-Leistung und der Absturzbenachrichtigungen.
- Es wurde eine Regression des Sicherheitsupdates für Android Studio 2.1.1 behoben, die
hat dazu geführt, dass
git rebase
fehlgeschlagen ist.
2.1.1 (Mai 2016)
Sicherheitsaktualisierung
Die Android N-Plattform unterstützt Java 8-Sprachfunktionen, erfordert einen neuen experimentellen Compiler namens Jack. Die neueste Version von Jack ist unterstützt derzeit nur Android Studio 2.1. Wenn Sie also Sprachfunktionen von Java 8 verwenden möchten, müssen Sie Android Studio 2.1 zum Erstellen Ihrer App verwenden.
Hinweis: Instant Run ist deaktiviert, wenn Sie den Jack-Compiler aktivieren, da sie derzeit nicht kompatibel sind.
Obwohl Android Studio 2.1 jetzt stabil ist, ist der Jack-Compiler noch experimentell und muss mit dem Attribut jackOptions
in der Datei build.gradle
aktiviert werden.
Neben den Änderungen zur Unterstützung der N-Vorabversion enthält Android Studio 2.1 kleinere Fehlerkorrekturen und die folgenden Verbesserungen:
- Der Java-fähige C++ Debugger ist jetzt standardmäßig aktiviert, mit einem N-Gerät oder Emulator und wählen Sie für den Debugger-Modus Nativ aus. auf dem Tab Debugger für Ihre Ausführungs-/Fehlerbehebungskonfiguration.
Für andere Build-Verbesserungen, einschließlich inkrementeller Java-Kompilierung Aktualisieren Sie Ihr Android-Plug-in für Gradle auf Version 2.1.0.
2.0 (April 2016)
Hinweis:Wenn Sie für die Entwicklervorschau von N entwickeln, müssen Sie Android Studio 2.1 Preview. Android Studio 2.0 unterstützt keine alle für das Targeting auf die N-Vorschau erforderlichen Features.
Instant Run:
- Android Studio stellt saubere Builds jetzt schneller als je zuvor bereit. Außerdem werden inkrementelle Codeänderungen jetzt fast sofort an den Emulator oder ein physisches Gerät gesendet. Sie können Ihre Updates prüfen, ohne einen neuen Debug-Build neu bereitzustellen oder in vielen Fällen die App neu zu starten.
- Instant Run unterstützt die Übertragung der folgenden Änderungen an eine laufende App:
- Änderungen an der Implementierung einer vorhandenen Instanzmethode oder statischen Methode
- Änderungen an einer vorhandenen App-Ressource
- Änderungen an Strukturcode, z. B. an einer Methodensignatur oder einer statischen -Feld (Zielgerät mit API-Level 21 oder höher erforderlich).
- Weitere Informationen zu Instant Run finden Sie in der Dokumentation.
Hinweis: Instant Run wird nur unterstützt, wenn Sie die Debug-Build-Variante, Android-Plug-in für Gradle-Version 2.0.0 oder höher und konfigurieren Sie die Modulebene Ihrer App.
build.gradle
-Datei fürminSdkVersion 15
oder höher. Für eine optimale Leistung sollten Sie Ihre App fürminSdkVersion 21
oder höher konfigurieren.
Neu bei Lint:
- Prüfung von
switch
-Anweisungen mit@IntDef
-annotierten Ganzzahlen, um sicherzustellen, dass alle Konstanten verarbeitet werden. Wenn Sie schnell fehlende Anweisungen hinzufügen möchten, wählen Sie im Drop-down-Menü für die Absichtsaktion Fehlende @IntDef-Konstanten hinzufügen aus. - Flags für fehlerhafte Versuche, Versionsnummern mithilfe von String-Interpolation in die
build.gradle
-Datei einzufügen. - Flags für anonyme Klassen, die die Klasse
Fragment
erweitern. - Markierungen für nativen Code an unsicheren Orten, z. B.
res/
undasset/
Ordner. Dieses Flag empfiehlt, nativen Code im Ordnerlibs/
zu speichern, der dann bei der Installation sicher im Ordnerdata/app-lib/
der Anwendung verpackt wird. AOSP: #169950 - Markiert unsichere Aufrufe von
Runtime.load()
- undSystem.load()
-Aufrufen. AOSP: #179980 - Sie können nicht verwendete Ressourcen finden und entfernen, indem Sie in der Menüleiste Umstrukturieren > Nicht verwendete Ressourcen entfernen auswählen. Die Erkennung nicht verwendeter Ressourcen unterstützt jetzt Ressourcen, auf die nur von nicht verwendeten Ressourcen verwiesen wird, Verweise in Rohdateien wie
.html
-Bildverweise sowietools:keep
- undtools:discard
-Attribute, die vom Gradle-Ressourcen-Schrumpfer verwendet werden. Außerdem werden inaktive Quellsätze (z. B. Ressourcen, die in anderen Build-Varianten verwendet werden) berücksichtigt und statische Feldimporte werden ordnungsgemäß verarbeitet. - Prüft, ob implizite API-Referenzen auf allen Plattformen unterstützt werden
von
minSdkVersion
ausgerichtet. - Meldet eine unzulässige Nutzung von
RecyclerView
undParcelable
. @IntDef
-,@IntRange
- und@Size
-Prüfungen werden jetzt ebenfalls geprüft aufint
-Arrays und varargs.
Weitere Verbesserungen:
- Optimiert für den schnelleren Android Emulator 2.0 unterstützt eine breitere Palette virtueller Geräte und bietet verbesserte Benutzeroberfläche. Weitere Informationen zum neuen Emulator finden Sie in den Versionshinweisen zu SDK Tools.
- Verbesserungen am Android Virtual Device Manager:
- System-Images sind jetzt in die folgenden Tabs unterteilt: Empfohlen, x86 und Sonstige.
- In den erweiterten Einstellungen können Sie die Multi-Core-Unterstützung aktivieren die Anzahl der Kerne angeben, die der Emulator verwenden kann.
- In den erweiterten Einstellungen kannst du festlegen, wie Grafiken gerendert werden
im Emulator, indem du eine der folgenden Optionen auswählst:
- Hardware: Verwenden Sie die Grafikkarte Ihres Computers für schnelleres Rendering.
- Software: Softwarebasiertes Rendering verwenden.
- Automatisch: Der Emulator wählt die beste Option aus. Dieses ist die Standardeinstellung.
- Verbesserte AAPT-Verpackungszeiten durch Angabe des Bereitstellungsziels vor dem Erstellen der App. So kann Android Studio nur die für das angegebene Gerät erforderlichen Ressourcen effizient verpacken.
- Cloud Test Lab-Integration wurde hinzugefügt, um On-Demand-App-Tests mit der Komfort und Skalierbarkeit eines Cloud-Dienstes. Erfahren Sie mehr darüber, wie Sie können Cloud Test Lab mit Android Studio
- Eine Vorschau des neuen GPU Debugger wurde hinzugefügt. Für Grafiken intensiven Anwendungen ausgeführt haben, können Sie Ihren OpenGL ES-Code nun visuell durchgehen. um deine App oder dein Spiel zu optimieren.
- Test für die Google App-Indexierung hinzugefügt. Binden Sie URLs, die App-Indexierung und Suchfunktionen in Ihre Apps ein, um mehr Zugriffe auf Ihre App zu erzielen, herauszufinden, welche App-Inhalte am häufigsten verwendet werden, und neue Nutzer zu gewinnen. Testen und validieren Sie URLs in Ihrer App – alles in Android. Studio Siehe Unterstützende URLs und Apps Indexierung in Android Studio
- Upgrades auf die neueste Version von IntelliJ 15, einschließlich verbessertem Code Analyse und Leistung. Unter What's New in IntelliJ for a eine vollständige Beschreibung der neuen Funktionen und Verbesserungen.
- Die automatische Vervollständigung im XML-Editor fügt beim Abschließen jetzt Anführungszeichen hinzu Attribute. Um zu überprüfen, ob diese Option aktiviert ist, öffnen Sie die Einstellungen oder Einstellungen zu Editor > Allgemein > Smart Schlüssel und aktivieren Sie das Kontrollkästchen neben Anführungszeichen für Attributwert hinzufügen für Attributvervollständigung. Problem: 195113
- Der XML-Editor unterstützt jetzt die Codevervollständigung für Datenbindungen Ausdrücke.
Android Studio 1.5.1 (Dezember 2015)
Korrekturen und Verbesserungen:
- Ein Problem mit dem Rendern im Layout-Editor wurde behoben. Problem: 194612
- Es besteht jetzt die Möglichkeit, die
description
-Manifestattribute nach Konfiguration zu variieren. Problem: 194705 - Der Kontrast des Darcula-Designs von Android Studio wurde in Vector Asset Studio verbessert. Problem: 191819
- In Vector Asset Studio wird die Schaltfläche Hilfe unterstützt.
- Der Operator
%
für die Datenbindung wird jetzt unterstützt. Problem: 194045 - Ein Fall wurde behoben, bei dem das Starten einer App zum Debuggen dazu führte, dass der Debugger eine Verbindung zum falschen Gerät herstellte. Problem: 195167
- Eine Nullzeiger-Ausnahme wurde behoben, die beim Ausführen einer App in bestimmten Szenarien auftreten konnte.
Android Studio Version 1.5.0 (November 2015)
Korrekturen und Verbesserungen:
- Neue Memory Monitor-Analysefunktionen zu Android Monitor hinzugefügt. Wenn Sie eine HPROF-Datei aufrufen, die mit diesem Monitor erfasst wurde, ist die Anzeige jetzt hilfreicher, sodass Sie Probleme wie Speicherlecks schneller finden können. Um diesen Monitor zu verwenden, klicken Sie unter der folgenden Adresse auf Android Monitor: unten im Hauptfenster. Klicken Sie im Android-Monitor auf den Tab Arbeitsspeicher. Während wenn der Monitor ausgeführt wird, klicken Sie auf das Symbol Dump Java Heap und dann auf Aufnahmen im Hauptfenster und doppelklicken Sie auf die Datei, um sie anzusehen. Klicken Sie rechts auf Analyse erfassen. Der Android Device Monitor kann nicht gleichzeitig mit dem Android Monitor ausgeführt werden.
- Unterstützung für Deeplinks und App-Links hinzugefügt. Im Code-Editor kann automatisch ein Intent-Filter für Deeplinks in der
AndroidManifest.xml
-Datei erstellt werden. Außerdem kann er Code generieren, mit dem Sie die App Indexing API in einer Aktivität in einer Java-Datei einbinden können. Mit einer Deeplink-Testfunktion können Sie prüfen, ob ein bestimmter Deeplink eine App starten kann. Auf dem Tab Allgemein des Dialogfelds Konfigurationen ausführen/debuggen können Sie Optionen für das Starten von Deeplinks angeben. Sie können App Indexing API-Aufrufe auch in einer Aktivität mithilfe des logcat-Displays des Android-Monitors testen. Das Android-Toollint
enthält jetzt Warnungen für Probleme mit Deeplinks und der App Index API. - Es wurde die Möglichkeit hinzugefügt, bei benutzerdefinierten Ansichten im Code-Editor Kurznamen zu verwenden.
- In Vector Asset Studio wurde die Unterstützung für weitere
VectorDrawable
-Elemente hinzugefügt, um die Abwärtskompatibilität zu verbessern. Diese Elemente können in Vector Asset Studio verwendet werden, um Vektoren Drawables in PNG-Rasterbilder für die Verwendung mit Android 4.4 (API-Level 20) und niedriger umwandeln. - Neue
lint
-Vorabprüfung für Android TV und Android Auto hinzugefügt sofortiges, umsetzbares Feedback in Android Studio sowie mehrere Schnellkorrekturen. So kann er beispielsweise für Android TV Probleme mit Berechtigungen, nicht unterstützter Hardware, demuses-feature
-Element und fehlenden Bannern melden und schnell beheben. Bei Android Auto kann damit die korrekte Verwendung in der Deskriptordatei überprüft werden, auf die in IhrerAndroidManifest.xml
-Datei verwiesen wird. Außerdem wird gemeldet, wenn kein Intent-Filter für dieMediaBrowserService
-Klasse vorhanden ist, und bestimmte Probleme mit Sprachaktionen werden erkannt. - Neue
lint
-Prüfungen für unsichere Übertragungsempfänger hinzugefügtSSLCertificateSocketFactory
undHostnameVerifier
verwendet undFile.setReadable()
- undFile.setWritable()
-Anrufe. Er erkennt außerdem Ungültige Lookups für Manifest-Ressourcen, insbesondere für Ressourcen, die je nach Konfiguration variieren. - Mehrere Stabilitätsprobleme wurden behoben.
Android Studio Version 1.4.1 (Oktober 2015)
Korrekturen und Verbesserungen:
- Ein Problem beim Gradle-Modell-Caching wurde behoben, das beim Neustarten der IDE zu einer übermäßigen Gradle-Synchronisierung führen konnte.
- Ein Deadlock-Problem beim nativen Debuggen wurde behoben.
- Ein Problem wurde behoben, bei dem Nutzer des Versionskontrollsystems Subversion 1.9 blockiert wurden.
- Problem im Dialogfeld Geräteauswahl behoben, bei dem nach dem Verbinden eines Geräts, das nicht autorisiert ist, können Sie den Emulator nicht mehr auswählen. Problem: 189658
- Falsche Übersetzungsfehlerberichte für Sprachen mit Regions-Qualifier und Regions-Qualifier wurden behoben. Übersetzung in die Region (aber nicht in die Basissprache). Problem: 188577
- Ein Deadlock-Problem im Design-Editor im Zusammenhang mit der Interaktion mit dem Layout-Editor wurde behoben. Problem: 188070
- Ein Konflikt beim Aktualisieren und Bearbeiten des Design-Editors, der dazu führte, dass Attribute nicht ordnungsgemäß aktualisiert wurden, wurde behoben. Problem: 187726
- Verbesserte Leistung des Designeditors.
- Ein Problem wurde behoben, durch das das Attribut
android:required
im Manifest ignoriert wurde. Problem: 187665
Android Studio Version 1.4.0 (September 2015)
Korrekturen und Verbesserungen:
- Vector Asset Studio wurde hinzugefügt. Tool zum Importieren von Vektorgrafiken wie Materialsymbolen und SVG-Dateien. Wenn Sie dieses Tool verwenden möchten, klicken Sie im Projektfenster in der Android-Ansicht mit der rechten Maustaste auf den Ordner res und wählen Sie Neu > Vektor-Asset aus.
- Es wurden neue Android Monitor-Funktionen sowie neue GPU- und Netzwerkfunktionen hinzugefügt. Um diese Monitore zu verwenden, klicken Sie auf Android Monitor. Der Android-Gerätemonitor nicht gleichzeitig mit Android Monitor laufen.
- Eine frühe Vorschau des neuen Design-Editors wurde hinzugefügt. Wenn Sie diese Funktion verwenden möchten, wählen Sie Tools > Android > Design-Editor aus.
- Die Android-Vorlagen für die Design Support Library wurden aktualisiert. Vorlagen unterstützen jetzt
für die Material Design-Spezifikation sowie für die
appcompat
Support Library für die Abwärtskompatibilität.
Android Studio 1.3.2 (August 2015)
Korrekturen und Verbesserungen:
- Unterstützung für Android 6.0 (API-Level 23) hinzugefügt, einschließlich neuer Symbole und AVD Manager-Unterstützung für die Erstellung von Geräten mit neuen Bildschirmdichten.
- Eine Ausnahme bei Updateprüfungen wurde behoben. Problem: 183068
- Ein Problem wurde behoben, durch das nicht aufgelöste Ansichtskoordinaten den Layout-Editor zum Absturz bringen konnten. Problem: 178690
- Problem mit Warnungen zu ungültigen Ressourcentypen behoben Problem: 182433
- Die Lint-Prüfung wurde korrigiert, da sie Ressourcen fälschlicherweise als privat gekennzeichnet hat. Problem: 183120
Android Studio Version 1.3.1 (August 2015)
Korrekturen und Verbesserungen:
- Die Unterstützung für die Erstellung eines virtuellen Android Wear-Geräts (AVD) unter Windows wurde korrigiert.
- Der Projektassistent wurde aktualisiert, sodass der eingegebene Projektname verwendet wird.
- Es wurde Unterstützung hinzugefügt, um das Android SDK in einem schreibgeschützten Verzeichnis zu speichern.
- Das Android-Plug-in für Gradle wurde auf Version 1.3.0 aktualisiert.
- Probleme beim Starten einer Debug-Sitzung über das ADB-Unix (Android Debug Bridge) behoben Shell.
- Die Meldung zum Umbenennen von Java-Paketen wurde korrigiert, sodass der richtige Paketname angezeigt wird.
Android Studio Version 1.3.0 (Juli 2015)
Korrekturen und Verbesserungen:
- Es wurden Optionen hinzugefügt, mit denen Sie Entwicklerdienste wie Google AdMob und Analytics in Ihrer App direkt in Android Studio aktivieren können.
- Zusätzliche Anmerkungen hinzugefügt,
z. B.
@RequiresPermission
,@CheckResults
und@MainThread
- Es besteht jetzt die Möglichkeit, Java-Heap-Dumps zu generieren und Thread-Zuweisungen aus dem Arbeitsspeichermonitor. Sie können auch Android-spezifische HPROF-Dateien im Binärformat von innerhalb in das HPROF-Standardformat konvertieren Android Studio
- Integrierter SDK Manager
in Android Studio importieren, um den Zugriff auf Pakete und Tools zu vereinfachen und Benachrichtigungen zu Updates bereitzustellen.
Hinweis: Der eigenständige SDK-Manager ist weiterhin über die Befehlszeile verfügbar, wird aber nur für die Installation eigenständiger SDKs empfohlen.
- Der
finger
-Befehl wurde zur Simulation in der Emulatorkonsole hinzugefügt. Fingerabdruck Authentifizierung. - Eine
<public>
-Ressourcendeklaration wurde hinzugefügt, um die Bibliothek anzugeben Ressourcen als öffentlich und privat Ressourcen.Hinweis:Erfordert Android-Plug-in für Gradle Version 1.3 oder höher.
- Unterstützung für Datenbindung hinzugefügt Sie können deklarative Layouts erstellen, die Ihre Anwendungslogik an Layoutelemente binden.
- Zusätzliche Unterstützung für eine separate Test-APK-Modul um Test-APKs in Android Studio zu erstellen.
- AVD Manager mit HAXM aktualisiert Optimierungen und verbesserte Benachrichtigungen.
- Unterstützung für 64-Bit-ARM- und MIPS-Emulatoren für QEMU 2.1 hinzugefügt.
- Die Auflösung von Lint-Warnungen wurde vereinfacht durch Schnellkorrekturen, wie die automatische Generierung Parzellenfähig Implementierung.
- Unterstützung für Live-Vorlagen zum schnellen Einfügen von Code-Snippets hinzugefügt.
Android Studio 1.2.2 (Juni 2015)
Korrekturen und Verbesserungen:
- Probleme beim Erstellen, die den Abschluss von Builds verhindert haben, wurden behoben.
Android Studio 1.2.1 (Mai 2015)
Korrekturen und Verbesserungen:
- Kleinere Leistungs- und Funktionsprobleme wurden behoben.
Android Studio Version 1.2.0 (April 2015)
Korrekturen und Verbesserungen:
- Das Android-Laufzeitfenster wurde um das Tool Memory Monitor und einen Tab für die CPU-Leistungsüberwachung erweitert.
- Wir haben am linken Rand den Tab Aufnahmen hinzugefügt, um das Bild erfasste Dateien mit Arbeitsspeicher- und CPU-Leistungsdaten, z. B. zur Nachverfolgung von CPU-Methoden und Speicher-Heap-Snapshots.
- Die Unterstützung von Anmerkungen wurde durch zusätzliche Metadatenanmerkungen und abgeleitete Nullbarkeit erweitert.
- Der Übersetzungs-Editor wurde um die Unterstützung für Best Current Practice (BCP) 47, die Sprach- und Regionscodes aus drei Buchstaben verwendet.
- Integrierte IntelliJ 14- und 14.1-Funktionen für eine verbesserte Codeanalyse und Leistung:
-
- Verbessertes Debugging zeigt Inline-Werte für Variablen und verweisende Objekte und führen eine Inline-Auswertung von Lambda und Operatorausdrücken.
- Codestilerkennung für Tabulator- und Einzuggrößen hinzugefügt
- Scratch-Dateien für Code-Tests und Prototyping hinzugefügt, Projektdateien.
- Das gleichzeitige Einfügen von öffnenden und schließenden Tags in HTML- und XML-Dateien.
- Es wurde ein integrierter Java-Klassen-Decompiler hinzugefügt, mit dem Sie sich den Inhalt einer Bibliothek ansehen können, für die der Quellcode nicht verfügbar ist.
Weitere Informationen finden Sie unter Neue Funktionen in IntelliJ. finden Sie eine vollständige Beschreibung der neuen Funktionen und Verbesserungen.
- Es wurden zusätzliche Projektansichten für Skizzen, Projektdateien, Probleme, Produktion und Tests hinzugefügt, um die Projektverwaltung und den Zugriff zu verbessern.
- Das Menü Datei > Einstellungen und die Dialogfelder wurden optimiert, um den Zugriff auf und die Verwaltung der Einstellungen zu verbessern.
- HD-Displays unter Windows und Linux werden jetzt unterstützt.
- 280 dpi-Ressourcen werden jetzt in der
res/drawable-280dpi/
-Ordner.
Android Studio 1.1.0 (Februar 2015)
Verschiedene Fehlerbehebungen und Verbesserungen:
- Die Android Wear-Smartwatch wird jetzt unterstützt. Vorlage.
- Die Erstellung des neuen Projekts und des Moduls wurde um Folgendes geändert:
res/mipmap
Ordner für dichtespezifische Launcher-Symbole. Dieseres/mipmap
-Ordner ersetzen die Ordnerres/drawable
für Launcher-Symbole. - Die Launcher-Symbole wurden im Material Design-Look aktualisiert und es wurde ein
xxxhdpi
-Launcher-Symbol hinzugefügt. - Hinzugefügte und verbesserte Lint-Prüfungen für Regions- und Sprachkombinationen, Launcher-Symbole, Ressourcennamen und andere gängige Codeprobleme.
- Unterstützung für Best Current Practice (BCP) – Sprach-Tag 47 hinzugefügt.
Android Studio Version 1.0.1 (Dezember 2014)
Verschiedene Fehlerbehebungen und Verbesserungen:
- Problem mit der Sperrung der Dateien „AVD Manager“ und device.xml behoben
- Das Emulatorprotokoll wurde auf Windows-Systemen korrigiert.
- Ein Problem beim Erstellen von AVDs mit Android Studio und Android SDK, die auf verschiedenen Laufwerken auf Windows-Systemen installiert sind, wurde behoben.
- Legt den Standard-Update-Kanal für neue Downloads auf Stabil fest. Wenn Sie die Version 1.0.0 von Android Studio installiert und eine stabile, produktionsreife Version haben möchte. verwenden Sie Datei > Einstellungen > Updates zur Stabilen Version. aktualisiere den Kanal.
Android Studio 1.0 (Dezember 2014)
Erste Version von Android Studio.
Android Studio Version 0.8.14 (Oktober 2014)
Weitere Informationen finden Sie unter tools.android.com finden Sie eine vollständige Liste der Änderungen.
Android Studio Version 0.8.6 (August 2014)
Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.8.0 (Juni 2014)
Android Wear-Projekte werden jetzt unterstützt.
Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.5.2 (Mai 2014)
- Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.4.6 (März 2014)
- Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.4.2 (Januar 2014)
- Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.3.2 (Oktober 2013)
- Eine vollständige Liste der Änderungen finden Sie unter tools.android.com.
Android Studio Version 0.2.x (Juli 2013)
- Die neuesten Änderungen an der IntelliJ-Codebasis wurden zusammengeführt. Enthält Korrekturen für Probleme, die von Studio-Nutzern gemeldet wurden, z. B. durch Verbesserungen der Linux-Schriftgröße und des Schriftrendering.
- Das Android-Gradle-Plug-in wurde auf Version 0.5.0 aktualisiert.
Achtung: Diese neue Version ist nicht abwärtskompatibel. Wenn Sie ein Projekt öffnen, in dem eine ältere Version des Plug-ins verwendet wird, wird in Studio die Fehlermeldung Gradle-Projekt „<project_name>“ konnte nicht aktualisiert werden angezeigt.
Das aktualisierte Gradle-Plug-in enthält die folgenden Änderungen:
- Das IDE-Modell wurde so korrigiert, dass es die Ausgabedatei auch dann enthält, wenn sie über DSL angepasst wurde. Ebenfalls
Fehler in DSL behoben, um die Ausgabedatei für das Variantenobjekt abzurufen bzw. festzulegen, sodass es nicht erforderlich ist,
variant.packageApplication or variant.zipAlign
verwenden - Behebung der Abhängigkeitsauflösung, sodass die Kombination aus (Standardkonfiguration, Build-Typen und Geschmacksrichtungen zusammen statt einzeln.
- Die Abhängigkeit für Tests des Bibliotheksprojekts wurde behoben, um alle Abhängigkeiten korrekt einzuschließen. der Bibliothek selbst.
- Ein Fall, bei dem zwei Abhängigkeiten denselben Blattnamen haben, wurde behoben.
- Ein Problem wurde behoben, durch das die Proguard-Regeldatei nicht auf Flavors angewendet werden konnte.
Alle Versionshinweise für das Gradle-Plug-in finden Sie hier: http://tools.android.com/tech-docs/new-build-system.
- Das IDE-Modell wurde so korrigiert, dass es die Ausgabedatei auch dann enthält, wenn sie über DSL angepasst wurde. Ebenfalls
Fehler in DSL behoben, um die Ausgabedatei für das Variantenobjekt abzurufen bzw. festzulegen, sodass es nicht erforderlich ist,
- Gradle-Fehler von aapt verweisen nicht mehr auf zusammengeführte Ausgabedateien im Ordner „build/“, sondern auf die tatsächlichen Quellspeicherorte.
- Parallele Builds. Es ist jetzt möglich, die parallelen Builds von Gradle zu verwenden. Bitte beachten Sie, dass Parallele Builds befinden sich in der „Inkubation“ (siehe Gradles Dokumentation. Diese Funktion ist standardmäßig deaktiviert. Wenn Sie diese Funktion aktivieren möchten, klicken Sie auf Einstellungen > Compiler und setzen Sie ein Häkchen in das Kästchen Unabhängige Module parallel kompilieren.
- Weitere Arbeiten am neuen Ressourcen-Repository, das für das Layout-Rendering verwendet wird, Ressourcen-Zusammenklappen im Editor und mehr:
- Grundlegende Unterstützung für .aar-Bibliotheksabhängigkeiten (z.B. Verwendung einer Bibliothek ohne lokale Kopie von die Quellen. Die XML-Validierung und Navigation in Ressourcen in Quelleditoren funktioniert weiterhin nicht.
- Erkennung von Zyklen in Ressourcenreferenzen
- Schnelldokumentation (F1), die alle Übersetzungen der Zeichenfolge unter dem Caret-Zeichen anzeigen kann, werden jetzt auch alle Ressourcen-Overlays der verschiedenen Gradle-Varianten und Build-Typen angezeigt, wie und Bibliotheken. Die Ressourcen sind in umgekehrter Reihenfolge angeordnet, Versionen des Strings, die maskiert werden.
- Korrekturen für die Aktualisierung der zusammengeführten Ressourcen, wenn die Gruppe von Modulabhängigkeiten ändern können.
- Fehlerbehebungen bei der XML-Darstellung für die korrekte Verarbeitung von Zeichenentitätsdeklarationen sowie XML und Unicode entkommt.
- Unterstützung für das Speichern von Screenshots für die Layoutvorschau und den Layout-Editor
- Fehlerkorrekturen für Vorlagen.
- Fehlerkorrekturen für Lint.
- Verschiedene Fehlerkorrekturen für Absturzberichte. Vielen Dank und bitte melden Sie weiterhin Absturzberichte.
Android Studio Version 0.1.x (Mai 2013)
- Diverse Fehlerkorrekturen, einschließlich einer Korrektur für ein häufiges Problem bei der Windows-Installation.
Ältere Releases des Android-Gradle-Plug-ins
3.6.0 (Februar 2020)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
-
Gradle 5.6.4. Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
-
SDK Build Tools 28.0.3 oder höher.
Dieses kleine Update unterstützt die Kompatibilität mit neuen Standardeinstellungen und Funktionen für Paketsichtbarkeit für Android 11.
Weitere Informationen finden Sie in den Versionshinweisen zu 4.0.1.
Neue Funktionen
Diese Version des Android-Gradle-Plug-ins enthält die folgenden neuen Funktionen.
Bindung ansehen
Die View-Bindung bietet Sicherheit bei der Kompilierungszeit beim Verweisen auf Ansichten in
Ihren Code. Sie können jetzt findViewById()
durch die
automatisch generierte Bindungsklassenreferenz. Wenn Sie die Ansichtsbindung verwenden möchten, fügen Sie der build.gradle
-Datei jedes Moduls Folgendes hinzu:
android { viewBinding.enabled = true }
android { viewBinding.enabled = true }
Weitere Informationen finden Sie in der Dokumentation zur Bindung.
Unterstützung für das Maven Publish-Plug-in
Das Android-Gradle-Plug-in unterstützt die Maven Gradle-Plug-in veröffentlichen, mit dem Sie Build-Artefakte auf ein Apache Maven-Repository. Das Android-Gradle-Plug-in erstellt eine Komponente für jedes Build-Variantenartefakt in Ihrer App oder Ihrem Bibliotheksmodul, zum Anpassen eines Publikation in ein Maven-Repository.
Weitere Informationen finden Sie auf der Seite Maven Publish verwenden Plug-in hinzu.
Neues Standard-Paketierungstool
Beim Erstellen der Debugversion Ihrer App verwendet das Plug-in ein neues Verpackungstool namens zipflinger, um Ihr APK zu erstellen. Dieses neue Tool sollte die Buildgeschwindigkeit verbessern. Wenn das neue Verpackungstool
nicht wie erwartet funktioniert,
melden Sie den Fehler. Sie können wiederherstellen zu:
Verpackungstool verwenden, indem Sie Folgendes in Ihre
gradle.properties
-Datei:
android.useNewApkCreator=false
Attribution für native Builds
Sie können jetzt die Zeit bestimmen, die Clang für die Erstellung und und verknüpfen Sie jede C/C++-Datei in Ihrem Projekt. Gradle kann ein Chrome-Trace ausgeben die Zeitstempel für diese Compiler-Ereignisse enthält. wie viel Zeit für die Erstellung Ihres Projekts benötigt wird. So geben Sie diesen Build aus Attributionsdatei verwenden, gehen Sie so vor:
-
Fügen Sie das Flag
-Pandroid.enableProfileJson=true
hinzu, wenn Sie einen Gradle-Build ausführen. Beispiel:gradlew assembleDebug -Pandroid.enableProfileJson=true
-
Öffnen Sie den Chrome-Browser und geben Sie
chrome://tracing
in die Suchleiste ein. -
Klicken Sie auf die Schaltfläche Laden und gehen Sie zu
<var>project-root</var>/build/android-profile
um die Datei zu finden. Der Dateinameprofile-<var>timestamp</var>.json.gz
Die Attributionsdaten für native Builds sehen Sie oben in der Zuschauer:
Geändertes Verhalten
Bei Verwendung dieser Plug-in-Version können folgende Probleme auftreten: Verhaltensänderungen zu erkennen.
Native Bibliotheken, die standardmäßig unkomprimiert verpackt sind
Wenn Sie Ihre App erstellen, wird extractNativeLibs
jetzt standardmäßig vom Plug-in auf "false"
gesetzt. Das heißt, Ihre nativen Bibliotheken
sind auf Seiten ausgerichtet und werden gepackt,
unkomprimiert. Das führt zwar zu einer größeren Uploadgröße, Ihre Nutzer profitieren aber von folgenden Vorteilen:
- Die App-Installationsgröße ist geringer, da die Plattform auf die native App zugreifen kann. direkt aus dem installierten APK, ohne dass Sie eine Kopie des die Bibliotheken.
- Kleinere Downloadgröße, da normalerweise die Play Store-Komprimierung wenn Sie unkomprimierte native Bibliotheken in Ihr APK oder Android App Bundle
Wenn das Android-Gradle-Plug-in stattdessen komprimiert sein soll native Bibliotheken verwenden, fügen Sie Folgendes in das Manifest Ihrer App ein:
<application
android:extractNativeLibs="true"
... >
</application>
Hinweis: Das Manifest extractNativeLibs
Attribut wurde durch useLegacyPackaging
DSL ersetzt
Option. Weitere Informationen finden Sie im Release-Hinweis.
Komprimierte Pakete über DSL verpacken
native Bibliotheken.
Standard-NDK-Version
Wenn Sie mehrere Versionen des NDK herunterladen, kann das Android-Gradle-Plug-in
wählt jetzt eine Standardversion zum Kompilieren Ihrer Quellcodedateien aus.
Bisher wurde vom Plug-in die zuletzt heruntergeladene Version des NDK ausgewählt.
Verwenden Sie das Attribut android.ndkVersion
im Modul
build.gradle
-Datei, um den vom Plug-in ausgewählten Standardwert zu überschreiben.
Vereinfachte Generierung von R-Klassen
Das Android Gradle-Plug-in vereinfacht den Compile-Classpath, indem für jedes Bibliotheksmodul in Ihrem Projekt nur eine R-Klasse generiert und diese R-Klassen für andere Modulabhängigkeiten freigegeben werden. Diese Optimierung sollte zu schnelleren Builds führen. Beachten Sie dabei Folgendes:
- Da der Compiler R-Klassen mit dem vorgelagerten Modul teilt müssen Sie für jedes Modul Ihres Projekts eindeutigen Paketnamen.
- Die Sichtbarkeit der R-Klasse einer Bibliothek für andere Projektabhängigkeiten
wird durch die Konfiguration bestimmt, die verwendet wird, um die Bibliothek als
Abhängigkeit. Wenn Bibliothek A beispielsweise Bibliothek B als „api“-Abhängigkeit enthält, haben Bibliothek A und andere Bibliotheken, die von Bibliothek A abhängen, Zugriff auf die R-Klasse von Bibliothek B. Andere Bibliotheken haben jedoch möglicherweise
Zugriff auf die R-Klasse von
Bibliothek B. Wenn Bibliothek A den Parameter
Konfiguration der
implementation
-Abhängigkeit. Weitere Informationen Mehr erfahren Sie mehr über Abhängigkeit Konfigurationen
Ressourcen entfernen, die in der Standardkonfiguration fehlen
Wenn Sie für Bibliotheksmodule eine Ressource für eine Sprache hinzufügen,
nicht zum Standardsatz von Ressourcen gehören, z. B. wenn Sie
hello_world
als String-Ressource in
/values-es/strings.xml
, aber Sie definieren diese Ressource nicht in
/values/strings.xml
: Das Android-Gradle-Plug-in wurde eingestellt.
diese Ressource beim Kompilieren des Projekts enthält. Diese Verhaltensänderung
sollte zu weniger Resource Not Found
Laufzeitausnahmen führen
und eine schnellere Build-Erstellung.
D8 hält jetzt die CLASS-Aufbewahrungsrichtlinie für Anmerkungen ein
Beim Kompilieren Ihrer App berücksichtigt D8 jetzt, wenn Anmerkungen eine CLASS-Aufbewahrungsrichtlinie anwenden, und diese Anmerkungen sind zur Laufzeit nicht mehr verfügbar. Dieses Verhalten tritt auch auf, wenn Sie das Ziel-SDK der App auf API-Level 23 festlegen. Bei älteren Versionen des Android Gradle-Plug-ins und von D8 war es zuvor möglich, während der Laufzeit auf diese Anmerkungen zuzugreifen, wenn die App kompiliert wurde.
Sonstige Verhaltensänderungen
-
aaptOptions.noCompress
ist auf allen Plattformen (sowohl für APKs als auch für Bundles) nicht mehr groß- und kleinschreibungsempfindlich und berücksichtigt Pfade mit Großbuchstaben. -
Die Datenbindung ist jetzt standardmäßig inkrementell. Weitere Informationen finden Sie unter Problem 110061530.
-
Alle Einheitentests, einschließlich Roboelectric-Einheitentests, sind jetzt vollständig Cache-fähig sind. Weitere Informationen finden Sie unter issue #115873047.
Fehlerkorrekturen
Diese Version des Android Gradle-Plug-ins enthält die folgenden Fehlerkorrekturen:
- Robolectric-Unit-Tests werden jetzt in Bibliotheksmodulen unterstützt, die Datenbindung verwenden. Weitere Informationen finden Sie unter issue #126775542.
- Sie können jetzt
connectedAndroidTest
-Aufgaben in mehreren Modulen ausführen, wenn der parallele Ausführungsmodus von Gradle aktiviert ist.
Bekannte Probleme
In diesem Abschnitt werden bekannte Probleme im Android-Gradle-Plug-in beschrieben. 3.6.0
Langsame Leistung der Android Lint-Aufgabe
Bei einigen Projekten kann die Ausführung von Android Lint aufgrund einer Regression der Parseinfrastruktur viel länger dauern. Dies führt zu einer langsameren Berechnung der abgeleiteten Typen für Lambdas in bestimmten Codekonstrukten.
Das Problem wird gemeldet als ein Programmfehler in IDEA und wird im Android-Gradle-Plug-in 4.0 behoben.
Manifestklasse {:#agp-missing-manifest} fehlt
Wenn Ihre App benutzerdefinierte Berechtigungen in ihrem Manifest definiert, generiert das Android Gradle-Plug-in normalerweise eine Manifest.java
-Klasse, die Ihre benutzerdefinierten Berechtigungen als Stringkonstanten enthält. Die Plug-in-Pakete
mit Ihrer App kombinieren, damit Sie diese einfacher
Berechtigungen während der Laufzeit.
Das Generieren der Manifestklasse funktioniert im Android Gradle-Plug-in 3.6.0 nicht.
Wenn Sie Ihre App mit dieser Version des Plug-ins erstellen und sie auf die Manifestklasse verweist, wird möglicherweise eine ClassNotFoundException
-Ausnahme angezeigt. Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
-
Verweisen Sie auf Ihre benutzerdefinierten Berechtigungen mit dem voll qualifizierten Namen. Beispiel:
"com.example.myapp.permission.DEADLY_ACTIVITY"
-
Definieren Sie Ihre eigenen Konstanten, wie unten gezeigt:
public final class CustomPermissions { public static final class permission { public static final String DEADLY_ACTIVITY="com.example.myapp.permission.DEADLY_ACTIVITY"; } }
3.5.0 (August 2019)
Android-Gradle-Plug-in 3.5.0 mit Android Studio 3.5 ist eine wichtige Version und ein Ergebnis des Projekts Marble, das sich auf die Verbesserung der Android-Entwicklertools: Systemzustand, Funktionsverbesserung und Fehler beheben. Insbesondere Verbesserung des Projekts Build-Geschwindigkeit war bei diesem Update der Schwerpunkt.
Informationen zu diesen und anderen Updates für Project Marble finden Sie in der Android Entwickler-Blogpost oder in den Abschnitten unten.
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
-
Gradle 5.4.1 Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
-
SDK-Build-Tools 28.0.3 oder höher.
Dieses kleine Update unterstützt die Kompatibilität mit neuen Standardeinstellungen und Funktionen für Paketsichtbarkeit für Android 11.
Weitere Informationen finden Sie in den Versionshinweisen zur Version 4.0.1.
3.5.3 (Dezember 2019)
Dieses kleine Update unterstützt Android Studio 3.5.3 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen.
3.5.2 (November 2019)
Dieses kleine Update unterstützt Android Studio 3.5.2 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste mit wichtigen Fehlerkorrekturen finden Sie im entsprechenden Beitrag auf der Blog „Release Updates“
3.5.1 (Oktober 2019)
Dieses Minor-Update unterstützt Android Studio 3.5.1 und enthält verschiedene Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog zu Release-Updates.
Inkrementelle Annotationsverarbeitung
Der Data Binding-Anmerkungs-Prozessor unterstützt die inkrementelle Anmerkungsverarbeitung, wenn Sie in der Datei gradle.properties
die Option android.databinding.incremental=true
festlegen. Diese Optimierung führt zu einer verbesserten Leistung bei inkrementellen Builds. Eine vollständige Liste der optimierten Annotierungs-Prozessoren finden Sie in der Tabelle der inkrementellen Annotierungs-Prozessoren.
Darüber hinaus unterstützen KAPT 1.3.30 und höher auch inkrementelle Annotationen
Prozessoren, die Sie aktivieren können, indem Sie kapt.incremental.apt=true
in
Ihre gradle.properties
-Datei.
Im Cache speicherbare Einheitentests
Wenn Sie Einheitentests zur Verwendung von Android-Ressourcen, -Assets und
Manifeste nach Einstellung
includeAndroidResources
auf true
gesetzt ist, generiert das Android-Gradle-Plug-in eine Testkonfigurationsdatei
die absolute Pfade enthalten, was dazu führt, dass die Cache-Relokation nicht mehr funktioniert. Sie können das Plug-in anweisen, die Testkonfiguration stattdessen mit relativen Pfaden zu generieren. Dadurch kann die AndroidUnitTest
-Aufgabe vollständig im Cache gespeichert werden. Fügen Sie dazu Folgendes in die gradle.properties
-Datei ein:
android.testConfig.useRelativePath = true
Bekannte Probleme
-
Wenn Sie das Kotlin Gradle-Plug-in 1.3.31 oder älter verwenden, wird beim Erstellen oder Synchronisieren Ihres Projekts möglicherweise die folgende Warnung angezeigt:
WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced with 'variant.getPackageLibraryProvider()'.
Aktualisieren Sie das Plug-in auf Version 1.3.40 oder höher, um dieses Problem zu beheben.
3.4.0 (April 2019)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
-
Gradle 5.1.1 oder höher. Weitere Informationen finden Sie im Abschnitt Gradle aktualisieren.
Hinweis: Bei Verwendung von Gradle 5.0 und höher wird der Standard-Heap-Größe des Gradle-Daemon-Arbeitsspeichers von 1 GB auf 512 MB reduziert. Dies kann zu einer Verschlechterung der Buildleistung führen. Wenn Sie diese Standardeinstellung überschreiben möchten, geben Sie die Heap-Größe des Gradle-Daemons in der
gradle.properties
-Datei Ihres Projekts an. -
SDK-Build-Tools 28.0.3 oder höher.
Dieses kleine Update unterstützt die Kompatibilität mit neuen Standardeinstellungen und Funktionen für Paketsichtbarkeit für Android 11.
Weitere Informationen finden Sie in den Versionshinweisen zur Version 4.0.1.
3.4.2 (Juli 2019)
Dieses kleine Update unterstützt Android Studio 3.4.2 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog zu Release-Updates.
3.4.1 (Mai 2019)
Dieses kleine Update unterstützt Android Studio 3.4.1 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste mit wichtigen Fehlerkorrekturen finden Sie im entsprechenden Beitrag auf der Blog „Release Updates“
Neue Funktionen
-
Neue Lint-Überprüfungsabhängigkeitskonfigurationen: Das Verhalten von
lintChecks
hat sich geändert und es gibt eine neue Abhängigkeit. wird die KonfigurationlintPublish
eingeführt, um Sie haben mehr Kontrolle darüber, welche Lint-Prüfungen Bibliotheken.-
lintChecks
: Dies ist eine vorhandene Konfiguration, die die Sie für Lint-Prüfungen verwenden, die nur beim Erstellen von lokal zu Ihrem Projekt. Wenn Sie zuvor dielintChecks
-Abhängigkeitskonfiguration verwendet haben, um Lint-Prüfungen in die veröffentlichte AAR aufzunehmen, müssen Sie diese Abhängigkeiten migrieren, um stattdessen die unten beschriebene neuelintPublish
-Konfiguration zu verwenden. -
lintPublish
: Verwenden Sie diese neue Konfiguration in Bibliotheksprojekten für Lint-Prüfungen, die in die veröffentlichte AAR aufgenommen werden sollen, wie unten dargestellt. Das bedeutet, dass diese Lint-Prüfungen auch auf Projekte angewendet werden, die Ihre Bibliothek verwenden.
Im folgenden Codebeispiel werden beide Abhängigkeitskonfigurationen in einem lokalen Android-Bibliotheksprojekt verwendet.
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks project(':lint') // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish project(':lintpublish') }
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks(project(":lint")) // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish(project(":lintpublish")) }
-
Im Allgemeinen sollte beim Erstellen von Paketen und Signieren ein Gesamt-Build angezeigt werden. um die Geschwindigkeit zu erhöhen. Wenn Sie eine Leistungsverschlechterung im Zusammenhang mit diesen Aufgaben feststellen, melden Sie bitte einen Fehler.
-
Geändertes Verhalten
-
Warnung zur Einstellung des Android Instant Apps-Funktions-Plug-ins: Wenn Sie zum Erstellen Ihrer Instant App weiterhin das
com.android.feature
-Plug-in verwenden, erhalten Sie mit dem Android Gradle-Plug-in 3.4.0 eine Warnung zur Einstellung. Damit Sie Ihre Instant-App auch in zukünftigen Versionen des Plug-ins erstellen können, sollten Sie sie auf das Plug-in für dynamische Funktionen umstellen. So können Sie sowohl Ihre installierbare App als auch Ihre Instant-App über ein einziges Android App Bundle veröffentlichen. -
R8 standardmäßig aktiviert: R8 integriert Desugaring, Schrumpfen, Verschleierung, Optimierung und Dexing in einem Schritt. Das führt zu erheblichen Verbesserungen der Build-Leistung. R8 wurde im Android-Gradle-Plug-in 3.3.0 eingeführt und ist jetzt standardmäßig sowohl für App- als auch für Android-Bibliotheksprojekte aktiviert. mit Plug-in 3.4.0 und höher.
Das folgende Bild bietet einen allgemeinen Überblick über den Kompilierungsprozess vor der Einführung von R8.

Mit R8 werden Desugaring, Schrumpfen, Verschleierung, Optimierung und Dexing (D8) jetzt in einem Schritt ausgeführt, wie unten dargestellt.

R8 ist für die Verwendung mit Ihren vorhandenen ProGuard-Regeln konzipiert. Sie müssen also wahrscheinlich nichts unternehmen, um von R8 zu profitieren. Sie können jedoch da es sich um eine andere Technologie als ProGuard handelt, Bei Android-Projekten kann eine Reduzierung und Optimierung dazu führen, dass Code entfernt wird. die es bei ProGuard vielleicht nicht gibt. In diesem unwahrscheinlichen Fall müssen Sie möglicherweise zusätzliche Regeln hinzufügen, damit dieser Code in der Build-Ausgabe enthalten bleibt.
Wenn bei der Verwendung von R8 Probleme auftreten, lesen Sie die häufig gestellten Fragen zur Kompatibilität von R8, um zu sehen, ob es eine Lösung für Ihr Problem gibt. Wenn eine Lösung nicht dokumentiert ist,
melden Sie den Fehler.
Sie können R8 deaktivieren, indem Sie der gradle.properties
-Datei Ihres Projekts eine der folgenden Zeilen hinzufügen:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Hinweis:Wenn Sie für einen bestimmten Build-Typ
useProguard
bis false
in deiner App
build.gradle
verwendet, nutzt das Android-Gradle-Plug-in R8
um den Code Ihrer App für diesen Build-Typ zu verkleinern, unabhängig davon, ob Sie
deaktivieren Sie R8 in der gradle.properties
-Datei Ihres Projekts.
-
ndkCompile
wurde eingestellt:Sie erhalten jetzt ein Build-Fehler, wenn Sie versuchen, Ihre Datei mitndkBuild
zu kompilieren native Bibliotheken. Sie sollten stattdessen entweder CMake oder ndk-build verwenden, Fügen Sie C- und C++-Code Projekt.
Bekannte Probleme
-
Die korrekte Verwendung eindeutiger Paketnamen wird derzeit nicht erzwungen wird jedoch in späteren Versionen des Plug-ins strenger sein. Mit der Android-Gradle-Plug-in-Version 3.4.0 können Sie prüfen, ob Ihr Projekt zulässige Paketnamen deklariert. Fügen Sie dazu der Datei
gradle.properties
die folgende Zeile hinzu.android.uniquePackageNames = true
Weitere Informationen zum Festlegen eines Paketnamens über das Android Gradle-Plug-in finden Sie unter Anwendungs-ID festlegen.
3.3.0 (Januar 2019)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
-
Gradle 4.10.1 oder höher Weitere Informationen finden Sie im Abschnitt Gradle aktualisieren.
Hinweis: Bei Verwendung von Gradle 5.0 und höher wird der Standard Die Arbeitsspeicher-Heap-Größe des Gradle-Daemon verringert sich von 1 GB auf 512 MB. Dieses die Build-Leistung beeinträchtigen kann. Wenn Sie diese Standardeinstellung überschreiben möchten, geben Sie die Gradle-Daemon-Heap-Größe in der
gradle.properties
-Datei Ihres Projekts an. -
SDK Build Tools 28.0.3 oder höher.
Dieses Minor-Update unterstützt die Kompatibilität mit neuen Standardeinstellungen und Funktionen für die Paketsichtbarkeit unter Android 11.
Weitere Informationen finden Sie in den Versionshinweisen zur Version 4.0.1.
3.3.2 (März 2019)
Dieses kleine Update unterstützt Android Studio 3.3.2 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen. Eine Liste der wichtigsten Fehlerkorrekturen finden Sie im entsprechenden Beitrag im Blog zu Release-Updates.
3.3.1 (Februar 2019)
Dieses kleine Update unterstützt Android Studio 3.3.1 und enthält verschiedene Fehler Fehlerkorrekturen und Leistungsverbesserungen.
Neue Funktionen
-
Verbesserte Synchronisierung von Klassenpfaden: Bei der Auflösung von Laufzeit- und Kompilierungszeit-Klassenpfaden, die Android- Das Gradle-Plug-in versucht, bestimmte nachgelagerte Versionskonflikte für die über mehrere Klassenpfade hinweg auftreten.
Wenn der Laufzeit-Klassenpfad beispielsweise die Bibliothek A Version 2.0 und den Compiler Klassenpfad enthält Library A Version 1.0. Das Plug-in wird automatisch aktualisiert die Abhängigkeit vom kompilierten Klassenpfad für Library A Version 2.0 auf vermeiden Sie Fehler.
Wenn der Laufzeit-Klassenpfad jedoch die Bibliothek A Version 1.0 und den enthält Library A Version 2.0, führt das Plug-in kein Downgrade der vom Kompilierungsklassenpfad zu Bibliothek A Version 1.0. Fehler. Weitere Informationen finden Sie unter Konflikte beheben zwischen Klassenpfaden.
-
Verbesserte inkrementelle Java-Kompilierung bei Verwendung von Annotationen Prozessoren: Durch diese Aktualisierung wird die Build-Zeit verkürzt, da die Unterstützung für inkrementelle Java-Anwendungen verbessert wird. Kompilierung bei Verwendung von Annotationsprozessoren.
Hinweis: Diese Funktion ist mit Gradle 4.10.1 und höher kompatibel, mit Ausnahme von Gradle 5.1 aufgrund von Gradle-Problem 8194.
-
Für Projekte mit Kapt (die meisten reinen Kotlin-Projekte und Kotlin-Java-Hybridprojekte): Die inkrementelle Java-Kompilierung ist aktiviert, auch wenn Sie Data Binding oder das Retro-Lambda-Plug-in verwenden. Die Anmerkungsverarbeitung durch die Kapt-Aufgabe ist noch nicht inkrementell.
-
Für Projekte, die Kapt nicht verwenden (nur Java-Projekte): Wenn Die von Ihnen verwendeten Annotationsprozessoren inkrementelle Annotationsverarbeitung, Die inkrementelle Java-Kompilierung ist standardmäßig aktiviert. Informationen zur Einführung des schrittweisen Annotationseintrags finden Sie unter Gradle-Problem 5277.
Wenn jedoch mindestens einer der Anmerkungs-Prozessoren keine inkrementellen Builds unterstützt, wird die inkrementelle Java-Kompilierung nicht aktiviert. Stattdessen können Sie das folgende Flag in die
gradle.properties
-Datei einfügen:android.enableSeparateAnnotationProcessing=true
Wenn Sie dieses Flag angeben, führt das Android Gradle-Plug-in die Anmerkungs-Prozessoren in einer separaten Aufgabe aus und ermöglicht die inkrementelle Ausführung der Java-Kompilierungsaufgabe.
-
-
Bessere Informationen zur Fehlerbehebung bei Verwendung einer veralteten API:Wenn das erkennt das Plug-in, dass nicht mehr unterstützte API verwenden, kann sie Ihnen jetzt detailliertere Informationen, mit denen Sie feststellen können, wo die API verwendet wird. Um diese zusätzlichen Informationen zu sehen, müssen Sie Folgendes in Ihre
gradle.properties
-Datei des Projekts hinzugefügt:android.debug.obsoleteApi=true
Sie können das Flag auch über die Befehlszeile aktivieren, indem Sie
-Pandroid.debug.obsoleteApi=true
übergeben. -
Sie können Instrumentierungstests für Funktionsmodule über den Befehl Zeile.
Geändertes Verhalten
-
Konfiguration für verzögerte Aufgaben:Das Plug-in verwendet jetzt Neue Aufgabenerstellungs-API von Gradle um das Initialisieren und Konfigurieren von Aufgaben zu vermeiden, die nicht für die Ausführung erforderlich sind den aktuellen Build (oder Aufgaben, die sich nicht in der Grafik der Ausführungsaufgabe befinden) Beispiel: Sie haben mehrere Build-Varianten, z. B. „Release“ und „Debuggen“. und Sie die Debug-Version Ihrer Anwendung erstellen, es wird vermieden, Aufgaben für die Release-Version Ihres
Durch Aufrufen bestimmter älterer Methoden in der Variants API, z. B.
variant.getJavaCompile()
erzwingt möglicherweise trotzdem die Aufgabenkonfiguration. Damit Ihr Build für die Lazy-Task-Konfiguration optimiert ist, rufen Sie neue Methoden auf, die stattdessen ein TaskProvider-Objekt wievariant.getJavaCompileProvider()
zurückgeben.Wenn Sie benutzerdefinierte Build-Aufgaben ausführen, erfahren Sie hier, wie Sie die neue API zum Erstellen von Aufgaben in Gradle anpassen.
-
Beim Festlegen von
useProguard false
für einen bestimmten Build-Typ wird das Plug-in jetzt verwendet R8 anstelle von ProGuard, um den Code Ihrer App zu verkleinern und zu verschleiern Ressourcen. Weitere Informationen zu R8 finden Sie unter in diesem Blogpost im Blog für Android-Entwickler. -
Schnellere Generierung von R-Klassen für Bibliotheksprojekte: Bisher generierte das Android Gradle-Plug-in für jede Abhängigkeit Ihres Projekts eine
R.java
-Datei und kompilierte diese R-Klassen dann zusammen mit den anderen Klassen Ihrer App. Das Plug-in generiert nun eine JAR-Datei, die die kompilierte R-Klasse Ihrer App enthält. direkt ausführen, ohne zuvorR.java
-Zwischenklassen zu erstellen. Dieses Optimierung die Build-Leistung für Projekte, die umfassen viele Bibliotheksunterprojekte und ‐abhängigkeiten und verbessern die Indexierung in Android Studio zu verbessern. -
Beim Erstellen eines Android App Bundle werden APKs, die aus enthält das App Bundle für Android 6.0 (API-Level 23) oder höher standardmäßig unkomprimierte Versionen Ihrer nativen Bibliotheken. Diese Optimierung das Gerät muss keine Kopie der Bibliothek erstellen und reduziert so der Größe auf dem Laufwerk Ihrer Anwendung. Falls Sie diese Optimierung lieber deaktivieren möchten, fügen Sie Folgendes in die Datei
gradle.properties
einfügen:android.bundle.enableUncompressedNativeLibs = false
-
Das Plug-in erzwingt die Mindestversionen einiger Drittanbieter-Plug-ins.
-
Projektsynchronisierung mit einer Variante: Projekt synchronisieren mit Ihrer Build-Konfiguration ist ein wichtiger Schritt, damit Android Studio wie Ihr Projekt strukturiert ist. Dieser Prozess kann jedoch bei großen Projekten sehr zeitaufwändig. Wenn Ihr Projekt mehrere Builds verwendet können Sie die Projektsynchronisierungen jetzt optimieren, indem Sie sie nur auf die die aktuell ausgewählte Variante.
Sie müssen Android Studio 3.3 oder höher mit dem Android-Gradle-Plug-in 3.3.0 verwenden. oder höher, um diese Optimierung zu aktivieren. Wenn Sie diese Anforderungen erfüllen, werden Sie in der IDE aufgefordert, diese Optimierung zu aktivieren, wenn Sie Ihr Projekt synchronisieren. Die ist die Optimierung bei neuen Projekten standardmäßig aktiviert.
Wenn Sie diese Optimierung manuell aktivieren möchten, klicken Sie auf Datei > Einstellungen > Experimentell > Gradle (Android Studio > Einstellungen > Experimentell > Gradle auf einem Mac) und setzen Sie ein Häkchen in das Kästchen Nur die aktive Variante synchronisieren.
Hinweis: Diese Optimierung unterstützt vollständig Projekte, die umfasst Java und C++ und bietet teilweise Unterstützung für Kotlin. Wenn Sie die Optimierung für Projekte mit Kotlin-Inhalten aktivieren, verwendet die Gradle-Synchronisierung intern die vollständigen Varianten.
-
Automatischer Download fehlender SDK-Pakete: Diese Funktion wurde um die Unterstützung des NDK erweitert. Weitere Informationen finden Sie unter Automatischer Download fehlt mit Gradle.
Fehlerkorrekturen
-
Android-Gradle-Plug-in 3.3.0 behebt die folgenden Probleme:
- Der Build-Prozess ruft
android.support.v8.renderscript.RenderScript
anstelle der AndroidX-Version auf, obwohl Jetifier aktiviert ist - Konflikte aufgrund von
androidx-rs.jar
, einschließlich statisch gebündeltannotation.AnyRes
- Wenn Sie RenderScript verwenden, müssen Sie die Build-Tools nicht mehr manuell festlegen.
Version in deinen
build.gradle
-Dateien
- Der Build-Prozess ruft
3.2.0 (September 2018)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
- Gradle 4.6 oder höher liegen. Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
- SDK Build Tools 28.0.3 oder höher
3.2.1 (Oktober 2018)
Mit diesem Update musst du keine Version mehr für das SDK Build angeben Tools. Das Android-Gradle-Plug-in verwendet jetzt standardmäßig die Version 28.0.3.
Neue Funktionen
-
Unterstützung für die Erstellung von Android App Bundles:Das App Bundle ist ein neuer Upload. das den gesamten kompilierten Code und die Ressourcen Ihrer App enthält, während die APK-Generierung und -Signatur im Google Play Store aufgeschoben wird. Sie haben nicht mehr müssen mehrere APKs erstellen, signieren und verwalten und Nutzer erzielen kleinere Downloads die für ihr Gerät optimiert sind. Weitere Informationen finden Sie unter Android App Bundles
-
Unterstützung für verbesserte inkrementelle Build-Geschwindigkeiten bei Verwendung von Annotationsprozessoren: Die
AnnotationProcessorOptions
DSL erweitert jetztCommandLineArgumentProvider
, mit der entweder Sie oder der Autor des Annotationsverarbeiters Anmerkungen Argumente für den Prozessor mithilfe von Annotationen des inkrementellen Build-Property-Typs. Diese Anmerkungen verbessern die Richtigkeit und Leistung der inkrementelle und im Cache gespeicherte bereinigte Builds. Weitere Informationen finden Sie unter Argumente an Anmerkungs-Prozessoren übergeben. -
Migrationstool für AndroidX:Bei Verwendung des Android-Gradle-Plug-ins 3.2.0 mit Android 3.2 und höher können Sie die lokalen und Maven-Daten Ihres Projekts migrieren. um die neuen AndroidX-Bibliotheken zu verwenden, indem Sie Refaktorieren > Migrieren Sie über die Menüleiste zu AndroidX. Außerdem werden mit diesem Migrationstool die folgenden Flags in der Datei
gradle.properties
auftrue
gesetzt:-
android.useAndroidX
:Wenn dieser Wert auftrue
gesetzt ist, verwendet das Android-Plug-in das AndroidX-Bibliothek anstelle einer Support-Bibliothek. Wenn dieses Flag nicht angegeben ist, wird vom Plug-in standardmäßigfalse
festgelegt. -
android.enableJetifier
:Wenn auftrue
gesetzt, wird das Android-Plug-in Bibliotheken von Drittanbietern automatisch auf AndroidX um, ihre Binärdateien umschreiben. Wenn dieses Flag nicht angegeben ist, wird es vom Plug-in standardmäßig auffalse
gesetzt. Sie können dieses Flag nur dann auftrue
setzen, wenn auchandroid.useAndroidX
auftrue
gesetzt ist. Andernfalls wird ein Buildfehler ausgegeben.Weitere Informationen finden Sie in der AndroidX-Übersicht.
-
-
Neues Tool zur Codekomprimierung: R8: R8 ist ein neues Tool zur Codekomprimierung und Verschleierung, das ProGuard ersetzt. Sie können die Vorabversion von R8 nutzen, indem Sie Fügen Sie Folgendes in die
gradle.properties
-Datei Ihres Projekts ein:android.enableR8 = true
android.enableR8 = true
Geändertes Verhalten
-
Die Entsaccharisierung mit D8 ist jetzt standardmäßig aktiviert.
-
AAPT2 befindet sich jetzt im Maven-Repository von Google. Damit Sie AAPT2 verwenden können, müssen Sie haben die Abhängigkeit
google()
in Ihrerbuild.gradle
wie unten dargestellt:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Natives Multidex ist jetzt standardmäßig aktiviert. Vorherige Android-Versionen Studio hat natives Multidex aktiviert, wenn die Debug-Version einer App in einem Gerät mit Android API-Level 21 oder höher. Unabhängig davon, ob Sie oder ein APK für die Veröffentlichung erstellen, ist das Android-Gradle-Plug-in aktiviert natives Multidex für alle Module, die
minSdkVersion=21
oder höher. -
Das Plug-in erzwingt jetzt eine Mindestversion des protobuf-Plug-ins (0.8.6), Kotlin-Plug-in (1.2.50) und Crashlytics-Plug-in (1.25.4).
-
Das Plug-in für das Feature-Modul,
com.android.feature
, jetzt erzwingt die Verwendung von nur Buchstaben, Ziffern und Unterstrichen bei der Angabe von einen Modulnamen. Wenn der Name Ihres Funktionsmoduls beispielsweise Bindestriche enthält, erhalten Sie einen Build-Fehler. Dieses Verhalten entspricht dem der dynamischen Funktion .
Fehlerkorrekturen
- JavaCompile kann jetzt in Projekten mit Datenbindung im Cache gespeichert werden. (Problem 69243050)
- Bessere Vermeidung von Kompilierungen für Bibliotheksmodule mit Datenbindung. (Problem 77539932)
- Sie können sie jetzt wieder aktivieren on demand konfigurieren wenn Sie es in früheren Versionen aufgrund von unvorhersehbaren Build-Fehlern. (Problem 77910727)
3.1.0 (März 2018)
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
-
Gradle 4.4 oder höher.
Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
-
Build-Tools 27.0.3 oder höher.
Denken Sie daran, dass Sie keine Version mehr für den Build angeben müssen. Tools mit dem Attribut
android.buildToolsVersion
, dem Das Plug-in verwendet standardmäßig die erforderliche Mindestversion.
Neuer DEX-Compiler, D8
Android Studio verwendet jetzt standardmäßig einen neuen DEX-Compiler namens D8. Bei der DEX-Kompilierung wird .class
-Bytecode in .dex
-Bytecode für die Android Runtime (oder Dalvik für ältere Android-Versionen) umgewandelt. Im Vergleich zum vorherigen Compiler, DX, kompiliert D8 schneller und gibt kleinere DEX-Dateien aus. Dabei ist die Leistung der App-Laufzeit gleich oder besser.
D8 sollte deinen täglichen Workflow für die App-Entwicklung nicht verändern. Wenn jedoch
wenn Sie Probleme mit dem neuen Compiler haben,
Fehler melden Sie können vorübergehend
Deaktivieren Sie D8 und verwenden Sie DX, indem Sie Folgendes in das
gradle.properties
-Datei:
android.enableD8=false
Bei Projekten, in denen Java 8-Sprachfunktionen verwendet werden, ist die inkrementelle Desugaring-Funktion standardmäßig aktiviert. Sie können sie deaktivieren, indem Sie
Geben Sie Folgendes in der Datei gradle.properties
Ihres Projekts an:
android.enableIncrementalDesugaring=false.
Vorschau für Nutzer:Wenn Sie bereits eine Vorabversion von D8 verwenden, beachten Sie der jetzt anhand von Bibliotheken kompiliert wird, die im SDK-Build-Tools – nicht das JDK Wenn Sie also auf APIs zugreifen, die im JDK, aber nicht in den Bibliotheken der SDK-Build-Tools vorhanden sind, erhalten Sie einen Kompilierungsfehler.
Geändertes Verhalten
-
Wenn Sie mehrere APKs erstellen, die jeweils auf ein anderes ABI ausgerichtet sind, werden standardmäßig keine APKs mehr für die folgenden ABIs generiert:
mips
,mips64
undarmeabi
.Wenn Sie APKs erstellen möchten, die auf diese ABIs ausgerichtet sind, müssen Sie NDK r16b oder niedriger verwenden und die ABIs in Ihrer
build.gradle
-Datei angeben, wie unten gezeigt:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Der Build des Android-Plug-ins Im Cache werden jetzt Cache-Einträge entfernt, die älter als 30 Tage sind.
-
Übergeben von
"auto"
anresConfig
wählt nicht mehr automatisch Zeichenfolgenressourcen für das Paket in Ihrem APK aus. Wenn Sie"auto"
weiterhin verwenden, werden alle Stringressourcen, die von Ihrer App und ihren Abhängigkeiten bereitgestellt werden, vom Plug-in verpackt. Sie sollten stattdessen jede Sprache angeben, die das Plug-in in Ihre APK-Datei einbinden soll. -
Da lokale Module nicht vom Test-APK Ihrer App abhängen können, sollten Sie zu Ihren instrumentierten Tests hinzufügen, indem Sie die
androidTestApi
-Konfiguration anstelle vonandroidTestImplementation
, führt Gradle dazu, dass folgende Warnung:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das Android Studio Abhängigkeiten in zusammengesetzten Builds nicht richtig erkannte.
- Es wurde ein Problem behoben, bei dem beim Laden des Android-Plug-ins mehrmals in einem einzigen Build ein Projektsynchronisierungsfehler auftritt, z. B. wenn mehrere Unterprojekte das Android-Plug-in jeweils in ihrem Build-Script-Classpath enthalten.
3.0.0 (Oktober 2017)
Das Android-Gradle-Plug-in 3.0.0 enthält eine Vielzahl von Änderungen, die Leistungsprobleme bei großen Projekten beheben sollen.
Beispiel: Auf einer Beispielskelett Projekt mit ca. 130 Modulen und einer großen Anzahl externer Abhängigkeiten (aber keinen Code oder Ressourcen) haben, können Leistungsverbesserungen etwa so:
Version des Android-Plug-ins und Gradle-Version | Android-Plug-in 2.2.0 + Gradle 2.14.1 | Android-Plug-in 2.3.0 + Gradle 3.3 | Android-Plug-in 3.0.0 + Gradle 4.1 |
---|---|---|---|
Konfiguration (z.B. ./gradlew --help ausführen) |
~ 2 Min. | ~9 s | ~ 2,5 s |
Änderung bei einzeiliger Java-Version (Implementierungsänderung) | ~2 Min. 15 Sek. | ~29 Sek. | ~6,4 Sek. |
Einige dieser Änderungen führen dazu, dass vorhandene Builds nicht mehr funktionieren. Sie sollten sich also überlegen,\ um Ihr Projekt vor der Verwendung des neuen Plug-ins zu migrieren.
Wenn Sie die oben beschriebenen Leistungsverbesserungen nicht feststellen, erstellen Sie bitte einen Fehlerbericht und fügen Sie einen Build-Trace mit dem Gradle Profiler hinzu.
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
- Gradle 4.1 oder höher Weitere Informationen finden Sie im Abschnitt zum Aktualisieren von Gradle.
-
Build-Tools 26.0.2
oder höher. Mit diesem Update müssen Sie keine Version mehr für
den Build-Tools – das Plug-in verwendet standardmäßig die mindestens erforderliche Version.
Sie können die Property
android.buildToolsVersion
jetzt entfernen.
3.0.1 (November 2017)
Dies ist ein kleineres Update zur Unterstützung von Android Studio 3.0.1, das allgemeine Fehlerkorrekturen und Leistungsverbesserungen.
Optimierungen
- Bessere Parallelität für Projekte mit mehreren Modulen durch eine detaillierte in der Aufgabengrafik.
- Bei Änderungen an der Abhängigkeit führt Gradle Builds schneller aus, da
Module, die keinen Zugriff auf die API dieser Abhängigkeit haben, werden neu kompiliert.
Sie sollten einschränken, welche Abhängigkeiten ihre APIs an andere Module weitergeben, indem Sie
verwenden
Die neuen Abhängigkeitskonfigurationen von Gradle:
implementation
,api
,compileOnly
undruntimeOnly
. - Schnellere inkrementelle Build-Geschwindigkeit durch Dexing pro Klasse. Jede Klasse ist
in separate DEX-Dateien kompiliert und nur die Klassen, die
geändert wurden. Außerdem können Sie die Build-Geschwindigkeit für
Apps, die
minSdkVersion
auf 20 oder niedriger setzen und Legacy-Multi-Dex. - Die Build-Geschwindigkeit wurde verbessert, indem bestimmte Aufgaben für die Verwendung von gecachten Ausgaben optimiert wurden. Damit Sie von dieser Optimierung profitieren können, müssen Sie zuerst den Gradle-Build-Cache aktivieren.
- Verbesserte inkrementelle Ressourcenverarbeitung mit AAPT2.
ist standardmäßig aktiviert. Wenn bei der Verwendung von AAPT2 Probleme auftreten,
melden Sie den Fehler. Sie können auch
deaktivieren Sie AAPT2, indem Sie
android.enableAapt2=false
in Ihremgradle.properties
und starten Sie den Gradle-Daemon neu,./gradlew --stop
über die Befehlszeile ausführen.
Neue Funktionen
- Variantensensitive Abhängigkeit Verwaltung von Google-Produkten. Beim Erstellen einer bestimmten Variante eines Moduls gleicht das Plug-in jetzt automatisch die Varianten der Abhängigkeiten von lokalen Bibliotheksmodulen mit der Variante des Moduls ab, das Sie erstellen.
- Enthält ein neues Feature-Modul-Plug-in zur Unterstützung von Android Instant Apps und dem Android Instant Apps SDK (das Sie über den SDK-Manager herunterladen können). Weitere Informationen zum Erstellen von Funktionsmodulen mit dem neuen Plug-in finden Sie unter Aufbau eines Instant-App mit mehreren Funktionen.
- Integrierte Unterstützung für die Verwendung bestimmter Java 8-Sprachfunktionen und Java 8 Bibliotheken. Jack wurde eingestellt und ist nicht mehr erforderlich. Sie sollten Jack zuerst deaktivieren, um die verbesserte Java 8-Unterstützung zu verwenden, die in der Standard-Toolchain enthalten ist. Weitere Informationen finden Sie unter Java 8-Sprachfunktionen verwenden
-
Unterstützung für die Ausführung von Tests mit Android Test Orchestrator hinzugefügt. Damit können Sie die Tests Ihrer App in einer eigenen Aufrufinstanz der Instrumentierung ausführen. Da jeder Test für sich läuft, Instrumentierungsinstanz; gemeinsamer Status zwischen Tests wird nicht akkumuliert auf der CPU oder im Speicher Ihres Geräts. Und selbst wenn ein Test abstürzt, nur eine eigene Instrumentierungsinstanz, sodass Ihre anderen Tests weiterhin ausgeführt werden.
testOptions.execution
wurde hinzugefügt, um zu bestimmen, ob verwendet werden soll Testorchestrierung auf dem Gerät. Wenn Sie verwenden Android Test Orchestrator verwenden, müssen Sie angeben,ANDROID_TEST_ORCHESTRATOR
, wie unten gezeigt. Standardmäßig ist auf „HOST
“ festgelegt, wodurch die Einstellung auf dem Gerät deaktiviert wird. Orchestrierung und ist die Standardmethode für die Durchführung von Tests.
Cool
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
-
Die neue Konfiguration für
androidTestUtil
-Abhängigkeiten bietet folgende Möglichkeiten: Installieren Sie ein weiteres Testhilfe-APK, bevor Sie die Instrumentierungstests ausführen. wie Android Test Orchestrator:Groovy
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
testOptions.unitTests.includeAndroidResources
hinzugefügt zu unterstützen Unittests, die Android-Ressourcen erfordern, z. B. Roboelectric – Wenn Sie dies festlegen, auftrue
setzt, führt das Plug-in Ressource, Asset und die Manifestzusammenführung, bevor Sie die Einheitentests ausführen. Ihre Tests können danncom/android/tools/test_config.properties
im Klassenpfad auf die folgenden Schlüssel prüfen:-
android_merged_assets
: der absolute Pfad zum Verzeichnis mit den zusammengeführten Assets.Hinweis: Bei Bibliotheksmodulen enthalten die zusammengeführten Assets nicht die Assets der Abhängigkeiten (siehe Problem #65550419).
-
android_merged_manifest
: der absolute Pfad zum Manifestdatei zusammengeführt. -
android_merged_resources
: Der absolute Pfad zum Verzeichnis mit den zusammengeführten Ressourcen, das alle Ressourcen aus dem Modul und alle zugehörigen Abhängigkeiten enthält. -
android_custom_package
: der Paketname des der letzten R-Klasse. Wenn Sie die Anwendungs-ID dynamisch ändern, Paketname stimmt möglicherweise nicht mit dem Attributpackage
in der App-Manifests.
-
- Unterstützung von Schriftarten (eine neue Funktion, die im Android 8.0 (API-Level 26):
- Unterstützung für sprachspezifische APKs mit dem Android Instant Apps SDK 1.1 und höher
-
Sie können jetzt das Ausgabeverzeichnis für Ihren externen nativen Build ändern wie unten dargestellt:
Groovy
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Sie können jetzt verwenden Sie CMake 3.7 oder , wenn Sie native Projekte in Android Studio erstellen.
-
Die neue Konfiguration für
lintChecks
-Abhängigkeiten bietet folgende Möglichkeiten: eine JAR-Datei erstellen, die benutzerdefinierte Lint-Regeln definiert, und sie in Ihre AAE verpacken und APK-Projekte.Ihre benutzerdefinierten Lint-Regeln müssen zu einem separaten Projekt gehören, das eine einzelne JAR-Datei ausgibt und nur
compileOnly
-Abhängigkeiten enthält. Andere App- und Bibliotheksmodule können dann von Ihrem Lint abhängig sein. mit der KonfigurationlintChecks
erstellen:Cool
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Verhaltensänderungen
- Das Android-Plug-in 3.0.0 entfernt bestimmte APIs und Ihr Build funktioniert nicht
wenn Sie sie verwenden. Sie können beispielsweise nicht mehr die Variants API verwenden, um auf
outputFile()
-Objekte zuzugreifen, oderprocessManifest.manifestOutputFile()
, um die Manifestdatei für jede Variante abzurufen. Weitere Informationen finden Sie unter API-Änderungen. - Sie müssen keine Version mehr für die Build-Tools angeben.
kann jetzt die Property
android.buildToolsVersion
entfernen. Von verwendet das Plug-in automatisch die mindestens erforderlichen Build-Tools. für die Version des Android-Plug-ins, das Sie verwenden. - Du kannst die PNG-Verarbeitung jetzt im
buildTypes
aktivieren/deaktivieren wie unten dargestellt. Die PNG-Komprimierung ist standardmäßig für alle Builds aktiviert, mit Ausnahme von Debug-Builds, da sich die Buildzeit für Projekte mit vielen PNG-Dateien dadurch verlängert. Wenn Sie die Buildzeiten für andere Buildtypen verbessern möchten, sollten Sie entweder die PNG-Komprimierung deaktivieren oder Ihre Bilder in WebP konvertieren.Cool
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Das Android-Plug-in erstellt nun automatisch ausführbare Ziele, die Sie in Ihren externen CMake-Projekten konfigurieren.
- Sie müssen
Anmerkung hinzufügen
Prozessoren zum Prozessor-Klassenpfad mithilfe der Methode
annotationProcessor
-Abhängigkeitskonfiguration. - Die Verwendung des verworfenen
ndkCompile
ist jetzt eingeschränkter. Sie sollten stattdessen entweder CMake oder ndk-build verwenden, um nativen Code zu kompilieren, den Sie in Ihr APK einbinden möchten. Weitere Informationen finden Sie unter Migrieren von ndkcompile enthalten.
3.0.0 (Oktober 2017)
Das Android-Gradle-Plug-in 3.0.0 enthält eine Vielzahl von Änderungen, die Leistungsprobleme bei großen Projekten beheben sollen.
Beispiel: Auf einer Beispielskelett Projekt mit ca. 130 Modulen und einer großen Anzahl externer Abhängigkeiten (aber keinen Code oder Ressourcen) haben, können Leistungsverbesserungen etwa so:
Version des Android-Plug-ins und Gradle-Version | Android-Plug-in 2.2.0 + Gradle 2.14.1 | Android-Plug-in 2.3.0 + Gradle 3.3 | Android-Plug-in 3.0.0 + Gradle 4.1 |
---|---|---|---|
Konfiguration (z.B. ./gradlew --help ausführen) |
~ 2 Min. | ~9 s | ~ 2,5 s |
Änderung bei einzeiliger Java-Version (Implementierungsänderung) | ~2 Min. 15 Sek. | ~29 Sek. | ~6,4 Sek. |
Einige dieser Änderungen führen dazu, dass vorhandene Builds nicht mehr richtig funktionieren. Sie sollten sich also überlegen,\ um Ihr Projekt vor der Verwendung des neuen Plug-ins zu migrieren.
Wenn Sie die oben beschriebenen Leistungsverbesserungen nicht feststellen, melden Sie den Fehler und fügen Sie einen Trace Ihres Builds mithilfe der Gradle Profiler nutzen.
Für diese Version des Android-Plug-ins ist Folgendes erforderlich:
- Gradle 4.1 oder höher. Weitere Informationen finden Sie im Abschnitt Gradle aktualisieren.
-
Build-Tools 26.0.2
oder höher. Mit diesem Update müssen Sie keine Version mehr für die Build-Tools angeben. Das Plug-in verwendet standardmäßig die erforderliche Mindestversion.
Sie können die Property
android.buildToolsVersion
jetzt entfernen.
3.0.1 (November 2017)
Dies ist ein kleineres Update zur Unterstützung von Android Studio 3.0.1, das allgemeine Fehlerkorrekturen und Leistungsverbesserungen.
Optimierungen
- Bessere Parallelität für Projekte mit mehreren Modulen durch eine detaillierte in der Aufgabengrafik.
- Bei Änderungen an der Abhängigkeit führt Gradle Builds schneller aus, da
Neukompilierung von Modulen, die keinen Zugriff auf die API dieser Abhängigkeit haben.
Sie sollten einschränken, welche Abhängigkeiten ihre APIs an andere Module weitergeben, indem Sie
verwenden
Die neuen Abhängigkeitskonfigurationen von Gradle:
implementation
,api
,compileOnly
undruntimeOnly
. - Schnellere inkrementelle Build-Geschwindigkeit durch Dexing pro Klasse. Jede Klasse wird jetzt in separate DEX-Dateien kompiliert und nur die Klassen, die geändert werden, werden neu dexiert. Außerdem sollten Sie eine verbesserte Buildgeschwindigkeit für Apps erwarten, bei denen
minSdkVersion
auf 20 oder niedriger festgelegt ist und Legacy Multi-Dex verwendet wird. - Verbesserte Build-Geschwindigkeit durch Optimierung bestimmter Aufgaben für die Verwendung von im Cache gespeicherten Ausgaben. Um von dieser Optimierung zu profitieren, müssen Sie den Gradle-Build-Cache aktivieren.
- Die inkrementelle Ressourcenverarbeitung wurde mit AAPT2 verbessert, das jetzt standardmäßig aktiviert ist. Wenn bei der Verwendung von AAPT2 Probleme auftreten, melden Sie bitte einen Fehler. Sie können auch
deaktivieren Sie AAPT2, indem Sie
android.enableAapt2=false
in Ihremgradle.properties
und starten Sie den Gradle-Daemon neu,./gradlew --stop
über die Befehlszeile ausführen.
Neue Funktionen
- Variantenspezifische Abhängigkeitsverwaltung Beim Erstellen einer bestimmten Variante eines Moduls gleicht das Plug-in jetzt automatisch die Varianten der Abhängigkeiten von lokalen Bibliotheksmodulen mit der Variante des Moduls ab, das Sie erstellen.
- Enthält ein neues Plug-in für Funktionsmodul zur Unterstützung Android Instant Apps und die Android Instant Apps SDK (das Sie herunterladen können) mit dem SDK-Manager). Weitere Informationen zum Erstellen von Funktionsmodulen mit dem neuen Plug-in finden Sie unter Aufbau eines Instant-App mit mehreren Funktionen.
- Integrierte Unterstützung für die Verwendung bestimmter Java 8-Sprachfunktionen und Java 8 Bibliotheken. Jack ist veraltet und wird nicht mehr benötigt. Sie sollte zunächst Jack deaktivieren, um die verbesserte Java 8-Unterstützung Standard-Toolchain. Weitere Informationen finden Sie unter Java 8-Sprachfunktionen verwenden.
-
Unterstützung für das Ausführen von Tests mit Android Test Orchestrator hinzugefügt. Damit können Sie die Tests Ihrer App in einer eigenen Aufrufinstanz der Instrumentierung ausführen. Da jeder Test in einer eigenen Instrumentierungsinstanz ausgeführt wird, wird der gemeinsame Status zwischen den Tests nicht auf der CPU oder im Arbeitsspeicher des Geräts angesammelt. Und selbst wenn ein Test abstürzt, nur eine eigene Instrumentierungsinstanz, sodass Ihre anderen Tests weiterhin ausgeführt werden.
testOptions.execution
wurde hinzugefügt, um zu bestimmen, ob verwendet werden soll Testorchestrierung auf dem Gerät. Wenn Sie verwenden Android Test Orchestrator verwenden, müssen Sie angeben,ANDROID_TEST_ORCHESTRATOR
, wie unten gezeigt. Standardmäßig ist diese Eigenschaft aufHOST
festgelegt. Dadurch wird die On-Device-Orchestrierung deaktiviert. Dies ist die Standardmethode zum Ausführen von Tests.
Cool
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
-
Die neue Konfiguration für
androidTestUtil
-Abhängigkeiten bietet folgende Möglichkeiten: Installieren Sie ein weiteres Testhilfe-APK, bevor Sie die Instrumentierungstests ausführen. wie Android Test Orchestrator:Groovy
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
testOptions.unitTests.includeAndroidResources
hinzugefügt zu unterstützen Unittests, die Android-Ressourcen erfordern, z. B. Roboelectric – Wenn Sie diese Eigenschaft auftrue
festlegen, führt das Plug-in vor dem Ausführen der Unit-Tests eine Zusammenführung von Ressourcen, Assets und Manifesten durch. Ihre Tests können danncom/android/tools/test_config.properties
auf der classpath für die folgenden Schlüssel hinzu:-
android_merged_assets
: der absolute Pfad zum Verzeichnis mit den zusammengeführten Assets.Hinweis:Bei Bibliotheksmodulen werden die zusammengeführten Assets enthalten nicht die Assets der Abhängigkeiten (siehe Problem #65550419.
-
android_merged_manifest
: der absolute Pfad zum Manifestdatei zusammengeführt. -
android_merged_resources
: Der absolute Pfad zum Verzeichnis mit den zusammengeführten Ressourcen, das alle Ressourcen aus dem Modul und alle zugehörigen Abhängigkeiten enthält. -
android_custom_package
: der Paketname des der letzten R-Klasse. Wenn Sie die Anwendungs-ID dynamisch ändern, stimmt dieser Paketname möglicherweise nicht mit dempackage
-Attribut im Manifest der App überein.
-
- Unterstützung für Schriftarten als Ressourcen (eine neue Funktion, die in Android 8.0 (API-Level 26) eingeführt wurde)
- Unterstützung für sprachspezifische APKs mit dem Android Instant Apps SDK 1.1 und höher
-
Sie können jetzt das Ausgabeverzeichnis für Ihr externes natives Build-Projekt ändern, wie unten dargestellt:
Groovy
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Sie können jetzt verwenden Sie CMake 3.7 oder , wenn Sie native Projekte in Android Studio erstellen.
-
Die neue Konfiguration für
lintChecks
-Abhängigkeiten bietet folgende Möglichkeiten: eine JAR-Datei erstellen, die benutzerdefinierte Lint-Regeln definiert, und sie in Ihre AAE verpacken und APK-Projekte.Ihre benutzerdefinierten Lint-Regeln müssen zu einem separaten Projekt gehören, das eine einzelne JAR-Datei ausgibt und nur
compileOnly
-Abhängigkeiten enthält. Andere App- und Bibliotheksmodule können dann von Ihrem Lint-Projekt mit derlintChecks
-Konfiguration abhängen:Cool
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Verhaltensänderungen
- Das Android-Plug-in 3.0.0 entfernt bestimmte APIs und Ihr Build funktioniert nicht
wenn Sie sie verwenden. Sie können die Variants API beispielsweise nicht mehr verwenden,
auf
outputFile()
-Objekte zugreifen oderprocessManifest.manifestOutputFile()
zum Abrufen der Manifestdatei für jede Variante. Weitere Informationen finden Sie unter API-Änderungen. - Sie müssen keine Version mehr für die Build-Tools angeben. Sie können die Property
android.buildToolsVersion
also entfernen. Von verwendet das Plug-in automatisch die mindestens erforderlichen Build-Tools. für die Version des Android-Plug-ins, das Sie verwenden. - Sie aktivieren oder deaktivieren die PNG-Komprimierung jetzt im Block
buildTypes
, wie unten dargestellt. PNG-Verarbeitung ist standardmäßig für alle Builds aktiviert mit Ausnahme von Debug-Builds, da sich dadurch die Build-Dauer für Projekte erhöht, PNG-Dateien enthalten. Wenn Sie die Buildzeiten für andere Buildtypen verbessern möchten, sollten Sie entweder die PNG-Komprimierung deaktivieren oder Ihre Bilder in WebP konvertieren.Groovy
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Das Android-Plug-in erstellt nun automatisch ausführbare Ziele, die Sie in Ihren externen CMake-Projekten konfigurieren.
- Sie müssen
Anmerkung hinzufügen
Prozessoren zum Prozessor-Klassenpfad mithilfe der Methode
annotationProcessor
-Abhängigkeitskonfiguration. - Die Verwendung des verworfenen
ndkCompile
ist jetzt eingeschränkter. Sie sollten stattdessen zum Kompilieren stattdessen entweder CMake oder ndk-build verwenden nativen Code, den Sie in Ihr APK packen möchten. Weitere Informationen finden Sie unter Von ndkcompile migrieren.
2.3.0 (Februar 2017)
2.3.3 (Juni 2017)
Dies ist ein kleineres Update, das die Kompatibilität mit Android Studio 2.3.3
2.3.2 (Mai 2017)
Dies ist ein kleineres Update, das die Kompatibilität mit Android Studio 2.3.2
2.3.1 (April 2017)
Dieses kleine Update des Android-Plug-ins 2.3.0 behebt ein Problem, bei dem einige physische Android-Geräte nicht richtig mit Instant Run funktionierten (siehe Problem 235879).
- Abhängigkeiten:
-
- Gradle 3.3 oder höher
- Build Tools 25.0.0 oder höher
- Neu:
-
- Verwendet Gradle 3.3, das Leistungsverbesserungen und neuen Funktionen. Weitere Informationen finden Sie in den Gradle-Versionshinweisen.
- Build-Cache: Hier werden bestimmte Ausgaben gespeichert, die das Android-Plug-in beim Erstellen Ihres Projekts generiert, z. B. nicht verpackte AARs und vordekompilierte Remote-Abhängigkeiten. Ihre sauberen Builds sind mit dem Cache viel schneller, da das Build-System diese im Cache gespeicherten Dateien bei nachfolgenden Builds einfach wiederverwenden kann, anstatt sie neu zu erstellen. Projekte mit Android-Plug-in 2.3.0 und höher verwenden
dem Build-Cache standardmäßig. Weitere Informationen finden Sie unter
Verbessern Sie die Build-Geschwindigkeit mit
Build-Cache.
- Enthält eine
cleanBuildCache
-Aufgabe, die löscht Build-Cache - Wenn Sie die experimentelle Version des Build-Caches verwenden (in früheren Versionen des Plug-ins enthalten), sollten Sie Ihr Plug-in auf die neueste Version aktualisieren.
- Enthält eine
- Änderungen:
-
- Unterstützt Änderungen an Instant Run, die in Android Studio 2.3
- Die Konfigurationszeiten für sehr große Projekte sollten deutlich schneller.
- Probleme beim automatischen Herunterladen für die Einschränkungslayout Bibliothek.
- Das Plug-in verwendet jetzt ProGuard Version 5.3.2.
- Enthält viele Fehlerkorrekturen für gemeldete Fehler. Bitte weiter zu Fehlerberichte senden, wenn Sie auf Probleme stoßen.
2.2.0 (September 2016)
- Abhängigkeiten:
-
- Gradle 2.14.1 oder höher.
- Build-Tools 23.0.2 oder höher.
- Neu:
-
- Verwendet Gradle 2.14.1 mit Leistungsverbesserungen und neue Funktionen entwickelt und eine Sicherheitslücke beseitigt, lokale Rechteausweitung bei Verwendung des Gradle-Daemons. Weitere Informationen finden Sie in der Gradle-Versionshinweise
- Mit der
externalNativeBuild {}
-DSL können Sie in Gradle jetzt Verknüpfungen zu Ihren nativen Quellen herstellen und native Bibliotheken mit CMake oder ndk-build kompilieren. Nachdem Sie Ihre nativen Bibliotheken erstellt haben, in Ihr APK packt. Weitere Informationen zur Verwendung von CMake und ndk-build with Gradle, lesen Sie unter Add C and C++ code to Your Projekt. - Wenn Sie einen über die Befehlszeile erstellen, versucht Gradle jetzt, fehlende SDK-Komponenten oder Updates, von denen Ihr Projekt abhängt. Weitere Informationen finden Sie unter Fehlende Pakete mit Gradle automatisch herunterladen.
- Mit einer neuen experimentellen Caching-Funktion kann Gradle den Build beschleunigen durch Predexing, Speichern und Wiederverwenden der Pre-dexed-Versionen Ihre Bibliotheken. Weitere Informationen zur Verwendung dieser experimentellen Funktion finden Sie im Leitfaden Cache erstellen.
- Verbessert die Build-Leistung durch die Einführung einer neuen Standardpaketierung
Pipeline, die das Komprimieren, Signieren und Zipaligning in einer Aufgabe übernimmt. Ich
zur Verwendung der älteren Paketerstellungstools zurückkehren, indem Sie
android.useOldPackaging=true
zu deinemgradle.properties
-Datei. Wenn Sie das neue Tool zur Paketierung verwenden, ist die AufgabezipalignDebug
nicht verfügbar. Sie können jedoch können Sie selbst eine erstellen, indem Sie die MethodecreateZipAlignTask(String taskName, File inputFile, File outputFile)
-Methode. - Bei der APK-Signatur wird jetzt das APK-Signaturschema verwendet
v2 zusätzlich zur herkömmlichen JAR-Signatur an. Alle Android-Plattformen akzeptieren die
die daraus resultierenden APKs. Werden diese APKs nach dem Signieren geändert, werden ihre
v2-Signaturen erstellt und die Installation auf einem Gerät verhindert. Wenn Sie diese Funktion deaktivieren möchten, fügen Sie der Datei
build.gradle
auf Modulebene Folgendes hinzu:Groovy
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- Bei Multidex-Builds kannst du jetzt mithilfe von ProGuard-Regeln bestimmen,
Klassen, die Gradle in die main-DEX-Datei Ihrer App kompilieren sollte. Da das Android-System beim Starten Ihrer App zuerst die Haupt-DEX-Datei lädt, können Sie bestimmte Klassen beim Start priorisieren, indem Sie sie in die Haupt-DEX-Datei kompilieren. Nachdem Sie eine ProGuard-Konfigurationsdatei speziell für Ihr
DEX-Hauptdatei den Pfad der Konfigurationsdatei mithilfe
buildTypes.multiDexKeepProguard
Die Verwendung dieses DSL ist anders von der VerwendungbuildTypes.proguardFiles
für allgemeines ProGuard Regeln für Ihre Anwendung und gibt keine Klassen für die DEX-Hauptdatei an. - Es wird Unterstützung für das Flag
android:extractNativeLibs
hinzugefügt, Dadurch kann sich die Größe deiner App verringern, wenn du sie auf einem . Wenn Sie dieses Flag im Element<application>
Ihres App-Manifests auffalse
festlegen, verpackt Gradle unkomprimierte und ausgerichtete Versionen Ihrer nativen Bibliotheken mit Ihrem APK. Dieses verhindertPackageManager
native Bibliotheken aus dem APK in das Dateisystem während der Installation und bietet den zusätzlichen Vorteil, der App-Updates kleiner sind. - Sie können jetzt angeben.
versionNameSuffix
undapplicationIdSuffix
für Produktgeschmack (Problem 59614)
- Änderungen:
-
-
getDefaultProguardFile
gibt jetzt die Standard-ProGuard-Dateien zurück, die vom Android-Plug-in für Gradle bereitgestellt werden, und verwendet nicht mehr die im Android SDK enthaltenen Dateien. - Verbesserte Jack-Compiler-Leistung und -Funktionen:
- Jaco unterstützt jetzt bei der Einstellung
testCoverageEnabled
intrue
. - Verbesserte Unterstützung für Annotationsprozessoren. Anmerkungs-Prozessoren in Ihrem Klassenpfad, z. B.
compile
-Abhängigkeiten, werden automatisch auf Ihren Build angewendet. Sie können geben Sie auch einen Annotationsprozessor in Ihrem Build an und übergeben Sie Argumente mithilfe der MethodejavaCompileOptions.annotationProcessorOptions {}
DSL in deinembuild.gradle
-Datei auf Modulebene:Groovy
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } }
Kotlin
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } }
Wenn Sie einen Anmerkungs-Prozessor zur Kompilierungszeit anwenden, ihn aber nicht in Ihr APK aufnehmen möchten, verwenden Sie den
annotationProcessor
-Abhängigkeitsbereich:Groovy
dependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant }
Kotlin
dependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant }
- Wenn die Heap-Größe des Gradle-Daemons mindestens 1.5 beträgt, ist die Standardeinstellung
GB führt Jack nun im selben Prozess wie Gradle aus. Wenn Sie die Größe des Daemon-Haufens anpassen möchten, fügen Sie der Datei
gradle.properties
Folgendes hinzu:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M
Führen Sie folgenden Befehl aus, um eine Liste der Parameter zu erhalten, die Sie festlegen können: der Befehlszeile:
java -jar /build-tools/jack.jar --help-properties
- Jaco unterstützt jetzt bei der Einstellung
-
2.1.0 (April 2016)
2.1.3 (August 2016)
Für dieses Update ist Gradle 2.14.1 oder höher erforderlich. Gradle 2.14.1 enthält Leistungsverbesserungen, neue Funktionen und einen wichtigen Sicherheitsfix. Weitere Informationen finden Sie in der Gradle-Versionshinweise
- Abhängigkeiten:
-
- Gradle 2.10 oder höher
- Build-Tools 23.0.2 oder höher.
- Neu:
-
- Unterstützung für die N Developer Preview, JDK 8 und Java 8-Sprachfunktionen mit der Jack-Toolchain hinzugefügt. Weitere Informationen finden Sie im N-Vorschauhandbuch.
Hinweis: Instant Laufen funktioniert derzeit nicht mit Jack und wird während mit der neuen Toolchain. Sie müssen Jack nur verwenden, wenn Sie für die N-Vorabversion entwickeln und die unterstützten Java 8-Sprachfunktionen verwenden möchten.
- Standardunterstützung für die inkrementelle Java-Kompilierung hinzugefügt, um die Kompilierungszeit während der Entwicklung zu verkürzen. Dazu werden nur die Teile der Quelle neu kompiliert, die sich geändert haben oder neu kompiliert werden müssen. Wenn Sie diese Funktion deaktivieren möchten, fügen Sie der Datei
build.gradle
auf Modulebene den folgenden Code hinzu:Groovy
android { ... compileOptions { incremental false } }
Kotlin
android { ... compileOptions { incremental = false } }
-
Unterstützung für Dexing-in-Process hinzugefügt, der das Dexing innerhalb des Builds durchführt und nicht in separaten externen VM-Prozessen. Das macht nicht nur inkrementelle Builds schneller, sondern auch vollständige Builds. Die Funktion ist Standardmäßig für Projekte aktiviert, in denen der maximale Heap des Gradle-Daemons festgelegt ist mindestens 2.048 MB groß sein. Dazu können Sie Folgendes in Ihre
```none org.gradle.jvmargs = -Xmx2048m ```gradle.properties
-Datei des Projekts hinzugefügt:Wenn Sie in der Datei
Keine org.gradle.jvmargs = -Xmx3072mbuild.gradle
auf Modulebene einen Wert fürjavaMaxHeapSize
definiert haben, müssen Sieorg.gradle.jvmargs
auf den Wert vonjavaMaxHeapSize
+ 1.024 MB festlegen. Wenn SiejavaMaxHeapSize
beispielsweise auf „2048 m“ festgelegt haben, müssen Sie dergradle.properties
-Datei Ihres Projekts Folgendes hinzufügen:Wenn Sie das DeXing-in-Process deaktivieren möchten, fügen Sie der Datei
build.gradle
auf Modulebene den folgenden Code hinzu:Groovy
android { ... dexOptions { dexInProcess false } }
Kotlin
android { ... dexOptions { dexInProcess = false } }
- Unterstützung für die N Developer Preview, JDK 8 und Java 8-Sprachfunktionen mit der Jack-Toolchain hinzugefügt. Weitere Informationen finden Sie im N-Vorschauhandbuch.
2.0.0 (April 2016)
- Abhängigkeiten:
-
- Gradle 2.10 oder höher
- Build-Tools 21.1.1 oder höher.
- Neu:
-
- Ermöglicht Instant Run durch Unterstützung der Bytecode-Injektion und das Pushen von Code- und Ressourcenupdates an eine laufende App auf dem Emulator oder einem physischen Gerät.
- Zusätzliche Unterstützung für inkrementelle Builds, auch wenn die App nicht ausgeführt wird. Vollständige Build-Zeiten werden verbessert, indem inkrementelle Änderungen über den Android Debug Bridge auf die verbundenes Gerät.
- Hinzugefügt:
maxProcessCount
, um zu steuern, wie viele Worker-DEX-Prozesse gleichzeitig erzeugt wurden. Der folgende Code in der Modulebenebuild.gradle
-Datei, legt die maximale Anzahl gleichzeitiger Prozesse fest auf 4:Cool
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
Kotlin
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
</li> <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing of dependencies, which are not supported with Proguard. This improves the build speed of your debug build variant. Because the experimental shrinker does not support optimization and obfuscation, you should enable Proguard for your release builds. To enable the experimental shrinker for your debug builds, add the following to your module-level <code>build.gradle</code> file:
Groovy
android { ... buildTypes { debug { minifyEnabled true useProguard false } release { minifyEnabled true useProguard true // this is a default setting } } }
Kotlin
android { ... buildTypes { getByName("debug") { minifyEnabled = true useProguard = false } getByName("release") { minifyEnabled = true useProguard = true // this is a default setting } } }
</li> <li>Added logging support and improved performance for the resource shrinker. The resource shrinker now logs all of its operations into a <code>resources.txt</code> file located in the same folder as the Proguard log files. </li> </ul>
- Geändertes Verhalten:
-
- Wenn
minSdkVersion
auf 18 oder höher gesetzt ist, verwendet die APK-Signatur SHA256.
<li>DSA and ECDSA keys can now sign APK packages. <p class="note"> <strong>Note:</strong> The <a href= "/training/articles/keystore.html">Android keystore</a> provider no longer supports <a href= "/about/versions/marshmallow/android-6.0-changes.html#behavior-keystore"> DSA keys on Android 6.0</a> (API level 23) and higher. </p> </li> </ul>
- Wenn
- Behobene Probleme:
-
- Ein Problem wurde behoben, das zu doppelten AAR-Abhängigkeiten sowohl in der Test- als auch in der Haupt-Build-Konfiguration führte.
Android-Plug-in für Gradle, Version 1.5.0 (November 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Das Plug-in für die Datenbindung wurde in das Android-Plug-in für Gradle eingebunden. Fügen Sie dazu jeder projektspezifischen
build.gradle
-Datei, in der das Plug-in verwendet wird, den folgenden Code hinzu: - Es wurde eine neue Transform API hinzugefügt.
um es Drittanbieter-Plug-ins zu ermöglichen, kompilierte
.class
-Dateien zu manipulieren, bevor sie in.dex
Dateien konvertiert. Die Transform API vereinfacht das Injizieren benutzerdefinierter Klassen und bieten gleichzeitig mehr Flexibilität im Hinblick darauf, was geändert werden kann. So fügen Sie ein in einen Build umwandeln, eine neue Klasse erstellen und eine derTransform
implementieren und registrieren Sie es mitandroid.registerTransform(theTransform)
oderandroid.registerTransform(theTransform, dependencies)
Es ist nicht erforderlich, Aufgaben miteinander zu verknüpfen. Hinweise zur Transform API: - Eine Transformation kann auf eines oder mehrere der folgenden Elemente angewendet werden: das aktuelle Projekt, untergeordnete Projekte und externe Bibliotheken.
- Eine Transformation muss global registriert sein, damit sie auf alle Varianten angewendet wird.
- Die interne Codeverarbeitung über die Java Code Coverage Library (JaCoCo), ProGuard und MultiDex verwendet jetzt die Transform API. Das Java Android Compiler Kit
(Jack) verwendet diese API nicht, sondern nur den Codepfad
javac/dx
. - Gradle führt die Transformationen in dieser Reihenfolge aus: JaCoCo, Drittanbieter-Plug-ins, ProGuard. Die Ausführungsreihenfolge von Drittanbieter-Plug-ins entspricht der Reihenfolge der Transformationen. die über die Plug-ins von Drittanbietern hinzugefügt wurden; können Entwickler von Drittanbieter-Plug-ins die Ausführung nicht steuern, der Transformationen über eine API.
- Der Getter
dex
aus der KlasseApplicationVariant
wurde verworfen. Sie können nicht mehr über die Variant API auf die Aufgabe „Dex
“ zugreifen, weil sie jetzt durch eine Transformation erreicht. Es gibt derzeit keinen Ersatz für die Steuerung des Dex-Prozesses. - Die inkrementelle Unterstützung für Assets wurde behoben.
- Verbesserte MultiDex-Unterstützung durch Bereitstellung für Testprojekte
Tests haben jetzt automatisch die
com.android.support:multidex-instrumentation
Abhängigkeit. - Es ist jetzt möglich, einen Gradle-Build korrekt fehlschlagen zu lassen und die zugrunde liegende Fehlerursache zu melden, wenn der Gradle-Build asynchrone Aufgaben aufruft und es im Worker-Prozess zu einem Fehler kommt.
- Unterstützung für die Konfiguration einer bestimmten Binärschnittstelle (Application Binary Interface, ABI) in Varianten hinzugefügt die mehrere ABIs enthalten.
- Die Unterstützung für eine durch Kommas getrennte Liste mit Seriennummern der Geräte wurde hinzugefügt.
ANDROID_SERIAL
, wenn Sie Tests installieren oder ausführen. - Installationsfehler auf Geräten mit Android 5.0 (API-Level 20) und höher wurden behoben. wenn der APK-Name ein Leerzeichen enthält.
- Verschiedene Probleme im Zusammenhang mit der Fehlerausgabe des Android Asset Packaging Tools (AAPT) wurden behoben.
- Unterstützung für die inkrementelle Instrumentierung mit JaCoCo für schnellere inkrementelle Builds. Die Das Android-Plug-in für Gradle ruft jetzt direkt den JaCoCo-Instrumenter auf. Um eine neuere Version des JaCoCo-Instrumenters, müssen Sie sie als Build-Skript-Abhängigkeit hinzufügen.
- Die JaCoCo-Unterstützung wurde so angepasst, dass Dateien, die keine Klassen sind, ignoriert werden.
- Vektor-Drawable-Unterstützung zum Generieren von PNGs bei der Erstellung wurde für die Abwärtskompatibilität hinzugefügt.
Das Android-Plug-in für Gradle generiert PNGs für jedes Vektor-Drawable in einer Ressource
das keine API-Version angibt oder ein
android:minSdkVersion
-Attribut in der Spalte<uses-sdk>
-Element im App-Manifest. Sie können PNG-Dichten mithilfe dergeneratedDensities
-Eigenschaft in den AbschnittendefaultConfig
oderproductFlavor
einerbuild.gradle
-Datei festlegen. - Es wurde die Freigabe der mockbaren
android.jar
hinzugefügt, die das Plug-in nur einmal generiert und für Unit-Tests verwendet. Mehrere Module wieapp
undlib
, jetzt teilen Löschen Sie$rootDir/build
, um sie neu zu generieren. - Die Verarbeitung von Java-Ressourcen wurde so geändert, dass sie vor den Verschleierungsaufgaben statt beim Packen des APKs. Durch diese Änderung haben die Obfuscation-Aufgaben die Möglichkeit, die Java-Ressourcen nach der Obfuscation der Pakete anzupassen.
- Ein Problem bei der Verwendung von JNI-Code (Java Native Interface) in der experimentellen Bibliothek wurde behoben. .
- Die Plattformversion kann jetzt getrennt vom
Attribut
android:compileSdkVersion
in der experimentellen Bibliothek .
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Das Plug-in für die Datenbindung wurde in das Android-Plug-in für Gradle eingebunden. Fügen Sie dazu jeder projektspezifischen
Android-Plug-in für Gradle, Version 1.3.1 (August 2015)
Abhängigkeiten:- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Die Aufgabe ZipAlign wurde so korrigiert, bei Verwendung eines benutzerdefinierten Dateinamens die Ausgabe der vorherigen Aufgabe verarbeiten.
- Probleme mit RenderScript behoben mit dem NDK.
- Unterstützung für die Build-Aufgabe
createDebugCoverageReport
wurde beibehalten. - Die benutzerdefinierte Verwendung von
archiveBaseName
wird jetzt korrekt unterstützt. in der Build-Dateibuild.gradle
. - Die
Invalid ResourceType
-lint-Warnung, die durch die Suche nach Anmerkungen für Parametermethoden beim Ausführen von lint außerhalb von Android Studio verursacht wurde, wurde behoben.
Android-Plug-in für Gradle, Version 1.3.0 (Juli 2015)
Abhängigkeiten:- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
-
Unterstützung für die Property
com.android.build.threadPoolSize
hinzugefügt, um die Größe desAndroid
-Aufgaben-Thread-Pools über diegradle.properties
-Datei oder die Befehlszeile zu steuern. Die Im folgenden Beispiel wird diese Eigenschaft auf 4 festgelegt.-Pcom.android.build.threadPoolSize=4
- Legen Sie das Standardverhalten des Builds so fest, dass
LICENSE
undLICENSE.txt
ausgeschlossen werden aus APKs. Um diese Dateien in ein APK aufzunehmen, müssen Sie sie aus derpackagingOptions.excludes
-Attribut in der Dateibuild.gradle
. Beispiel:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- Die Aufgabe
sourceSets
wurde hinzugefügt, um alle verfügbaren Quellsätze zu prüfen. - Verbesserte Unterstützung für Unit-Tests, um Quellordner für mehrere Varianten und Buildvarianten zu erkennen. Wenn Sie beispielsweise eine App mit mehreren Varianten (
flavor1
undflavorA
) mit dem BuildtypDebug
testen möchten, sind die Testquellensätze:- Test
- testFlavor1
- TestFlavorA
- testFlavor1FlavorA
- testFlavor1FlavorADebug
Android-Tests haben bereits mehrere Quellordner mit mehreren Varianten erkannt.
- Verbesserte Unterstützung für Unit-Tests:
- Führen Sie
javac
für Haupt- und Testquellen aus, auch wenn dieuseJack
ist in Ihrer Build-Datei auftrue
gesetzt. - Abhängigkeiten für jeden Buildtyp korrekt erkennen
- Führen Sie
- Zusätzliche Unterstützung für die Angabe von Instrumentierungsargumenten für Testläufer über die Befehlszeile.
Beispiel:
./gradlew connectedCheck \ -Pandroid.testInstrumentationRunnerArguments.size=medium \ -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
Unterstützung für beliebige zusätzliche APT-Parameter (Android Asset Packaging Tool) hinzugefügt in der Datei
build.gradle
. Beispiel:android { aaptOptions { additionalParameters "--custom_option", "value" } }
android { aaptOptions { additionalParameters += listOf("--custom_option", "value") } }
- Unterstützung für ein APK-Testmodul als separates Testmodul hinzugefügt. Mit den Eigenschaften
targetProjectPath
undtargetVariant
können der APK-Pfad und die Zielvariante festgelegt werden.Hinweis: Ein Test-APK-Modul unterstützt keine Produktvarianten und kann nur auf eine einzelne Variante ausgerichtet werden. Außerdem wird Jacoco noch nicht unterstützt.
- Vor dem Zusammenführen von Ressourcen wird jetzt die Gültigkeit des Ressourcennamens überprüft.
- Wenn Sie ein AAR-Paket (Android ARchive) für Bibliotheksmodule erstellen, sollten Sie keine
automatischer Platzhalter
@{applicationId}
in der Einstellungen für die Manifestzusammenführung. Verwenden Sie stattdessen einen anderen Platzhalter wie@{libApplicationId}
und geben Sie einen Wert dafür an, wenn Sie Anwendungs-IDs in die Archivbibliothek aufnehmen möchten.
Android-Plug-in für Gradle, Version 1.2.0 (April 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Erweiterte Unterstützung zum Ausführen von Einheitentests mit Gradle.
- Zusätzliche Unterstützung zum Einbinden von Ressourcen im Java-Stil in den Klassenpfad. wenn Sie Einheitentests direkt in Gradle ausführen.
- Unterstützung für die Abhängigkeit von Komponententests für Android Archive (AAR) hinzugefügt Artefakte.
- Unterstützung für das Attribut
unitTestVariants
hinzugefügt, damit Varianten von Unit-Tests über die Dateibuild.gradle
manipuliert werden können. - Der Codeblock
unitTest.all
wurde hinzugefügt untertestOptions
zum Konfigurieren benutzerdefinierter Aufgaben für Einheit testen. Der folgende Beispielcode zeigt, wie Unittest hinzugefügt wird. Konfigurationseinstellungen mit dieser neuen Option:android { testOptions { unitTest.all { jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option. } } }
android { testOptions { unitTest.all { jvmArgs += listOf("-XX:MaxPermSize=256m") // Or any other gradle option. } } }
- Die Verarbeitung von Enums und öffentlichen Instanzfeldern in der
Paketerstellung der Datei
mockable-android.jar
. - Die Abhängigkeiten der Bibliotheksprojektaufgaben wurden korrigiert, sodass Klassen getestet werden konnten nach Änderungen neu kompiliert werden.
- Anzuwendende
testProguardFile
-Property wurde hinzugefügt ProGuard-Dateien beim Reduzieren einer Test-APK. - Die Eigenschaft
timeOut
wurde zuadbOptions
hinzugefügt Codeblock zum Einstellen der maximalen Aufnahmezeit für Bildschirm Android Debug Bridge Aufzeichnung. - Unterstützung für Ressourcen mit 280 dpi hinzugefügt.
- Verbesserte Leistung während der Projektbewertung.
- Erweiterte Unterstützung zum Ausführen von Einheitentests mit Gradle.
Android-Plug-in für Gradle, Version 1.1.3 (März 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Ein Problem mit duplizierten Abhängigkeiten von einer Test-App, die einen ProGuard-Fehler ausgelöst haben, wurde behoben.
- Eine korrigierte Vergleichsimplementierung, die nicht dem JDK-Vergleichsvertrag entsprach, und hat einen JDK 7-Fehler generiert.
Android-Plug-in für Gradle, Version 1.1.2 (Februar 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Normalisierter Pfad beim Erstellen eines mockbaren JAR-Archivs für Unit-Tests.
- Die
archivesBaseName
-Einstellung in der Dateibuild.gradle
wurde korrigiert. - Der nicht behobene Platzhalterfehler in der Manifestzusammenführung wurde behoben. wenn Sie eine Bibliotheks-Testanwendung erstellen.
Android-Plug-in für Gradle, Version 1.1.1 (Februar 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Build-Varianten wurden so geändert, dass nur Varianten, die ein Paket Wear-App-Trigger Wear-spezifische Build-Aufgaben
- Abhängigkeitsbezogene Probleme werden jetzt bei der Buildzeit statt bei der Debugzeit fehlschlagen. Mit diesem Verhalten können Sie Diagnosen (wie „Abhängigkeiten“), um den Konflikt zu lösen.
- Die Methode
android.getBootClasspath()
wurde korrigiert, gibt einen Wert zurück.
Android-Plug-in für Gradle, Version 1.1.0 (Februar 2015)
- Abhängigkeiten:
-
- Gradle 2.2.1 oder höher
- Build Tools 21.1.1 oder höher
- Allgemeine Hinweise:
-
- Neue Unterstützung für Einheitentests hinzugefügt
- Aktiviert
Einheit
Tests zur Ausführung auf der lokalen JVM gegen eine spezielle Version
android.jar
-Datei, die kompatibel mit gängige Mocking-Frameworks wie Mockito verwenden. - Neue Testaufgaben
testDebug
,testRelease
undtestMyFlavorDebug
für die Verwendung von Produktvarianten hinzugefügt - Neue Quellordner hinzugefügt, die als Einheitentests erkannt werden:
src/test/java/
,src/testDebug/java/
,src/testMyFlavor/java/
- Der Datei
build.gradle
wurden neue Konfigurationen hinzugefügt zur Deklaration reiner Testabhängigkeiten. Beispiel:testCompile 'junit:junit:4.11'
,testMyFlavorCompile 'some:library:1.0'
Hinweis:Reine Testabhängigkeiten. sind derzeit nicht kompatibel mit Jack (Java Android Compiler). Kit).
- Hinzugefügt:
android.testOptions.unitTests.returnDefaultValues
zur Steuerung des Verhaltens der mockable-android.jar. Test
in Namen der Testaufgaben ersetzt durchAndroidTest
. Beispiel: Der Parameter Aufgabe „assembleDebugTest
“ ist jetzt Aufgabe „assembleDebugAndroidTest
“. Aufgaben für Einheitentests nochUnitTest
im Aufgabennamen enthalten, z. B.assembleDebugUnitTest
.- Geänderte ProGuard die Konfigurationsdateien so, dass sie nicht mehr für das Test-APK gelten. Wenn die Minifizierung aktiviert ist, verarbeitet ProGuard das Test-APK und wendet nur die Zuordnungsdatei an, die beim Komprimieren generiert wird das Haupt-APK.
- Aktualisierte Abhängigkeitsverwaltung
- Probleme mit den Bereichen
provided
undpackage
wurden behoben.Hinweis: Diese Bereiche sind nicht mit AAE-Paketen (Android ARchive) kompatibel führen dazu, dass ein Build mit AAR-Paketen fehlschlägt.
- Abhängigkeitsauflösung geändert, um die Abhängigkeiten von eine zu testende App und die Test-App. Wenn ein Artefakt mit der dieselbe Version für beide Apps gefunden wird, ist sie in und nur mit der zu testenden App verpackt ist. Wenn für beide Apps ein Artefakt mit einer anderen Version gefunden wird, schlägt der Build fehl.
- Probleme mit den Bereichen
- Unterstützung für
anyDpi
hinzugefügt Ressource Qualifier in der Ressourcenzusammenführung. - Verbesserte Auswertungs- und IDE-Synchronisierungsgeschwindigkeiten für Projekte mit einer einer großen Anzahl von Android-Modulen.
Android-Plug-in für Gradle, Version 1.0.1 (Januar 2015)
- Abhängigkeiten:
-
-
Gradle 2.2.1 bis 2.3.x.
Hinweis: Diese Version des Android-Plug-ins für Gradle ist nicht mit Gradle 2.4 und höher kompatibel.
- Build Tools 21.1.1 oder höher
-
- Allgemeine Hinweise:
-
- Ein Problem wurde behoben, bei dem der Gradle-Build-Fehler beim Zugriff auf die
Modul
extractReleaseAnnotations
. (Problem 81638) - Ein Problem wurde behoben, bei dem
Disable
den Parameter--no-optimize
-Einstellung für Dalvik Executable (dex) Bytecode. (Problem 82662). - Probleme beim Zusammenführen von Manifesten beim Importieren von Bibliotheken mit einer
targetSdkVersion
unter 16 wurden behoben. - Das Problem bei der Anordnung der Dichte bei der Verwendung von Android Studio mit JDK 8.
- Ein Problem wurde behoben, bei dem der Gradle-Build-Fehler beim Zugriff auf die
Modul
Android-Plug-in für Gradle, Version 1.0.0 (Dezember 2014)
- Abhängigkeiten:
-
-
Gradle 2.2.1 bis 2.3.x.
Hinweis: Diese Version des Android-Plug-ins für Gradle ist nicht mit Gradle ab Version 2.4 kompatibel.
- Build Tools 21.1.1 oder höher
-
- Allgemeine Hinweise:
-
- Erste Plug-in-Version.