Bekannte Probleme mit Android Studio und dem Android Gradle-Plug-in

Auf dieser Seite werden bekannte Probleme mit der Koala-Funktionsveröffentlichung in Android Studio und dem Android Gradle-Plug-in 8.6.0 aufgeführt. Wenn ein Problem auftritt, das hier nicht aufgeführt ist, melden Sie es bitte als Fehler.

Auf die Vorabversion umstellen: Mit jeder Version von Android Studio und dem Android Gradle-Plug-in sollen Stabilität und Leistung verbessert und neue Funktionen hinzugefügt werden. Lade die App herunter und installiere sie, um die Vorteile zukünftiger Releases zu entdecken Vorschau von Android Studio

Bekannte Probleme mit Android Studio

In diesem Abschnitt werden bekannte Probleme beschrieben, die in der neuesten stabilen Version von Android Studio

Im Firebase Assistant-Fenster wird eine Fehlermeldung angezeigt

Wenn im Firebase Assistant-Fenster (im Hauptmenü unter „Tools“ > „Firebase“) eine Fehlermeldung angezeigt wird, löschen Sie die Caches und starten Sie Android Studio neu, um den Fehler zu beheben.

Isolieren einer Ansicht mit Layout Inspector nicht möglich

Die Möglichkeit, eine Ansicht mithilfe der eingebetteten Layout Inspector ist vorübergehend nicht verfügbar. Wir arbeiten daran, dieses Problem in einer zukünftigen Version zu beheben.

Nicht alle Zusammensetzungsknoten können mit dem Layout Inspector inspiziert werden

Wenn Sie feststellen, dass nicht alle Compose-Knoten überprüft werden können, Layout Inspector: Das liegt wahrscheinlich an einem Programmfehler, der in Compose-Version 1.5.0-alpha04 behoben wurde. Wenn dieses Problem auftritt, führen Sie ein Upgrade auf Compose Version��1.5.0-alpha04 oder h��her aus.

Fehler beim Rendern der Vorschau für das Verfassen

Wenn Sie mit Android Studio Chipmunk beginnen, java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner oder java.lang.ClassNotFoundException: androidx.savedstate.R$id im Bereich „Probleme“ müssen Sie eine debugImplementation-Abhängigkeit androidx.lifecycle:lifecycle-viewmodel-savedstate.

Wenn Sie java.lang.NoSuchFieldError: view_tree_lifecycle_owner in der im Bereich „Probleme“ eine debugImplementation-Abhängigkeit androidx.lifecycle:lifecycle-runtime.

Wenn Sie java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer oder java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener müssen Sie im Bereich „Probleme“ eine debugImplementation-Abhängigkeit angeben, androidx.customview:customview-poolingcontainer.

Fehler bei Verwendung unterschiedlicher Passwörter für Schlüssel und Schlüsselspeicher

Ab Version 4.2 läuft Android Studio jetzt unter JDK 11. Dieses Update führt zu einer Änderung des zugrunde liegenden Verhaltens in Bezug auf Signaturschlüssel.

Wenn Sie auf der Seite Build > Generieren signiertes Bundle / APK und versuchen, die App-Signatur für ein App Bundle oder ein APK haben, kann die Eingabe unterschiedlicher Passwörter für Schlüssel und Schlüsselspeicher dazu führen, dass folgenden Fehler:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Um dieses Problem zu umgehen, geben Sie für den Schlüssel und keystore.

Android Studio startet nach der Installation von Version 4.2 nicht mehr

Studio versucht, vorherige .vmoptions zu erstellen und sie so zu bereinigen, dass sie mit der automatischen Speicherbereinigung zusammenarbeiten, die von JDK 11. Wenn dieser Vorgang fehlschlägt, wird die IDE für bestimmte Nutzer möglicherweise nicht gestartet, Benutzerdefinierte VM-Optionen in der .vmoptions-Datei festlegen

Sie können dieses Problem umgehen, indem Sie die benutzerdefinierten Optionen auskommentieren. in .vmoptions (mit dem Rautenzeichen "#") Die .vmoptions-Datei kann von an den folgenden Orten gefunden:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Wenn Studio auch nach dieser Problemumgehung nicht gestartet wird, gehen Sie so vor: Siehe Studio wird nach dem Upgrade nicht gestartet weiter unten.

