NoSuchFieldError: Kein statisches Feld listView1 vom Typ I in Klasse Lcom/disdemo/R$id; oder seine Oberklassen

Lesezeit: 3 Minuten

Benutzer-Avatar
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

Benutzer-Avatar
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

Benutzer-Avatar
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.

Benutzer-Avatar
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.

Benutzer-Avatar
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

Benutzer-Avatar
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.

Benutzer-Avatar
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>;
}

1311590cookie-checkNoSuchFieldError: Kein statisches Feld listView1 vom Typ I in Klasse Lcom/disdemo/R$id; oder seine Oberklassen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy