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

Auf dieser Seite werden bekannte Probleme mit Android Studio Koala und dem Android-Gradle-Plug-in 8.5.0 beschrieben. Falls ein Problem auftritt, das hier nicht aufgeführt ist, melden Sie den Fehler.

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

Bekannte Probleme mit Android Studio

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

Unterschiede im Verhalten von Gemini in Android Studio: .aiexclude

Wenn du die Kontextfreigabe für Gemini in Android Studio konfigurierst, verhalten sich .aiexclude-Dateien bis auf die folgenden Ausnahmen wie .gitignore-Dateien:

  • Durch eine leere .aiexclude-Datei werden alle Dateien in ihrem Verzeichnis und allen Unterverzeichnissen blockiert. Dies ist dasselbe wie eine Datei, die nur „*“ enthält.
  • .aiexclude-Dateien unterstützen keine Negation (Präfixmuster mit !).

Im Firebase Assistant-Fenster wird eine Fehlermeldung angezeigt

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

Isolieren einer Ansicht mit Layout Inspector nicht möglich

Das Isolieren einer Ansicht mit dem eingebetteten Layout Inspector ist vorübergehend nicht möglich. 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 mit dem Layout Inspector feststellen, dass nicht alle Erstellungsknoten untersucht werden können, liegt dies wahrscheinlich an einem Fehler, der in Compose-Version 1.5.0-alpha04 behoben wurde. Wenn dieses Problem bei Ihnen auftritt, führen Sie ein Upgrade auf Compose-Version 1.5.0-alpha04 oder höher aus.

Fehler beim Rendern der Schreibvorschau

Ab Android Studio Chipmunk sollten Sie in Ihrem Modul eine debugImplementation-Abhängigkeit für androidx.lifecycle:lifecycle-viewmodel-savedstate angeben, wenn java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner oder java.lang.ClassNotFoundException: androidx.savedstate.R$id im Bereich „Probleme“ angezeigt wird.

Wenn im Bereich „Probleme“ java.lang.NoSuchFieldError: view_tree_lifecycle_owner angezeigt wird, fügen Sie in Ihrem Modul eine debugImplementation-Abhängigkeit von androidx.lifecycle:lifecycle-runtime ein.

Wenn im Bereich „Probleme“ java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer oder java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener angezeigt wird, musst du in deinem Modul eine debugImplementation-Abhängigkeit von androidx.customview:customview-poolingcontainer angeben.

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 du Build > Signiertes Bundle / APK generieren aufrufst und versuchst, die App-Signatur für ein App Bundle oder APK zu konfigurieren, kann die Eingabe unterschiedlicher Passwörter für Schlüssel und Schlüsselspeicher zu folgendem Fehler führen:

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

Geben Sie für den Schlüssel und den Schlüsselspeicher dasselbe Passwort ein, um dieses Problem zu umgehen.

Android Studio startet nach der Installation von Version 4.2 nicht mehr

Studio versucht, vorherige .vmoptions zu importieren und sie so zu bereinigen, dass sie mit dem von JDK 11 verwendeten Garbage Collector zusammenarbeiten. Wenn dieser Vorgang fehlschlägt, wird die IDE für bestimmte Nutzer, die in der .vmoptions-Datei benutzerdefinierte VM-Optionen festgelegt haben, möglicherweise nicht gestartet.

Zur Umgehung dieses Problems empfehlen wir, die benutzerdefinierten Optionen in .vmoptions mit dem Zeichen "#" auszukommentieren. Die Datei .vmoptions befindet sich an folgenden Speicherorten:

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

Falls Studio auch nach dieser Problemumgehung nicht gestartet wird, lesen Sie den Abschnitt 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 abstürzen, wenn sie auf dem Android 11-Emulator ausgeführt werden. Dabei wird im Logcat 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. Rufe dazu Tools > SDK-Manager auf. Klicken Sie auf dem Tab SDK-Plattformen auf das Kästchen Paketdetails anzeigen und wählen Sie Version 9 oder höher des Android 11-Emulators aus.