Apps, die Database Inspector verwenden, stürzen im Android 11-Emulator ab

Apps, die den Database Inspector verwenden, können unter Android 11 abstürzen Emulator. In Logcat wird ein Fehler wie der folgende angezeigt:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

Um dieses Problem zu beheben, aktualisiere deinen Android 11-Emulator auf Version 9 oder höher, indem du indem Sie Tools > SDK-Manager. Klicken Sie auf dem Tab SDK-Plattformen Paketdetails anzeigen und wählen Sie Version 9 oder höher von den Android 11-Emulator herunter.

Studio startet nach dem Upgrade nicht

Falls Studio nach einem Upgrade nicht gestartet wird, kann das an einer ungültigen URL liegen. Android Studio-Konfiguration, die aus einer früheren Version von Android Studio importiert wurde oder ein inkompatibles Plug-in. Um das Problem zu umgehen, löschen Sie Sicherungszwecken) das folgende Verzeichnis, je nach Android Studio-Version und Betriebssystem und starten Sie Android Studio neu. Dadurch wird Android zurückgesetzt Studio in den Standardzustand versetzt, wobei alle Drittanbieter-Plug-ins entfernt wurden.

Für Android Studio 4.1 und höher:

  • Windows:%APPDATA%\Google\AndroidStudio<version>
    Beispiel: C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio<version>
    Beispiel: ~/Library/Application Support/Google/AndroidStudio4.1

  • Linux: ~/.config/Google/AndroidStudio<version> und ~/.local/share/Google/AndroidStudio<version>
    Beispiel: ~/.config/Google/AndroidStudio4.1 und ~/.local/share/Google/AndroidStudio4.1

Für Android Studio 4.0 und frühere Versionen:

  • Windows:%HOMEPATH%\.AndroidStudio<version>\config
    Beispiel: C:\Users\your_user_name\.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio<version>
    Beispiel: ~/Library/Preferences/AndroidStudio3.6

  • Linux:~/.AndroidStudio<version>/config
    Beispiel: ~/.AndroidStudio3.6/config

Beachten Sie, dass das Konfigurationsverzeichnis für Canary- und Beta-Versionen von Android Studio kostet PreviewX.Y statt X.Y für den <version> Beispiel: Android Canary-Builds von Studio 4.1 verwenden AndroidStudioPreview4.1 anstelle der Verzeichnis AndroidStudio4.1, das für Releasekandidaten und die stabile Version verwendet wird Veröffentlichungen.

Kompilierungsproblem in Kotlin-Multiplattform-Projekten

Kompilierungsfehler können im Kotlin-MPP-Code aufgrund fehlender Symbole auftreten. Das Problem sollte durch ein Upgrade des Kotlin-Plug-ins auf Version 1.4 behoben werden.

Konflikte bei der Tastenzuordnung unter Linux

Unter Linux stehen bestimmte Tastenkombinationen in Konflikt mit der standardmäßigen Linux-Tastatur und denen gängiger Fenstermanager wie KDE und GNOME. Diese in Konflikt stehenden Tastenkombinationen funktionieren in Android Studio möglicherweise nicht wie erwartet.

Weitere Informationen zu diesem Problem und mögliche Problemumgehungen finden Sie hier: finden Sie im Fehler-Tracker von IntelliJ.

Kleiner UI-Text unter ChromeOS

Unter ChromeOS kann Text viel kleiner erscheinen als in früheren Versionen. So umgehen Sie das Problem:

  1. Öffnen Sie das Fenster Einstellungen, indem Sie auf Datei > Einstellungen klicken.
  2. Wählen Sie Darstellung und Verhalten > Darstellung.
  3. Wählen Sie Benutzerdefinierte Schriftart verwenden aus.
  4. Schrift vergrößern
  5. Gehen Sie im Fenster Einstellungen zu Editor > Schriftart:
  6. Die Schrift vergrößern
  7. Klicken Sie auf OK.

Codebearbeitung

In diesem Abschnitt werden bekannte Probleme im Zusammenhang mit dem Code-Editor beschrieben.

