Soru Android - R sınıfı nasıl yenilir? [çift]


Olası Kopyalama:
Eclipse'de Android için Geliştirme: R.java üretmiyor 

Bir projeyi Eclipse IDE'ye aktardım, ancak R dosyası otomatik olarak oluşturulmadığından bana bir hata veriyor.

R dosyasını, proje gereksinimlerimle eşleşecek şekilde nasıl düzenleyebilirim?


76
2018-01-11 10:11


Menşei




Cevaplar:


İçinde başka bir stackoverflow sorusu, birisi bunu yanıtladı: xml dosyalarınızda uyarı ve hatalardan (sözdizimi ve bağlantılar) kurtulmanız gerekir. Bu artı bir temiz / inşa projesi yapıyor.

Proje -> Temizleyin ve projeyi oluşturma seçeneğini belirleyin.


46
2018-01-22 23:41



UYARI: Bir temizlik yapmak büyük olasılıkla R SINIFI SİLİNİZ. Tüm kodunuz üzerinde bulunamayacağınız referanslar bulunduğundan, hatalarla sonuçlanacaklardır. ve hatalarla derleyemediğinizden, yeni bir R sınıfı oluşturulmaz! - masi
R sınıfını silmeniz gerekiyor. Düzeltmek zorunda değilsin herşey hatalar, R'nin bağladığı sadece. Örneğin. etkinlik_page.xml (R.layout.activity_page) adındaki bir düzende bir etiketi kapatmayı unutursanız, R yeniden oluşmayacaktır. - Muz
eğer her şey başarısız olursa, bir konsol açın ve çalıştırın: karınca aleti - Steven


Bu durumu kırık bir düzende buldum ve her şey havaya uçuyor. Sakin ol, ilk önce bir yarım virgülü unuttuğunuz yerde programlamayı öğrendiğinizde ve yüzlerce hata oluşturduğunda bu eski hata gibidir. Birçok panik, tüm butonlara basın ve işleri daha da kötüleştirir.

Çözüm

  • Herhangi bir şey olduğundan emin olun R. bağlantılar bozuk değil. Bozulursa, ADK R yeniden üretemez. XML dosyalarınızdaki tüm hataları düzeltin.
  • Bir şekilde bir şeye çarpıp yaratırsanız import android.R senin aktivitende, onu kaldır.
  • Koşmak Proje -> Temiz. Bu, R ve BuildConfig dosyalarını silecek ve yeniden üretecektir.
  • Emin olmak Proje -> Otomatik Olarak Oluştur işaretli.
  • Bekleyin Hataların kaybolması için birkaç saniye.
  • Çalışmıyorsa, / gen / klasörünün içindeki her şeyi silin
  • Hala çalışmıyorsa, deneyin projenizi sağ tıklamak -> Android Araçlar -> Proje Özelliklerini Düzeltin.

R rejenere olmazsa ne yapmalı?

Bu genellikle bozuk bir xml dosyanız olduğunda gerçekleşir.

  • XML dosyalarınızdaki hataları, özellikle / res / klasöründe kontrol edin
  • Yaygın yerler / layout / ve / values ​​/ özellikle son zamanlarda bunlardan birini değiştirdiyseniz
  • AndroidManifest.xml dosyasını kontrol edin, sık sık bir dizeyi değiştirdiğimi ve AndroidManifest.xml dosyasındaki dize adını değiştirmeyi unutmayın.
  • Sorunu bulamıyorsanız. sağ tıklama / gen / -> Yerel geçmişten geri yükle ... -> R.java'yı işaretleyin -> Geri Yükle'yi tıklatın.. Bu sorunu çözmez, ancak sorunun daha kolay bulunmasını sağlamak için fazladan hataları temizler.

Burada çok fazla cevap olduğunu biliyorum, ancak bu Google’daki ilk bağlantıdır, bu yüzden buradaki tüm tavsiyeleri derledim ve bunun için yeni bir başkasına yardım etmesini umuyorum :)


29
2017-08-30 11:09



"R. bağlantılarının kırılmadığından emin olun". 100000 - iTurki
AndroidManifest.xml dosyasını belirtmek için +1, bu dosyayı kontrol etmek için neredeyse özledim - Aletheios


Tamam, tamir ettim:

Bildirimi 1.5 sürümüne dönüştürdüğümde, milyon hatalar ortaya çıktı ve yalnızca biri R sınıfının yokluğuyla ilgili değildi - manifest dosyası özniteliklerinde "targetSdkVersion" ve "maxSdkVersion" sdk 1.5 sürümünde yoktu

Çünkü bu R sınıfı üretemedi.


15
2018-01-11 11:15



Bu çözümü muhtemelen kabul edildi olarak işaretlemelisiniz. - espinchi


Bazı simgeler ve düzen dosyaları ekledikten sonra R.java dosyasının rejenere edilmediği benzer bir sorun yaşadım. Temizlik ve yeniden inşayı denedim ve o zamandan beri orijinal R.java dosyası gitmişti ve hala rejenere edilmemişti. Sonunda, bana, R.java'yı üreten derleyici için derleyici hataları olması gerektiğine ve konsola gösterilmediğine şahit oldum. Neyse ki, daha önce fark etmiştim

  1. Bir .xml dosyası var olmayan bir diğerine başvurursa bir hatadır.
  2. dosya adlarınızda büyük harflerin olması bir hatadır (neden bu yasak, ben deve durumda seviyorum).

Her neyse, simgelerimi ve .xml dosyalarını tüm küçük harflere yeniden adlandırarak ve .xml dosyaları içindeki tüm referansları düzelttikten sonra, voila, R.java rejenere edildi. Sadece öğle yemeği için durduğumda iyi hissetmek için zaman :-)


14
2018-04-21 19:14



Stili cevaplamak için +1 ( Just in time to feel good when I stopped for lunch :-)). Ama kesinlikle, R.java şu anda benzer sorunlara neden oluyor! - nemesisfixx
yardım önerileriniz için teşekkür ederiz @John - Frank Myat Thu
Büyük harfli resimler de bu hatayı neden oluyor - gkiko


R dosyasını tekrar oluşturmak için:

  1. Layout-> activity_main.xml dosyasındaki bir şeyi değiştirin
  2. Dosya 'yı kaydet
  3. Project-> Temiz ...

Sadece gen dizininde bulunan R dosyasını silin ve sonra Project-> Clean'i deneyin. Ardından uygulamanızı tekrar oluşturun.


8
2018-03-13 15:08





Ayrıca sağ tıklayabilirsiniz project -> Android Tools -> Fix Project Properties. Bu, R.java sınıfının yeniden oluşturulmasına neden olmalıdır.


7
2018-01-11 15:24



Hayır, bu işi yapmıyor. - Igor Ganapolsky


Sorunum Manifest dosyasındaydı. Launcher simgelerini sildim ve Manifest'teki yenilerini göndermedim :)


4
2017-12-04 08:06



Aynı problemi yaşadım, manifesto dosyasında devam eden her şeyi durduran bir hata vardı. - Daniel Imms


Tutulmayı yeniden açarım, xml dosyalarından birini düzenledim ve sonra benim aktif sınıfımın paketin yerine "R" :-) yerine android.R olduğunu keşfettim.


4
2017-12-31 16:16



+1. Eclipse'de gördüğüm ilk hızlı çözümü seçip devam ediyorum. Bu sinsi. - Ben Mosher


R.class'ı yenilemek için birden fazla teknik denemelisiniz.

  • Java kaynak dosyalarınızdaki R ithalatlarını kaldırın: import R.android
  • Pencere -> Görünümü göster -> Sorunlar bölümüne giderek "Sorunlar" panelini açtığınızdan emin olun.
  • Xml kaynaklarınızda bazı hatalar varsa, bu hataları düzeltmeniz gerekir. Benim durumumda "+" işaretini aşağıdaki gibi eklemek için id öznitelikleri değiştirmek zorunda kaldım: android:id="@+id/grp_txt"
  • Şimdi Project-> Clean'i yapmaya devam edin
  • Sonunda Proje-> Kapat, Proje-> Aç

"+" İşareti yeni bir kaynak kimliğini gösterir ve aja aracını R.java sınıfında yeni bir kaynak tamsayı oluşturmaya zorlar.


3
2018-03-15 02:32





Intellij IDEA kullanırsanız, Build - Rebuild Project'i tıklayabilirsiniz.


2
2017-08-18 10:39