Studio startet nach dem Upgrade nicht

Wenn Studio nach einem Upgrade nicht gestartet wird, kann das an einer ungültigen Android Studio-Konfiguration liegen, die aus einer früheren Version von Android Studio importiert wurde, oder an einem inkompatiblen Plug-in. Um das Problem zu umgehen, können Sie je nach Android Studio-Version und -Betriebssystem das unten angegebene Verzeichnis löschen (oder umbenennen, zu Sicherungszwecken). Versuchen Sie dann noch einmal, Android Studio zu starten. Dadurch wird Android Studio auf den Standardzustand zurückgesetzt und alle Drittanbieter-Plug-ins werden entfernt.

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

Das Konfigurationsverzeichnis für Canary- und Betaversionen von Android Studio ist PreviewX.Y anstelle von X.Y für <version>. Beispielsweise verwenden Builds von Android Studio 4.1 Canary AndroidStudioPreview4.1 anstelle des Verzeichnisses AndroidStudio4.1, das für Releasekandidaten und stabile Releases genutzt wird.

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.

Schlüsselzuordnungskonflikte unter Linux

Unter Linux stehen bestimmte Tastenkombinationen in Konflikt mit den Standard-Linux-Tastenkombinationen 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, einschließlich möglicher Problemumgehungen, 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 dieses Problem:

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

Codebearbeitung

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

Eingefrorene Tastatureingabe – Probleme mit iBus unter Linux

Es gibt einige bekannte Interaktionen zwischen dem iBus-Daemon unter Linux und Android Studio. In einigen Szenarien reagiert die IDE nicht mehr auf Tastatureingaben oder beginnt mit der Eingabe zufälliger Zeichen. Dieser Fehler wird durch eine fehlende Synchronisierung zwischen iBus und XLib und AWT ausgelöst und wurde bereits vorgelagert an JetBrains und iBus gemeldet. Dieses Problem lässt sich aktuell auf drei Arten umgehen:

  • Problemumgehung 1: Erzwingen Sie iBus in den synchronen Modus. Bevor Sie Android Studio starten, führen Sie folgenden Befehl in der Befehlszeile aus:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • Problemumgehung 2: Deaktivieren Sie die iBus-Eingabe in Android Studio. Um die iBus-Eingabe nur für Android Studio zu deaktivieren, führen Sie folgenden Befehl in der Befehlszeile aus:
    $ XMODIFIERS= ./bin/studio.sh
    Mit dieser Problemumgehung werden nur die Eingabemethoden für Android Studio deaktiviert. Für andere Anwendungen, die möglicherweise ausgeführt werden, werden keine anderen Anwendungen deaktiviert. Wenn Sie den Daemon neu starten, während Android Studio ausgeführt wird (z. B. durch Ausführen von ibus-daemon -rd), deaktivieren Sie effektiv die Eingabemethoden für alle anderen Anwendungen. Außerdem können Sie die JVM von Android Studio mit einem Segmentierungsfehler zum Absturz bringen.
  • Problemumgehung 3:Überprüfen Sie die Verknüpfungsbindungen noch einmal und achten Sie darauf, dass die Taste zur Eingabe der nächsten Eingabe nicht auf Strg + Leertaste festgelegt ist, da dies auch die Verknüpfung zur Codevervollständigung in Android Studio ist. In Ubuntu 14.04 (Trusty) ist Super+Space die Standardkombination. Einstellungen aus früheren Versionen können aber noch vorhanden sein. Führen Sie zum Prüfen der Verknüpfungsbindungen in der Befehlszeile ibus-setup aus, um das Fenster mit den IBus-Einstellungen zu öffnen. Aktivieren Sie unter Tastenkombinationen die Option Nächste Eingabemethode. Wenn es auf Strg + Leertaste eingestellt ist, ändern Sie es in Super + Leertaste oder eine andere Tastenkombination Ihrer Wahl.

Projektkonfiguration

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