Eingefrorene Tastatureingabe – "iBus" Probleme unter Linux

Es gibt einige bekannte Interaktionen zwischen dem iBus-Daemon unter Linux und Android Studio. In einigen reagiert die IDE nicht mehr auf Tastatureingaben oder beginnt mit der Eingabe zufällige Zeichen. Dieser Fehler wird durch eine fehlende Synchronisierung ausgelöst. zwischen iBus und XLib und AWT und wurde bereits vorgelagert an JetBrains und iBus. Es gibt drei aktuelle Behelfslösungen für dieses Problem:

  • Problemumgehung 1: iBus in den synchronen Modus zwingen Vor dem Start von Android Studio, führen Sie in der Befehlszeile den folgenden Befehl aus:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • Problemumgehung 2: Deaktivieren Sie die iBus-Eingabe in Android Studio. So deaktivieren Sie die iBus-Eingabe nur für Android Studio verwenden, führen Sie den folgenden Befehl in der Befehlszeile aus:
    $ XMODIFIERS= ./bin/studio.sh
    Durch diese Problemumgehung werden nur die Eingabemethoden für Android Studio deaktiviert, nicht und allen anderen Anwendungen, die Sie ausführen. Beachten Sie, dass beim Neustart des -Daemon, während Android Studio ausgeführt wird (z. B. durch Ausführen von ibus-daemon -rd), deaktivieren Sie die Eingabemethoden für alle Anwendungen und kann auch die JVM von Android Studio mit einem Segmentierungsfehler.
  • Problemumgehung 3: Überprüfen Sie die Verknüpfungsbindungen, um sicherzustellen, dass die Tastenkombination für die nächste Eingabe nicht auf Strg + Leertaste eingestellt ist, da hier die Verknüpfung zur Codevervollständigung in Android Studio. Ubuntu 14.04 (Trusty) Super+Leertaste ist die Standard-Tastenkombination, aber die Einstellungen aus dem vorherigen sind möglicherweise noch verfügbar. Führen Sie zum Prüfen der Verknüpfungsbindungen den folgenden Befehl aus: ibus-setup in die Befehlszeile, um das Fenster mit den IBus-Einstellungen zu öffnen. Aktivieren Sie unter Tastenkombinationen die Option Nächste Eingabemethode. Falls ja auf Strg+Leertaste einstellen, ändern Sie es in Super+Leertaste oder eine andere Tastenkombination von die gewünschte Option auswählen.

Projektkonfiguration

In diesem Abschnitt werden bekannte Probleme im Zusammenhang mit der Projektkonfiguration und Gradle beschrieben. synchronisieren.

Gradle-Synchronisierung fehlgeschlagen: Defekte Pipe

Das Problem ist, dass der Gradle-Daemon versucht, IPv4 anstelle von IPv6 zu verwenden.

  • Problemumgehung 1: Unter Linux fügen Sie Folgendes in Ihr ~/.profile- oder ~/.bash_profile:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • Behelfslösung 2: in Android Studio in vmoptions . Datei ändere die Zeile -Djava.net.preferIPv4Addresses=true in -Djava.net.preferIPv6Addresses=true Weitere Informationen finden Sie in der Netzwerk-IPv6-Nutzer Anleitung.

„Peer nicht authentifiziert“ Fehler bei der Gradle-Synchronisierung oder dem SDK Manager

Die Ursache für diesen Fehler ist ein fehlendes Zertifikat in $JAVA_HOME/jre/lib/certificates/cacerts Fahre fort, um diese Fehler zu beheben wie folgt:

  • Wenn Sie sich hinter einem Proxy befinden, versuchen Sie, eine direkte Verbindung herzustellen. Wenn die direkte funktioniert, müssen Sie zum Herstellen einer Verbindung über den Proxy Verwenden Sie keytool, um der Datei "cacerts" das Zertifikat des Proxyservers hinzuzufügen.
  • Installieren Sie ein unterstütztes, unverändertes JDK neu. Es gibt eine bekanntes Problem die Ubuntu-Nutzer betrifft, was zu einer /etc/ssl/certs/java/cacerts Um dieses Problem zu umgehen, führen Sie den Geben Sie Folgendes in die Befehlszeile ein:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Wird bereitgestellt

