Ich habe mein Projekt in Android Studio so eingerichtet, dass es die Square Wire-Bibliothek gemäß dieser Frage verwendet .
Build
-> Compile Project
funktioniert gut.
2:03:10 PM Compilation completed successfully in 31 sec
Wenn ich jedoch eine meiner generierten Protokollpufferdateien öffne, wird das Square-Paket nicht erkannt.
Ein weiteres Symptom ist, dass von der Square- Message
Klasse geerbte Methoden als "Methode kann nicht aufgelöst werden" -Kompilierungsfehler im Editor angezeigt werden, obwohl sie ordnungsgemäß erstellt und ausgeführt werden.
Muss ich mehr tun, als nur die Abhängigkeit build.gradle
für mein Modul in meinem Projekt hinzuzufügen ?
android-studio
gradle
square-wire
Dan J.
quelle
quelle
Antworten:
Die folgenden Schritte helfen
project/.idea
~/.gradle
Ordner löschen .Öffnen Sie das Projekt erneut. Alles sollte gelöst sein.
quelle
.gradle
Ordner ausC:\Users\Hasnain\.gradle
einem anderen Verzeichnis verschoben . Danach zeigt das Android Studio Fehler für jede einzelne Klasse. Dann folge ich den oben genannten Schritten, dann ist das Problem behoben..idea
aller Verzeichnisse ist eine schlechte Idee, da möglicherweise alle Projekteinstellungen zurückgesetzt werden. Einfach entfernen.idea/libraries
und.idea/caches
endlich das Problem für mich lösen, nachdem ich alle anderen Lösungen ausprobiert habe.Vielen Dank an free3dom, dass Sie mich hier auf den richtigen Weg gebracht haben.
Diagnose
Die
Sync Project with Gradle Files
Option in Android Studio scheint dieProject Structure
Bibliotheken auf dem neuesten Stand zu halten .In meinem Fall gab es jedoch einige Fehler:
Das Erweitern des (nicht sehr offensichtlichen) Links zeigte das Detail. Meine Wire-Runtime-Bibliothek wurde an einem falschen Ort angezeigt:
Dies schien ein Kater aus meiner ursprünglichen Konfiguration zu sein, in der ich die JAR in einen libs-Ordner importiert hatte.
Ich habe es später so geändert, dass es direkt aus Maven Central importiert wird ( wie hier beschrieben ), und es scheint, dass die alte Einstellung nie mit der neuen überschrieben wurde.
Die Reparatur
Das Update besteht darin, die Bibliotheksabhängigkeit vom
Project Structure
Bildschirm zu löschen und dannSync Project with Gradle Files
erneut.Mehr Details
Sie können auch sehen, welcher Pfad zur Ressource verwendet wird, indem Sie den
.idea/libraries/wire_runtime_1_2_0.xml
direkt öffnen .Mein gebrochener war:
Nach dem Löschen und erneuten Hinzufügen der Bibliothek wurde Folgendes geändert
root url
:Aktualisieren
Android Studio v0.4.4 behebt anscheinend andere Fehler , die dieselben Symptome aufweisen. Wenn Sie also eine ältere Version haben, möchten Sie möglicherweise ein Upgrade durchführen.
quelle
Einfache Lösung
Gehen Sie durch den Link und es hat bei mir funktioniert.
File
Option aus dem Menü oben links in Android Studio.Invalidate Cache/Restart
Es wird ein Dialog geöffnet.Invalidate and Restart
Es hat mein Problem gelöst
Quelle hier für Youtube
quelle
1) Klicken Sie auf das Gradle-Symbol (rechte Seite im Android Studio)
2) Klicken Sie auf die Schaltfläche Aktualisieren und warten Sie, bis das Problem behoben ist: D.
quelle
Ich hatte immer noch das gleiche Problem mit Android Studio v3.2.1 und habe das Problem behoben, indem ich nur diese beiden Unterordner des
.idea
Ordners entfernt habe (es ist nicht erforderlich, den gesamten.idea
Ordner zu löschen ), während eine Gradle-Synchronisierung nicht funktionierte:./idea/caches
./idea/libraries
quelle
Für mich löste das Löschen der Ordner .gradle und .idea des Projekts das Problem.
quelle
Mach das einfach auf deinem Android Studio:
Das hat bei mir funktioniert. Der Ordner ./gradle oder ./idea muss nicht gelöscht werden
quelle
Mein Hacky Fix dafür -
build.gradle
Dateidependencies{}
build.gradle
DateiVersuchte viele Lösungen und dies war die einzige Lösung für mich.
quelle
Ich hatte dieses Problem nach dem Upgrade auf Android Studio 3.1. Ich habe das Problem gelöst, indem ich alle von mir verwendeten Komponenten aktualisiert habe. Also habe ich die folgenden Einträge in meiner build.gradle (App) geändert:
Aktualisieren Sie das SDK (von "compileSdkVersion 25" auf "compileSdkVersion 26" oder höher, wenn Sie diesen Hinweis lesen):
// compileSdkVersion 25
compileSdkVersion 26
Kommentar: Diese Änderung zwang das Programm, bei der nächsten Synchronisierung neues SDK herunterzuladen / zu installieren.
Appcompat-v7 aktualisieren:
// Implementierung 'com.android.support:appcompat-v7:25.4.0'
Implementierung 'com.android.support:appcompat-v7:26.1.0'
Upgrade der Feuerbasis:
// Implementierung 'com.google.firebase: firebase-ads: 11.4.2'
Implementierung 'com.google.firebase: firebase-core: 12.0.1'
Implementierung 'com.google.firebase: firebase-ads: 12.0.1'
Aktualisieren Sie in PROJECT build.gradle die Google-Dienste:
// Klassenpfad 'com.google.gms: google-services: 3.1.0'
Klassenpfad 'com.google.gms: google-services: 3.2.0'
Upgrade gradle (von 4.4 auf 4.6). Von gradle-wrapper.properties: DistributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.zip
Nach diesen Änderungen das Projekt bereinigen, den Cache ungültig machen / neu starten, den Inhalt von .idea / library entfernen und erneut synchronisieren (nicht sicher über die Reihenfolge, aber ALLE diese Aktivitäten haben das Problem für mich gelöst).
quelle
Das Löschen des Bibliotheksordners in .idea hat das Problem für mich gelöst. Es befindet sich im Stammverzeichnis / .idea / library des Projekts.
Ich benutze Android Studio 3.1.4
quelle
Die folgenden Schritte werden ausgeführt, wenn das Projekt erfolgreich kompiliert wurde, jedoch nicht aufgelöste Klassen (alle Klassen werden in allen Dateien in roter Farbe verwendet).
Schritt 1. Löschen Sie die Gradle-Datei
Schritt 2. Löschen Sie die IDE-Datei
Schritt 3. Öffnen Sie das neue Android Studio-Fenster mit einem anderen Android-Projekt auf Ihrem System und schließen Sie Ihr Projekt mit einem Fehler
Schritt 3 . Öffnen / importieren Sie das Projekt jetzt erneut über die Studio-Symbolleiste Android Studio -> Datei -> Öffnen
Hinweis: Wenn Sie jetzt das Projekt importieren, werden die neuen Ordner .gradle und new .idea vom Compiler automatisch mit aufgelösten Abhängigkeiten generiert.
quelle
Wenn alle oben genannten Antworten bei Ihnen nicht funktionieren. Versuchen Sie einfach, Ihre Abhängigkeiten auf die neueste Version zu aktualisieren. Es hat bei mir funktioniert.
quelle
Ich habe die meisten der oben genannten Korrekturen ausprobiert und tatsächlich funktionierte es, alle .AndroidStudio-Konfigurationsordner zu löschen und dann Android Studio neu zu starten.
quelle
Ich habe einen einfachen Weg gefunden
build.gradle
Fehler weg!
Vor
Nach dem
quelle
Löschen des
.idea/caches
und.idea/libraries
sollte alle Fehler aussortieren.quelle
Es scheint, dass jeder einen anderen Ansatz verwendet, um diese Probleme zu umgehen. Ich werde einen anderen vorschlagen, der meiner Meinung nach etwas weniger invasiv ist als die anderen. Wenn ich Änderungen aus einer von mir enthaltenen aar-Bibliothek einführe, öffne ich die Datei "settings.gradle" für das Projekt.
Schneiden Sie dann das Hauptprojektmodul aus der Liste der Projekte aus:
include ':mainproj',
und synchronisieren Sie dann Ihr Projekt. Fügen Sie es dann wieder ein und synchronisieren Sie Ihr Projekt erneut. Ich glaube, dass dies mit einigen manuellen Löschschritten identisch ist, aber dies ermöglicht es Ihnen, dies über die IDE etwas schneller und weniger schmerzhaft zu tun.
quelle
Ich bin durch die folgende Methode behoben
Methode 1
Methode 2
quelle
Diese Lösungen haben mir bei dem gleichen Problem in Android Studio 0.5.8 nicht geholfen.
Ich habe meine Antwort auf dieselbe Frage beschrieben (ich denke): https://stackoverflow.com/a/23891829/534698 Ich habe gerade das Verzeichnis ~ / .AndroidStudioPreview (in Ubuntu) gelöscht. Ich habe alle meine Android Studio-Einstellungen verpasst, aber es funktioniert.
quelle
In meinem Fall wurde aus irgendeinem Grund die Android Plugin-Version nicht festgelegt. Ich habe versucht, den Cache zu leeren und auch .gradle und .idea zu entfernen, aber es hat nicht geklappt und nachdem ich endlich stundenlang gewandert war, habe ich dies gefunden.
quelle
Ich hatte zuvor ein ähnliches Problem: Durch das Ungültigmachen des Caches und das Neustarten wurde es nicht behoben. Ich habe gerade eine Gradle-Synchronisierung durchgeführt und alles hat gut funktioniert.
quelle
Das Problem wurde durch das Reinigungsprojekt behoben
Build->Clean Project
quelle
Für mich verweise ich auf ein Glas in einer Modulbibliothek. Das Symbol im Glas kann nicht aufgelöst werden. So finde ich die Lösung für meine Situation. Benutze den
provided
Weg.quelle
Alle obigen Antworten haben bei mir nicht funktioniert. Mein Problem war, dass ich 3 Module hatte, von denen 2 den gleichen Paketnamen hatten .
Es war ok für Android Studio <= 3.2.1.
Für Android Studio> 3.2.1 war Ressouce rot.
Ich habe es wie folgt gelöst (ich habe gerade unterschiedliche Paketnamen für jedes Modul erstellt): Jede Android Studio-Version> 3.2.1 zeigt rote Ressource, kompiliert aber trotzdem
quelle
Ich habe das gleiche Problem mit den folgenden Schritten behoben:
Aktualisieren Sie die Bibliotheksversion in Gradle auf eine beliebige Zufallszahl, z. B.: lib_1.0.0 -> lib_1.0.0.0
Gradle Sync
Synchronisierung zeigt Fehler
Versionsänderung rückgängig machen lib_1.0.0.0 -> lib_1.0.0
Gradle Sync
Öffnen Sie die Java-Datei mit Importen, um den Fehler zu beheben.
quelle
Keine der Lösungen funktionierte für mich. Ich habe Java von meinem Computer deinstalliert und Android Studio ausgeführt, um sicherzustellen, dass die Deinstallation erkannt und dann erneut installiert wurde.
Wenn Sie sich für diesen Weg entscheiden, versuchen Sie, den JDK-Pfad zu ändern und den neuen Pfad in der Projektstruktur festzulegen. Wenn das nicht funktioniert, deinstallieren Sie Java .
quelle
Ich habe nur ein sauberes Projekt erstellt und ein Projekt neu erstellt, bevor ich Android Studio neu gestartet habe. Dadurch wird mein Problem gelöst. Möglicherweise aktualisiert Android Studio die Referenzen in der Benutzeroberfläche nicht
quelle