Gradle-Synchronisierung fehlgeschlagen: Defekte Pipe

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

  • Problemumgehung 1: Geben Sie unter Linux Folgendes in ~/.profile oder ~/.bash_profile ein:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • Problemumgehung 2: Ändern Sie in der vmoptions-Datei von Android Studio die Zeile -Djava.net.preferIPv4Addresses=true in -Djava.net.preferIPv6Addresses=true. Weitere Informationen finden Sie im Nutzerhandbuch für IPv6 für Netzwerke.

Fehler des Typs „Peer nicht authentifiziert“ bei Gradle-Synchronisierung oder SDK Manager

Die Ursache für diesen Fehler ist ein fehlendes Zertifikat in $JAVA_HOME/jre/lib/certificates/cacerts. Gehen Sie so vor, um diese Fehler zu beheben:

  • Wenn Sie sich hinter einem Proxy befinden, versuchen Sie, eine direkte Verbindung herzustellen. Wenn die direkte Verbindung funktioniert, müssen Sie für die Verbindung über den Proxy möglicherweise keytool verwenden, um das Zertifikat des Proxyservers der cacerts-Datei hinzuzufügen.
  • Installieren Sie ein unterstütztes, unverändertes JDK noch einmal. Es gibt ein bekanntes Problem von Ubuntu-Nutzern, das zu einem leeren /etc/ssl/certs/java/cacerts führt. Um dieses Problem zu umgehen, führen Sie in der Befehlszeile folgenden Befehl aus:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

Wird bereitgestellt

In diesem Abschnitt werden bekannte Probleme bei der Bereitstellung der App auf einem verbundenen Gerät beschrieben.