In diesem Abschnitt werden bekannte Probleme bei der Bereitstellung Ihrer App auf einem verbundenen .

[Nur Mac OS] Inkrementelle Updates werden nicht angewendet, da ein Problem mit der Überwachung von Gradle-Dateien bei Projekten unter /System/Volumes/Data vorliegt.

Das Gradle-Problem 18149 betrifft Android-Gradle-Plug-in in der Version 7.0 und höher, da Gradle ab Version 7.0 erforderlich ist. Ab Gradle 7.0 ist die Dateibeobachtung standardmäßig aktiviert. Wenn du Mac OS verwendest und dein Projekt gespeichert ist unter /System/Volumes/Data, werden Dateiänderungen bei der Gradle-Dateiüberwachung nicht korrekt nachverfolgt. Dies führt dazu, dass das Build-System keine Dateiänderungen sieht und Aktualisieren Sie daher die APKs nicht. Mit dem Code für die inkrementelle Bereitstellung nichts, da der lokale APK-Status mit dem auf dem Gerät identisch ist.

Um dieses Problem zu umgehen, sollten Sie das Verzeichnis Ihres Projekts in Ihr Nutzerverzeichnis verschieben, also unter /Users/username. Das Build-System wird dann über die Gradle-Dateiüberwachung ordnungsgemäß über Dateiänderungen informiert und inkrementelle Änderungen werden erfolgreich angewendet.

Android-Emulator HAXM unter macOS High Sierra

Der Android-Emulator an Für macOS High Sierra (10.13) ist HAXM 6.2.1 oder höher erforderlich Kompatibilität und Stabilität mit macOS. Unter macOS 10.13 ist die Installation von Kernelerweiterungen wie HAXM jedoch etwas aufwendiger. Du brauchst um die Installation der Kernel-Erweiterung selbst manuell zuzulassen. Gehen Sie dazu so vor:

  1. Installieren Sie zuerst die neueste Version von HAXM aus dem SDK-Manager.
  2. Unter macOS: Gehen Sie zu Systemeinstellungen > Sicherheit und Datenschutz.
  3. Wenn Sie eine Benachrichtigung sehen, dass Systemsoftware des Entwicklers "Intel Corporation" Apps“ das Laden blockiert wurde, klicken Sie auf Zulassen:

Weitere Informationen und Problemumgehungen finden Sie unter dieser Apple-Webseite und Problem 62395878.

Änderungen übernehmen

In diesem Abschnitt werden bekannte Probleme im Zusammenhang mit der Anwendung Änderungen.

Neuer App-Name nicht angewendet

Wenn Sie Ihre App umbenennen und dann versuchen, diese Änderung anzuwenden, wird der neue Name möglicherweise nicht übernommen. Klicken Sie auf Ausführen, um dieses Problem zu umgehen. Symbol „Ausführen“ um Ihre Anwendung noch einmal bereitzustellen und Ihre Änderungen zu sehen.

Problem in Android Runtime löst Fehler aus

Wenn Sie ein Gerät mit Android 8.0 oder 8.1 verwenden, „VERIFICATION_ERROR“ wenn bestimmte Änderungen vorgenommen werden sollen. vor allem, wenn Sie Kotlin verwenden. Diese Meldung wird durch ein Problem mit dem Android Runtime, die in Android 9.0 und höher behoben wurde. Obwohl das Problem dazu führt, dass die Änderungen nicht übernommen werden, können Sie trotzdem noch die Option Ausführen auswählen. Symbol „Ausführen“ um die Änderungen zu sehen. Wir empfehlen jedoch, das Gerät auf Android 9.0 oder höher zu aktualisieren.

Fehlerbehebung und Tests

In diesem Abschnitt werden bekannte Probleme beim Debugging und Testen Ihrer App beschrieben.

JUnit testet fehlende Ressourcen im Klassenpfad, wenn sie über Android Studio ausgeführt wird

Wenn Sie in Ihren Java-Modulen bestimmte Ressourcenordner haben, Ressourcen werden beim Ausführen von Tests in der IDE nicht gefunden. Tests ausführen mit Gradle über die Befehlszeile funktioniert. Gradle-check ausführen aus der IDE funktioniert. Siehe Problem 64887 für weitere Informationen Details.

