NoSuchFieldError: Kein statisches Feld listView1 vom Typ I in Klasse Lcom/disdemo/R$id; oder seine Oberklassen
Lesezeit: 3 Minuten
Komal Gupta
Ich habe module1 (in Android Studio) mit listView1 in activity_main.xml (vorhanden in res des Moduls1). Die MainActivity dieses Moduls wird von einem anderen module2 im selben Android Studio-Projekt gestartet.
Ich habe versucht, das Modul1 zu löschen und erneut ein neues mit denselben Res- und Java-Dateien zu erstellen. Ich bekomme immer noch das gleiche Problem.
Ich habe das Modul in settings.gradle und build.gradle hinzugefügt
– Komal Gupta
3. April 2015 um 22:06 Uhr
Ich hatte das Activity_main.xml-Layout auch in einem meiner anderen Module, also bekam ich diesen NoSuchField-Fehler. Ich habe das Layout in einem meiner Module umbenannt und es hat funktioniert.
– Komal Gupta
6. April 2015 um 0:48 Uhr
Mein Fall war etwas anders, da ich eine String-Ressource von einem Modul in ein anderes verschoben hatte. In meinem Fall musste ich nur auf Build > Clean in Android Studio klicken, um das Problem zu beheben.
– Toni Wickham
3. Oktober 2015 um 8:12 Uhr
Ja, für Sie war es kein Problem mit doppelten Ressourcendateien, also sauber -> Build hat funktioniert.
– Komal Gupta
10. Oktober 2015 um 8:48 Uhr
Mögliches Duplikat von Neue Ansicht in XML-Datei (Layout) kann nicht erstellt werden
– Sushant
21. März 2016 um 6:35 Uhr
JosefM
Ich denke, Sie haben sowohl in der Bibliothek als auch im Modul ein Layout mit demselben Namen oder Sie haben mehrere XML-Layouts mit doppelter Ressourcen-ID aufgeblasen.
Ja, genau das war der Fall. Ich habe es bald herausgefunden, aber traurigerweise wurde viel Zeit damit verschwendet, da die Fehlermeldung nicht intuitiv genug war. Android Studio sollte damit beginnen, umfassendere Fehlermeldungen zu protokollieren.
– Komal Gupta
10. Oktober 2015 um 8:46 Uhr
klingt gut! Jetzt sollten Sie es als genehmigt markieren, damit dies einem anderen helfen kann, diese Art von Problem zu lösen.
– JosefM
10. Oktober 2015 um 10:43 Uhr
Wenn Sie AS’s refactor-rename verwenden, benennt es alle Vorkommen von zB um activity_main.xmlmach es besser von Hand.
– serv-inc
24. Juni 2018 um 10:43 Uhr
Ich habe diesen Fehler aufgrund von zwei Layouts mit demselben Namen in App und Modul erhalten. Vielen Dank!
– Sandeep Yohans
5. November 2019 um 6:08 Uhr
Oh, ich hatte das gleiche Problem, aber in meinem Fall war der Grund der gleiche Paketname AndroidManifest.xml sowohl für die App als auch für die lib.
– Alexander Skvortsov
17. März 2021 um 14:35 Uhr
Kundan kamal
In beiden Modulen haben Sie eine activity_main.xml. Bitte benennen Sie eine Datei um.
Update: Was @kundan kamal ausdrücken möchte, ist, dass Sie in beiden Modulen eine Layout-Datei mit ähnlichem Namen haben.
Benutzer7176550
Sie haben mehrere Module verwendet und jedem XML-Layout denselben Namen gegeben, dann geben Sie diesen Fehler, also benennen Sie bitte Ihr XML-Layout um.
CoolMind
In meinem Fall waren die Kennungen anders. ich drückte Build > Rebuild Project. Das liegt daran, dass ich geteilt habe res/layout in Unterordner, und AS hörte auf, XML-Änderungen zu bemerken. Weitere Informationen finden Sie unter Neuerstellung nach Änderung von XML-Layoutdateien in Android Studio erforderlich.
Machen Sie mich richtig Wenn ich mich nicht irre … Ich denke, Sie haben den gleichen Namen Ihrer Bibliothek und Ihres Moduls in Ihrem Projekt, also müssen Sie einen von ihnen umbenennen, dann funktioniert es gut
blastervla
Diese Art von Fehler ist mir einmal passiert, aber mit einem string Ressource. Ich hatte die Zeichenfolge in einer Übersetzungsdatei konfiguriert, aber nicht in der Standard-String-Ressourcendatei, sodass dies zum Absturz führte.
Mohit Singh
Für mich haben die Proguard-Regeln funktioniert. Ich hatte zwei Level proguard. Zuerst in meiner Dependance und dann in meiner App. Musste das in meiner Abhängigkeit gradle machen.
R bewahren.. Dinge.
-keepclassmembers class **.R$* {
public static <fields>;
}
Behalten Sie alle nativen Methodennamen und die Namen ihrer Klassen bei.
-keepclasseswithmembernames class * {
native <methods>;
}
13115900cookie-checkNoSuchFieldError: Kein statisches Feld listView1 vom Typ I in Klasse Lcom/disdemo/R$id; oder seine Oberklassenyes
Ich habe das Modul in settings.gradle und build.gradle hinzugefügt
– Komal Gupta
3. April 2015 um 22:06 Uhr
Ich hatte das Activity_main.xml-Layout auch in einem meiner anderen Module, also bekam ich diesen NoSuchField-Fehler. Ich habe das Layout in einem meiner Module umbenannt und es hat funktioniert.
– Komal Gupta
6. April 2015 um 0:48 Uhr
Mein Fall war etwas anders, da ich eine String-Ressource von einem Modul in ein anderes verschoben hatte. In meinem Fall musste ich nur auf Build > Clean in Android Studio klicken, um das Problem zu beheben.
– Toni Wickham
3. Oktober 2015 um 8:12 Uhr
Ja, für Sie war es kein Problem mit doppelten Ressourcendateien, also sauber -> Build hat funktioniert.
– Komal Gupta
10. Oktober 2015 um 8:48 Uhr
Mögliches Duplikat von Neue Ansicht in XML-Datei (Layout) kann nicht erstellt werden
– Sushant
21. März 2016 um 6:35 Uhr