[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 die Android-Gradle-Plug-in-Version 7.0 und höher, da Gradle-Version 7.0 oder höher erforderlich ist. Ab Gradle 7.0 ist die Dateibeobachtung standardmäßig aktiviert. Wenn Sie mit Mac OS arbeiten und Ihr Projekt unter /System/Volumes/Data gespeichert ist, werden Dateiänderungen von der Gradle-Datei, die Sie beobachten, nicht ordnungsgemäß nachverfolgt. Dies führt dazu, dass das Build-System keine Dateiänderungen erkennt und die APKs daher nicht aktualisiert werden. Der inkrementelle Bereitstellungscode führt dann nichts aus, da der lokale APK-Status mit dem auf dem Gerät identisch ist.

Zur Umgehung dieses Problems sollten Sie das Projektverzeichnis in Ihr Nutzerverzeichnis unter /Users/username verschieben. Das Build-System wird dann ordnungsgemäß über Dateiänderungen durch die Gradle-Dateiüberwachung benachrichtigt und inkrementelle Änderungen werden erfolgreich angewendet.

Android-Emulator HAXM unter macOS High Sierra

Der Android-Emulator unter macOS High Sierra 10.13 erfordert HAXM 6.2.1 oder höher, um die beste Kompatibilität und Stabilität mit macOS zu gewährleisten. Unter macOS 10.13 ist die Installation von Kernel-Erweiterungen wie HAXM jedoch komplexer. Sie müssen die Installation der Kernel-Erweiterung manuell so manuell zulassen:

  1. Versuchen Sie zuerst, die neueste Version von HAXM über den SDK Manager zu installieren.
  2. Unter macOS gehen Sie zu Systemeinstellungen > Sicherheit und Datenschutz.
  3. Wenn Sie in einer Benachrichtigung darauf hingewiesen werden, dass das Laden der Systemsoftware des Entwicklers „Intel Corporation Apps“ blockiert wurde, klicken Sie auf Zulassen:

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

Änderungen übernehmen

In diesem Abschnitt werden bekannte Probleme im Zusammenhang mit Änderungen übernehmen beschrieben.

Neuer App-Name nicht angewendet

Wenn Sie Ihre Anwendung umbenennen und dann versuchen, diese Änderung anzuwenden, wird der aktualisierte Name möglicherweise nicht übernommen. Zum Umgehen dieses Problems klicken Sie auf Ausführen Symbol „Ausführen“, um die Anwendung noch einmal bereitzustellen und die Änderungen zu sehen.

Problem in Android Runtime löst Fehler aus

Wenn Sie ein Gerät mit Android 8.0 oder 8.1 verwenden, erhalten Sie möglicherweise die Meldung „VERIFICATION_ERROR“, wenn Sie versuchen, bestimmte Arten von Änderungen anzuwenden. Dies gilt insbesondere, wenn Sie Kotlin verwenden. Diese Meldung wird durch ein Problem mit der Android Runtime verursacht, das in Android 9.0 und höher behoben wurde. Das Problem führt zwar dazu, dass die Anwendung von Änderungen nicht übernommen werden kann, Sie können Ihre Anwendung aber trotzdem mit Ausführen Symbol „Ausführen“ noch einmal ausführen, um die Änderungen zu sehen. Wir empfehlen jedoch ein Upgrade auf Android 9.0 oder höher.

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 sich in Ihren Java-Modulen bestimmte Ressourcenordner befinden, werden diese Ressourcen beim Ausführen von Tests in der IDE nicht gefunden. Tests mit Gradle über die Befehlszeile funktionieren. Die Gradle-Aufgabe check funktioniert auch über die IDE. Weitere Informationen finden Sie unter Problem 64887.

Dieses Problem tritt auf, da ab IntelliJ 13 nur ein einziger Ordner als Klassenpfad erforderlich ist. Der Builder von IntelliJ kopiert alle Ressourcen in diesen Build-Ordner, aber Gradle kopiert die Ressourcen nicht.

  • Problemumgehung 1: Führen Sie die Gradle-Aufgabe check in der IDE aus, anstatt einen Einheitentest auszuführen.
  • Problemumgehung 2: Aktualisieren Sie Ihr Build-Skript, um Ressourcen manuell in den Build-Ordner zu kopieren. Weitere Informationen finden Sie in Kommentar 13.

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

Beim Erstellen eines neuen Projekts kann die JUnit-Konfigurationsvorlage in zwei Schritten vor dem Start erstellt werden: „Make“ und „Gradle-aware Make“. Diese Konfiguration wird dann an alle erstellten JUnit-Ausführungskonfigurationen weitergegeben.

  • Klicken Sie auf Run > Edit Configurations (Ausführen > Konfigurationen bearbeiten) und ändern Sie die JUnit-Standardkonfiguration so, dass nur der Schritt „Gradle-aware Make“ enthalten ist, um das Problem für das aktuelle Projekt zu beheben.
  • Klicken Sie auf File > Close Project (Datei > Projekt schließen), um das Problem für alle zukünftigen Projekte zu beheben. Nun sollte der Begrüßungsbildschirm angezeigt werden. Klicken Sie dann auf Configure > Project Defaults > Run Configurations und ändern Sie die JUnit-Konfiguration so, dass nur der Schritt „Gradle-aware Make“ enthalten ist.

Einige Testlaufkonfigurationen funktionieren nicht

Nicht alle Ausführungskonfigurationen, die durch Rechtsklick auf eine Testmethode verfügbar sind, sind gültig. Insbesondere folgende Konfigurationen sind ungültig:

  • Gradle-Ausführungskonfigurationen (mit einem Gradle-Logo als Symbol) funktionieren nicht.
  • JUnit-Ausführungskonfigurationen (mit einem Symbol ohne das grüne Android-Symbol) gelten nicht für Instrumentierungstests, die nicht auf der lokalen JVM ausgeführt werden können.
Android Studio speichert auch die in einem bestimmten Kontext erstellte Ausführungskonfiguration (z. B. durch Rechtsklick auf eine bestimmte Klasse oder Methode) und bietet keine weitere Ausführung in einer anderen Konfiguration an. Klicken Sie auf Run > Edit Configurations (Ausführen > Konfigurationen bearbeiten) und entfernen Sie die falsch erstellten Konfigurationen, um dieses Problem zu beheben.

Java-Haltepunkte beim Debuggen von nativem Code hinzufügen

Während die Anwendung an einem Haltepunkt im nativen Code pausiert wird, erkennen die Auto- und Dual-Debugger möglicherweise nicht sofort neue Java-Haltepunkte, die Sie festgelegt haben. Um dieses Problem zu vermeiden, fügen Sie Java-Haltepunkte hinzu, bevor Sie eine Fehlerbehebungssitzung starten oder während die Anwendung an einem Java-Haltepunkt pausiert ist. Weitere Informationen finden Sie unter Problem 229949.

Nativen Debugger verlassen

Wenn Sie den Auto- oder Dual-Debugger zum Debuggen von Java und nativem Code verwenden, wenn Sie eine native Funktion aus Ihrem Java-Code aufrufen (z. B. unterbricht der Debugger die Ausführung an einer Zeile in Ihrem Java-Code, die eine native Funktion aufruft und Sie auf Step Into klicken) und Sie zu Ihrem Java-Code zurückkehren möchten, klicken Sie auf Fortsetzen, (anstatt auf Fortsetzen, oder Step Out, oder Step Out oder Step Out, oder Step Out, oder Step Out, oder Step Out, oder Step Out, oder Step Out, oder Step Out, oder Step Out, oder Step Outyour-module Weitere Informationen finden Sie unter Problem 224385.

Der native Debugger hängt beim Laden von Bibliotheken auf

Wenn Sie den nativen Debugger zum ersten Mal nach dem Upgrade auf Android Studio 4.2 und höher verwenden, reagiert der native Debugger möglicherweise nicht mehr, während Bibliotheken vom Android-Gerät geladen werden. Dabei handelt es sich um ein dauerhaftes Problem, das auch dann weiterhin auftritt, wenn Sie den Debugger beenden und neu starten. Löschen Sie den LLDB-Cache unter $USER/.lldb/module-cache/, um dieses Problem zu beheben.

Der native Debugger stürzt mit „Debugger-Prozess mit Exit-Code 127 beendet“ ab

Dieser Fehler tritt auf Linux-basierten Plattformen auf, wenn der native Debugger gestartet wird. Er gibt an, dass eine der für den nativen Debugger erforderlichen Bibliotheken nicht auf dem lokalen System installiert ist. Der Name der fehlenden Bibliothek wurde möglicherweise bereits in der Datei idea.log angegeben. Falls nicht, können Sie über ein Terminal das Android Studio-Installationsverzeichnis aufrufen und die bin/lldb/bin/LLDBFrontend --version-Befehlszeile ausführen, um zu ermitteln, welche Bibliotheken fehlen. In der Regel ist ncurses5 die fehlende Bibliothek, da für einige neue Linux-Distributionen bereits ein Upgrade auf ncurses6 durchgeführt wurde.

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

Wenn Sie die Konfiguration Java-Beispielmethoden oder Trace-Java-Methoden auswählen, kann im CPU Profiler von Android Studio die Fehlermeldung „Aufzeichnung konnte nicht gestoppt werden“ auftreten. Dies sind häufig Zeitüberschreitungsfehler, insbesondere wenn die folgende Fehlermeldung in der Datei idea.log angezeigt wird:

Wait for ART trace file timed out

Zeitüberschreitungsfehler haben tendenziell mehr Auswirkungen auf die verfolgten Methoden als auf Stichproben und längere Aufzeichnungen stärker als kürzere. Als vorübergehende Behelfslösung kann es hilfreich sein, kürzere Aufnahmen zu verwenden, um zu sehen, ob der Fehler verschwindet.

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

ADB-Ausnahme bei der Fehlerbehebung oder Profilerstellung

Wenn Sie Platform Tools 29.0.3 verwenden, funktionieren das native Debugging und die Profiler-Funktion von Android Studio möglicherweise nicht richtig. Wenn Sie Help > Show Log (Hilfe > Log anzeigen) auswählen, wird in der Datei idea.log entweder "AdbCommandFailedException" oder "Failed to connect port" angezeigt. Durch ein Upgrade der Plattformtools auf 29.0.4 oder höher werden beide Probleme behoben.

So führen Sie ein Upgrade der Plattformtools aus:

  1. Öffnen Sie den SDK-Manager in Android Studio. Klicken Sie dazu auf Tools > SDK-Manager oder in der Symbolleiste auf SDK-Manager .
  2. Klicke auf das Kästchen neben Android SDK Platform-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 wird verhindert, dass Inhalte im Build-Ausgabefenster angezeigt werden. Der Build wird ausgeführt und der Tab „Build-Ausgabe“ wird angezeigt, aber es wird keine Ausgabe gedruckt (Problem #204791544).

Installationsreihenfolge verhindert Start

Wenn Sie eine neuere Version von Android Studio vor einer älteren Version installieren, wird die ältere Version möglicherweise nicht gestartet. Wenn Sie beispielsweise zuerst die Canary-Version von Android Studio installieren und dann versuchen, die stabile Version zu installieren und zu starten, wird die stabile Version möglicherweise nicht gestartet. In solchen Fällen müssen Sie den Cache leeren, damit die stabile (ältere) Version gestartet wird. Löschen Sie unter macOS das Verzeichnis Library/ApplicationSupport/Google/AndroidStudioversion_number, um den Cache zu leeren. Unter Windows können Sie den Cache mit der Datenträgerbereinigung leeren.

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

Der Espresso Test Recorder funktioniert nicht bei Projekten, die Compose enthalten. Informationen zum Erstellen von UI-Tests für Projekte, die „Compose“ enthalten, finden Sie unter „Compose“-Layout testen.

Logcat-Tastenkombinationen stehen mit nicht englischen Tastaturlayouts in Konflikt

Wenn Sie ein nicht englisches Tastaturlayout verwenden, kann ein Standard-Logcat-Tastaturkürzel in Konflikt mit dem Layout stehen und verhindern, dass Sie beim Bearbeiten von Text in Android Studio bestimmte Zeichen eingeben. Löschen oder ordnen Sie die in Konflikt stehende Logcat-Tastaturbelegung neu zu, um dieses Problem zu umgehen. Rufen Sie zum Bearbeiten der Logcat-Tastaturbelegungen in Android Studio Android Studio > Einstellungen > Tastaturbelegung auf und suchen Sie in der Liste der Tastaturbelegungen nach Logcat. Weitere Informationen finden Sie unter Problem #263475910.

Dieses Problem wird behoben, indem die Logcat-Verknüpfung in Android Studio Electric Eel Patch 1 entfernt wird.

Bekannte Probleme mit dem Android-Gradle-Plug-in

In diesem Abschnitt werden bekannte Probleme in der neuesten stabilen Version des Android-Gradle-Plug-ins beschrieben.

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

Wenn Sie Lint mit checkDependencies = true aus einem Anwendungsmodul ausführen, werden Abhängigkeiten der Bibliothek dynamischer Funktionen nur geprüft, wenn es sich auch um Anwendungsabhängigkeiten handelt (Problem 191977888). Als Behelfslösung kann die Lint-Aufgabe auf diesen Bibliotheken ausgeführt werden.

Signieren der Datei mit dem Namen mit Zeilenumbruchzeichen

Die JAR-Signatur (V1-Schema) unterstützt keine Dateinamen mit Zeilenumbrüchen (Problem #63885809).

Das Ändern der Variantenausgaben während der Build-Erstellung funktioniert möglicherweise nicht

Die Bearbeitung von Variantenausgaben über die Variant API funktioniert mit dem neuen Plug-in nicht mehr. Für einfache Aufgaben wie das Ändern des APK-Namens während der Build-Erstellung kann sie weiterhin verwendet werden, wie unten gezeigt:

// 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 der Zugriff auf outputFile-Objekte erforderlich ist, funktionieren jedoch nicht mehr. Das liegt daran, dass variantenspezifische Aufgaben in der Konfigurationsphase nicht mehr erstellt werden. Dies führt dazu, dass das Plug-in nicht alle seine Ausgaben im Voraus kennt, aber auch die Konfigurationszeiten verkürzt.

„manifestOutputFile“ ist nicht mehr verfügbar

Die Methode processManifest.manifestOutputFile() ist nicht mehr verfügbar und du erhältst 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 jede Variante abzurufen, können Sie auch processManifest.manifestOutputDirectory() aufrufen, um den Pfad des Verzeichnisses zurückzugeben, das alle generierten Manifeste enthält. Sie können dann ein Manifest suchen und Ihre Logik darauf anwenden. Im folgenden Beispiel wird der Versionscode im Manifest dynamisch geä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 entfernt werden. Sie können weiterhin die anderen AIDL-Quellsätze verwenden, einschließlich der main/, Build-Typen, Produkt-Geschmacks und Kombinationen von Produkt-Geschmacksrichtungen. 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 bei Ihnen eines dieser Probleme auftritt, sollten Sie Android Studio auf die neueste stabile Version oder Vorschauversion aktualisieren.

Behoben in Android Studio 2021.1.1

  • Fehlende Lint-Ausgabe: Wenn die Lint-Aufgabe UP-TO-DATE ist (Problem 191897708), wird kein Lint-Text an stdout ausgegeben. Behoben in AGP 7.1.0-alpha05.
  • Probleme beim Komponententest eines App-Projekts, das das Hilt-Plug-in verwendet: Der Einheitentest-Klassenpfad enthält die nicht instrumentierten App-Klassen. Das bedeutet, dass Hilt die App-Klassen nicht für die Abhängigkeitsinjektion beim Ausführen von Einheitentests instrumentiert (Problem Nr. 213534628). Behoben in AGP 7.1.1.

Behoben in Android Studio 2020.3.1

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

Behoben in Android Studio 4.2

  • IDE friert unter macOS Big Sur ein: Android Studio 4.1 friert möglicherweise ein, wenn ein Dialogfeld geöffnet wird.

Behoben in Android Studio 4.1

  • Neu starten, um Arbeitsspeichereinstellungen aus vorheriger IDE-Version anzuwenden:Nach der Aktualisierung von Android Studio müssen Sie Android Studio neu starten, um Arbeitsspeichereinstellungen anzuwenden, die von einer früheren Version der IDE migriert wurden.
  • Manifestklasse mit benutzerdefinierten Berechtigungsstrings wird nicht mehr standardmäßig generiert:Wenn Sie die Klasse generieren möchten, legen Sie android.generateManifestClass = true fest.

Behoben in Android Studio 3.6

  • APK-Installationsfehler unter LineageOS: Die Bereitstellung Ihrer App auf Geräten mit bestimmten Versionen von LineageOS oder CyanogenMod kann fehlschlagen und die Ausnahme INSTALL_PARSE_FAILED_NOT_APK auslösen.

    Unter Android Studio 3.6 Beta 1 und höher verarbeitet die IDE diese Ausnahme, indem sie eine vollständige App-Installation ausführt, wenn Sie Ihre App auf LineageOS- oder CyanogenMod-Geräten bereitstellen. Dies kann zu längeren Bereitstellungszeiten führen.

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 hatten.

Behoben in Android Studio 3.3.1

  • Fehler aufgrund von unzureichendem Arbeitsspeicher beim Scannen von C++-basierten Projekten: Wenn Gradle ein Projekt mit C++-Code an mehreren Speicherorten auf demselben Laufwerk scannt, werden alle Verzeichnisse unter dem ersten gemeinsamen Verzeichnis berücksichtigt. Das Scannen einer großen Anzahl von Verzeichnissen und Dateien kann zu Fehlern aufgrund von unzureichendem Arbeitsspeicher führen.

    Weitere Informationen zu diesem Problem finden Sie im entsprechenden Fehler.