Dieses Problem tritt auf, weil ab IntelliJ 13 Sie nur noch einen einzelnen Ordner als Klassenpfad. Der Builder von IntelliJ kopiert alle Ressourcen in diesen Build-Ordner einfügen, aber Gradle kopiert die Ressourcen nicht.

  • Problemumgehung 1: Führen Sie die Gradle-Task check nicht über die IDE aus, sondern einen Unittest durchführen.
  • Problemumgehung 2: Aktualisieren Sie Ihr Build-Script, um Ressourcen manuell in den Build-Ordner zu kopieren. Weitere Informationen finden Sie unter Kommentar 13.

Bei der Ausführung von JUnit-Tests kann der Code zweimal kompiliert werden.

Beim Erstellen eines neuen Projekts wird möglicherweise die Vorlage für die JUnit-Konfiguration erstellt mit zwei „Vor der Markteinführung“ Schritte: Make and Gradle-aware Make. Diese Konfiguration wird dann an alle erstellten JUnit-Ausführungskonfigurationen weitergegeben.

  • Um das Problem für das aktuelle Projekt zu beheben, klicken Sie auf Ausführen > Bearbeiten Konfigurationen und ändern Sie die JUnit-Standardkonfiguration auf fügen Sie den Schritt "Gradle-aware" hinzu.
  • Wenn Sie das Problem für alle zukünftigen Projekte beheben möchten, klicken Sie auf Datei > Projekt schließen. Nun sollte der Begrüßungsbildschirm angezeigt werden. Klicken Sie dann auf Konfigurieren > Projektstandardeinstellungen > Ausführungskonfigurationen und ändern Sie die JUnit-Konfiguration so, dass nur der Gradle-kompatible Make-Schritt enthalten ist.

Einige Testlaufkonfigurationen funktionieren nicht

Nicht alle Ausführungskonfigurationen, sind verfügbar, wenn mit der rechten Maustaste auf eine Testmethode geklickt wird. Konkret bedeutet das folgende Konfigurationen sind ungültig:

  • Gradle-Ausführungskonfigurationen (mit dem Gradle-Logo als Symbol) funktionieren nicht.
  • JUnit-Ausführungskonfigurationen (mit einem Symbol ohne grünes Android) gelten nicht für Instrumentierungstests, die nicht auf der lokalen JVM ausgeführt werden können.
Android Studio speichert auch die Ausführungskonfiguration, die in einem bestimmten Kontext (z. B. ein Rechtsklick auf eine bestimmte Klasse oder Methode) in Zukunft in einer anderen Konfiguration ausgeführt werden soll. Klicken Sie zum Beheben des Problems auf Ausführen > Konfigurationen bearbeiten und entfernen Sie die falsch erstellten Konfigurationen.

Java-Haltepunkte beim Debuggen von nativem Code hinzufügen

Während Ihre App an einem Haltepunkt in Ihrer nativen Anwendung pausiert ist Auto- und Dual-Debugger möglicherweise nicht sofort erkennen, neuen Java-Haltepunkten, die Sie festgelegt haben. Fügen Sie Java-Haltepunkte hinzu, um dieses Problem zu vermeiden entweder vor dem Start einer Debug-Sitzung oder während die Anwendung auf einem Java-Client pausiert wird. Haltepunkt an. Weitere Informationen findest du unter Problem 229949.

Nativen Debugger verlassen

Wenn Sie den Auto- oder Dual-Debugger verwenden, Debuggen von Java und nativem Code, wenn Sie eine native Funktion von Ihren Java-Code (z. B. pausiert der Debugger die Ausführung an einer Zeile in der Java-Code, der eine native Funktion aufruft und auf Step Into klickt. ) und zu Ihrem Java-Code zurückkehren möchten, klicken Sie auf Programm fortsetzen (anstelle von Step Out oder Step Over ). Ihr Anwendungsprozess bleibt pausiert. Klicken Sie daher auf Fortsetzen Programm in your-module-java , um ihn fortzusetzen. Weitere Informationen findest du unter Problem 224385.

