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

Auf dieser Seite werden bekannte Probleme Android Studio Koala- und Android-Gradle-Plug-in 8.5.0 Wenn ein Problem auftritt, das noch nicht aufgeführt ist kannst du hier einen Programmfehler melden.

Upgrade auf Vorschau durchführen:Alle Versionen von Android Studio und Android Ziel des Gradle-Plug-ins ist es, die Stabilität und Leistung zu verbessern und neue Funktionen hinzuzufügen. Lade die App herunter und installiere sie, um die Vorteile zukünftiger Versionen zu nutzen 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ü „Tools“ > „Firebase“) eine Fehlermeldung angezeigt wird, die Caches ungültig machen und Android Studio neu starten, 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. Bei Problemen mit stellen Sie sicher, dass Sie ein Upgrade auf Compose-Version 1.5.0-alpha04 ausführen oder höher liegen.

Fehler beim Rendern der Schreibvorschau

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 und bereinigen sie sie, damit 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 "#") hinzu. 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 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

Wenn 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 Betaversionen 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.

Schlüsselzuordnungskonflikte 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. Zur Arbeit Um das Problem zu umgehen, gehen Sie so vor:

  1. Öffnen Sie das Fenster Einstellungen, indem Sie auf Datei > Einstellungen
  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. 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: Erzwingen Sie iBus in den synchronen Modus. 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 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 Versionen möglicherweise noch verfügbar sind. 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 noch einmal. 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.

Sie können dieses Problem umgehen, indem Sie das Verzeichnis Ihres Projekts in das Nutzerkonto Ihres Nutzers verschieben d. h. unter /Users/username. Das Build-System wird dann ordnungsgemäß über Dateiänderungen durch Gradle-Datei-Überwachung und inkrementelle werden übernommen.

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. macOS 10.13 hat jedoch mehr zur Installation von Kernel-Erweiterungen wie HAXM. 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 über die 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 <ph type="x-smartling-placeholder"></ph> 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, kann es sein, dass der aktualisierte Name nicht berücksichtigt werden. 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 ein Upgrade der Android 9.0 oder höher installiert ist.

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: Build-Skript aktualisieren, um Ressourcen manuell in im Build-Ordner. 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.
  • Um das Problem für alle zukünftigen Projekte zu beheben, klicken Sie auf Datei > Schließen Projekt. Nun sollte der Begrüßungsbildschirm angezeigt werden. Klicken Sie dann auf Konfigurieren > Projektstandards > Run Configurations (Konfigurationen ausführen) und JUnit ändern nur den Schritt „Make“ (Gradle-sensitiver machen) enthalten.

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 einem Gradle-Logo als Symbol) werden nicht arbeiten.
  • 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. So beheben Sie das Problem: Lösche den LLDB-Cache unter $USER/.lldb/module-cache/.

Der native Debugger stürzt mit „Debugger-Prozess mit Exit-Code 127 beendet“ 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 ncurses5 die fehlende Bibliothek, Die Verteilungen wurden bereits auf ncurses6 aktualisiert.

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

Die Zeitüberschreitungsfehler wirken sich tendenziell stärker auf verfolgte Methoden aus als auf Stichproben der Methoden. länger sind als kürzere. 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. Ein Downloadsymbol sollte in der linken Spalte 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 in der Build-Ausgabefenster. 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 zum Beispiel das Tag 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. So bearbeiten Sie die Logcat-Tastaturbelegungen in Rufen Sie in Android Studio Android Studio > Einstellungen > Tastaturbelegung und suchen Sie nach Logcat in der Liste der Tastaturbelegungen. 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.

Signieren der Datei mit dem Namen mit Zeilenumbruchzeichen

Die JAR-Signatur (v1-Schema) unterstützt keine Dateinamen, die Wagenzeichen enthalten. Return-Zeichen (Problem-Nr. 63885809)

Das Ändern der Variantenausgaben während der Build-Erstellung 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. Sie können dann 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 andere AIDL-Quelle verwenden Gruppen, einschließlich main/, Build-Typen, Produkt-Geschmacksrichtungen und Kombinationen Produktgeschmack. 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.

Behoben in Android Studio 2020.3.1

  • 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 erstellen 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-Code-Stil: Beim Bearbeiten von XML-Code hat die IDE ein falscher Codestil bei Auswahl von Code > Umformatierung von Code aus der in der Menüleiste.

Behoben in Android Studio 3.3.1

  • 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 kann es zu Fehlern mit unzureichendem Arbeitsspeicher kommen.

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