NoSuchFieldError: Lcom / disdemo / R $ id sınıfında tip I statik alan listView1 yok; veya üst sınıfları


89

ListView1 in activity_main.xml(module1'in resminde mevcut ) ile module1 (Android Studio'da) var . Bu modülün MainActivity, aynı Android Studio projesindeki başka bir modülden2 başlatılıyor.

Module1'i silmeyi ve tekrar aynı res ve java dosyalarıyla yeni bir tane oluşturmayı denedim. Yine de aynı sorunu alıyorum.


Modülü settings.gradle ve build.gradle içine ekledim
Komal Gupta

14
Diğer modüllerimden birinde de activity_main.xml düzenim vardı, bu yüzden bu NoSuchField hatasını alıyordum. Modüllerimden birinde düzeni yeniden adlandırdım ve işe yaradı.
Komal Gupta

Yorumunuzu 48 saat önce okumak isterdim, 2 gün önce bu sorunla mücadele ediyordum !!
Mani

2
Bir dizgi kaynağını bir modülden diğerine taşıdığım için durumum biraz farklıydı. Benim durumumda, sorunu çözmek için Android Studio'da Oluştur> Temizle'yi tıklamam gerekiyordu.
Tony Wickham

Evet, sizin için bu yinelenen kaynak dosyası sorunu değildi, bu yüzden clean -> build çalıştı.
Komal Gupta

Yanıtlar:


202

Hem kitaplıkta hem de modülde aynı ada sahip veya yinelenen kaynak kimliğiyle birden çok xml düzenini şişiren bir düzeniniz olduğunu düşünüyorum.


4
Evet, durum aynen böyleydi. Yakında anladım ama üzücü olan şey, bu konuda çok zaman harcandı, çünkü hata mesajı yeterince sezgisel değildi. Android Studio, daha kapsamlı hata mesajlarını günlüğe kaydetmeye başlamalıdır.
Komal Gupta

7
kulağa iyi geliyor! şimdi onaylandı olarak işaretlemelisiniz, böylece bu, başka birinin bu tür sorunu çözmesine yardımcı olabilir.
JosephM

1
AS'nin refactor-rename özelliğini kullanırsanız, örneğin tüm oluşumlarını yeniden adlandırır, el ile yapsanız activity_main.xmliyi olur.
serv-inc

Uygulama ve modülde aynı ada sahip iki düzen nedeniyle bu hatayı alıyordum. Teşekkürler!
Sandeep Yohans

31

Her iki modülde de bir activity_main.xml. Lütfen bir dosyayı yeniden adlandırın.

Güncelleme: @kundan kamal'ın ifade etmek istediği şey, her iki modülde de benzer ada sahip bir düzen dosyanız var.


2
3 saat boşa harcandı :(.
günümü kurtarıyorsun

8

Birden fazla modül kullandınız ve herhangi bir xml düzeninin aynı adını verdiyseniz, ardından bu hatayı verin, bu nedenle lütfen xml düzeninizi yeniden adlandırın.


Teşekkürler.
Yardımcı


0

Bu tür bir hata bir kez başıma geldi, ancak bir stringkaynakla. Dizeyi bir çeviri dosyasında yapılandırdım, ancak varsayılan dize kaynak dosyasında yapılandırmadım, bu nedenle bu çökmeye neden oldu.


0

Beni düzeltin Yanılmıyorsam ... Projenizde kütüphanenizin ve modülünüzün aynı ismine sahip olduğunuzu düşünüyorum, bu yüzden birini yeniden adlandırmanız gerekiyor, sonra çalışıyor


0

Benim için proguard kuralları çalıştı. İki seviyeli koruyucum vardı. Önce bağımlılığımda ve sonra uygulamamda. Bunu bağımlılık notumda yapmak zorundaydım.

R.'yi koru . bir şeyler.

-keepclassmembers class **.R$* {
    public static <fields>;
}

Tüm yerel yöntem adlarını ve sınıflarının adlarını koruyun.

-keepclasseswithmembernames class * {
    native <methods>;
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.