Der native Debugger hängt beim Laden von Bibliotheken auf

Bei der ersten Verwendung des nativen Debugger nach dem Upgrade auf Android ab Studio 4.2 reagiert der native Debugger möglicherweise nicht mehr auf dem Android-Gerät. Dieses Problem tritt weiterhin auf. selbst wenn Sie den Debugger beenden und neu starten. Löschen Sie den LLDB-Cache unter $USER/.lldb/module-cache/, um das Problem zu beheben.

Nativer Debugger stürzt mit der Meldung „Debuggerprozess beendet mit dem Exit-Code 127“ ab

Dieser Fehler tritt auf Linux-basierten Plattformen auf, wenn die den nativen Debugger. Es gibt an, dass eine der Bibliotheken, die für die native Debugger ist nicht auf dem lokalen System installiert. Der Name des fehlenden Elements Bibliothek möglicherweise bereits in der Datei idea.log gedruckt. Falls nicht, können Sie um zum Installationsverzeichnis von Android Studio zu wechseln und bin/lldb/bin/LLDBFrontend --version, um zu erfahren, welche Bibliotheken fehlen. In der Regel ist die fehlende Bibliothek ncurses5, da einige neuere Linux-Distributionen bereits auf ncurses6 umgestellt haben.

Profiler

In diesem Abschnitt werden bekannte Probleme mit Profilern beschrieben.

Nativer Arbeitsspeicher-Profiler: Profilerstellung ist beim Start der Anwendung nicht verfügbar

Der Native Memory Profiler ist derzeit beim Start der Anwendung nicht verfügbar. Diese Option wird in einer künftigen Version verfügbar sein.

Als Behelfslösung können Sie den eigenständigen Perfetto-Befehlszeilen-Profiler verwenden. um Startprofile zu erfassen.

Zeitüberschreitungsfehler im CPU-Profiler

Möglicherweise wird die Meldung „Aufzeichnung konnte nicht beendet werden“ angezeigt. Fehler in der Android Studio-CPU Profiler, wenn Sie Java-Beispielmethoden oder Java-Trace-Methoden auswählen Konfigurationen. Dies sind häufig Zeitüberschreitungsfehler, insbesondere wenn folgende Fehlermeldung in der Datei idea.log:

Wait for ART trace file timed out

Zeitüberschreitungsfehler treten bei getrackten Methoden häufiger auf als bei Stichprobenmethoden und bei längeren Aufzeichnungen häufiger als bei kürzeren. Um das Problem zu umgehen, Versuchen Sie es mit kürzeren Aufnahmen, um zu sehen, ob der Fehler nicht mehr auftritt.

Falls in Profiler Probleme mit der Zeitüberschreitung auftreten, melden Sie den Fehler. die die Marke und das Modell Ihrer Geräte sowie alle relevanten Einträge aus idea.log und logcat.

ADB-Ausnahme bei der Fehlerbehebung oder Profilerstellung

Bei Verwendung der Plattformtools 29.0.3 ist das native Debugging und die Profiler funktionieren möglicherweise nicht richtig. Außerdem sehen Sie möglicherweise entweder „AdbCommandAbgelehntException“ oder „Port konnte nicht verbunden werden“ im idea.log wenn Sie Hilfe > Protokoll anzeigen. Upgrade der Plattformtools auf Ab 29.0.4 werden beide Probleme behoben.

So führen Sie ein Upgrade der Plattformtools aus:

  1. Öffnen Sie den SDK Manager in Android Studio, indem Sie auf Tools > SDK-Manager oder klicken Sie auf SDK-Manager. in der Symbolleiste.
  2. Klicke auf das Kästchen neben Android SDK Plattform-Tools, sodass ein Häkchen angezeigt wird. In der linken Spalte sollte ein Downloadsymbol  angezeigt werden.
  3. Klicken Sie auf Übernehmen oder OK.

Plug-in verhindert, dass das Build-Ausgabefenster funktioniert

Mit dem Plug-in CMake Simple Highlighter werden Inhalte nicht im Fenster „Build-Ausgabe“ angezeigt. Der Build wird ausgeführt und der Tab "Build-Ausgabe" wird angezeigt, aber Es wird keine Ausgabe ausgegeben (Problem Nr. 204791544).

Installationsreihenfolge verhindert Start

Wenn du eine neuere Version von Android Studio vor einer älteren Version installierst verhindern, dass die ältere Version gestartet wird. Wenn Sie beispielsweise die Canary-Version von Android Studio. Versuchen Sie dann, die stabile Version wird die stabile Version möglicherweise nicht gestartet. In solchen Fällen müssen Sie Leeren Sie den Cache, damit die stabile (ältere) Version gestartet werden kann. Unter macOS: Löschen Lösche den Cache Library/ApplicationSupport/Google/AndroidStudioversion_number -Verzeichnis. Verwenden Sie zum Leeren des Cache unter Windows Datenträgerbereinigung

Der Espresso Test Recorder funktioniert nicht mit der Funktion „Compose“

Die Espresso-Testrekorder funktioniert nicht mit Projekten, in denen die Funktion "Schreiben" enthalten ist. Um UI-Tests für Projekte zu erstellen Weitere Informationen

Logcat-Tastenkombinationen stehen mit nicht englischen Tastaturlayouts in Konflikt

Wenn Sie ein nicht englisches Tastaturlayout verwenden, eine Standard-Logcat-Tastatur kann dies mit dem Layout in Konflikt stehen und verhindern, dass Sie bestimmte wenn Sie Text in Android Studio bearbeiten. Um dieses Problem zu umgehen, die in Konflikt stehende Logcat-Tastaturbelegung löschen oder neu zuordnen. Wenn Sie die Logcat-Tastenkombinationen in Android Studio bearbeiten möchten, gehen Sie zu Android Studio > Einstellungen > Tastenkombination und suchen Sie in der Liste der Tastenkombinationen nach Logcat. Weitere Informationen finden Sie unter issue #263475910.

Dieses Problem wird durch Entfernen der Logcat-Verknüpfung in Android behoben. Studio Electric Eel Patch 1.

Bekannte Probleme mit dem Android Gradle-Plug-in

In diesem Abschnitt werden bekannte Probleme beschrieben, die in der neuesten stabilen Version von das Android-Gradle-Plug-in.

Nicht alle Abhängigkeiten der Bibliothek mit dynamischen Funktionen werden mit Lint geprüft

Wenn Sie Lint mit checkDependencies = true aus einem App-Modul ausführen, Abhängigkeiten der Bibliothek mit dynamischen Funktionen werden nur geprüft, wenn sie auch Abhängigkeiten (Problem Nr. 191977888) Als Behelfslösung kann die Lint-Aufgabe auf diesen Bibliotheken ausgeführt werden.

Signaturdatei mit Zeilenumbruchzeichen

Die JAR-Signatur (V1-Schema) unterstützt keine Dateinamen, die Wagenrücklaufzeichen enthalten (Problem #63885809).

Das Ändern von Variantenausgaben zum Zeitpunkt des Builds funktioniert möglicherweise nicht

Die Bearbeitung von Variantenausgaben über die Variant API funktioniert mit der neuen . Es funktioniert auch für einfache Aufgaben wie das Ändern des APK-Namens während wie unten dargestellt:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

Kompliziertere Aufgaben, bei denen auf outputFile-Objekte zugegriffen wird funktionieren nicht mehr. Das liegt daran, dass variantenspezifische Aufgaben nicht mehr erstellt werden. während der Konfigurationsphase. Das führt dazu, dass das Plug-in alle Ausgaben im Voraus zu erhalten, aber auch schnellere Konfigurationszeiten.

„manifestOutputFile“ ist nicht mehr verfügbar

Die Methode processManifest.manifestOutputFile() ist nicht mehr verfügbar verfügbar und Sie erhalten beim Aufruf die folgende Fehlermeldung:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

Anstatt manifestOutputFile() aufzurufen, um die Manifestdatei für jedes Element abzurufen können Sie processManifest.manifestOutputDirectory() aufrufen, Pfad des Verzeichnisses, das alle generierten Manifeste enthält. Anschließend können Sie und deine Logik darauf anwenden. Im folgenden Beispiel wurde dynamisch den Versionscode im Manifest ändert:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

Probleme mit der AIDL-Unterstützung für AGP 7.3.0 und Kotlin 1.7.x

Die Verwendung von AGP 7.3.0 mit KAPT in Kotlin 1.7.x führt dazu, dass die AIDL-Quellsätze für bestimmte Build-Varianten zu entfernen. Sie können weiterhin die anderen AIDL-Quellsätze verwenden, einschließlich der von main/, Buildtypen, Produktvarianten und Kombinationen von Produktvarianten. Wenn Sie die variantenspezifischen AIDL-Quellsätze verwenden müssen, verwenden Sie weiterhin Kotlin 1.6.21.

Bekannte Probleme behoben

In diesem Abschnitt werden bekannte Probleme beschrieben, die in einer neuen Version behoben wurden. Wenn Wenn eines dieser Probleme auftritt, sollten Sie Android Studio auf die neueste stabile Version oder Vorabversion.

Behoben in Android Studio 2021.1.1

  • Fehlende Lint-Ausgabe: Es wird kein Lint-Text an stdout ausgegeben, wenn Die Lint-Aufgabe ist UP-TO-DATE (Ausgabe 191897708). Festgelegt in AGP 7.1.0-alpha05.
  • Probleme beim Unittest eines App-Projekts, das das Hilt-Plug-in verwendet: Der Einheitentest-Klassenpfad enthält die nicht instrumentierten App-Klassen. Das bedeutet, Hilt instrumentiert die App-Klassen nicht, um die Abhängigkeitsinjektion zu handhaben, wenn Einheitentests ausführen (Problem-Nr. 213534628) Behoben in AGP 7.1.1.

In Android Studio 2020.3.1 behoben

  • Lint-Ausnahmen in Kotlin-Projekten: Kotlin-Projekte, die Folgendes festlegen: Bei checkDependencies = true können Ausnahmen oder Fehler mit Null-Cursorn auftreten (Problem-Nr. 158777858)

Behoben in Android Studio 4.2

  • IDE friert unter macOS Big Sur ein:Android Studio 4.1 friert möglicherweise ein, wenn Sie ein Dialogfeld zu öffnen.

Behoben in Android Studio 4.1

  • Neu starten, um Arbeitsspeichereinstellungen aus vorheriger IDE-Version anzuwenden: Nach Wenn Sie Android Studio aktualisieren, müssen Sie Android Studio neu starten, um Arbeitsspeichereinstellungen, die von einer früheren Version der IDE migriert wurden.
  • Manifestklasse mit benutzerdefinierten Berechtigungsstrings wird nicht mehr generiert von default (Standardeinstellung): Wenn Sie den Kurs generieren möchten, legen Sie Folgendes fest: android.generateManifestClass = true

Behoben in Android Studio 3.6

  • APK-Installationsfehler unter LineageOS: App wird auf Geräten bereitgestellt Versionen von LineageOS oder CyanogenMod ausführen, schlägt möglicherweise fehl und Ausnahme vom Typ INSTALL_PARSE_FAILED_NOT_APK.

    Unter Android Studio 3.6 Beta 1 und höher verarbeitet die IDE diese Ausnahme durch Eine vollständige App-Installation beim Bereitstellen der App ausführen auf LineageOS- oder CyanogenMod-Geräte, was eine längere Bereitstellung Mal.

Behoben in Android Studio 3.5.2

  • Fehlerhafter XML-Codestil: Beim Bearbeiten von XML-Code hat die IDE einen falschen Codestil angewendet, als Sie in der Menüleiste Code > Code neu formatieren ausgewählt haben.

In Android Studio 3.3.1 behoben

  • Fehler aufgrund fehlenden Arbeitsspeichers beim Scannen von C++-basierten Projekten: Wenn Gradle scannt ein Projekt mit C++ Code an mehr als einem Speicherort auf demselben Laufwerk erstellt, Scan enthält alle Verzeichnisse unterhalb des ersten gemeinsamen Verzeichnisses. Suche läuft eine große Anzahl an Verzeichnissen und Dateien kann zu Fehlern mit unzureichendem Arbeitsspeicher führen.

    Weitere Informationen zu diesem Thema finden Sie unter den bug, der mit dem Problem.