R çözülemiyor - Android hatası


1071

Yeni Android SDK'sını indirdim ve yükledim. Test sürüşü için basit bir uygulama oluşturmak istedim.

Sihirbaz şu kodu yarattı:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

ama Eclipse bana hata veriyor

R çözülemiyor

internet üzerinden

setContentView(R.layout.main);

Neden?

Not: main.xmlaltında bir XML dosyam var res/layout/.


Tutulma ile ilgili hala sorun yaşayanlar için R.java'yı güncelleyememek / üretememek. Olası bir çözüm, sahte bir xml oluşturmak ve sadece bu xml'yi silmektir. Benim durumumda bu çözüm
denil

Dürüst olmak gerekirse, bu çok aptalca geliyor (ve öyle), ancak AndroidManifest.xml dosyasını değiştirerek, bu düzenlemeyi geri alıp dosyayı kaydetme benim için çalıştı. Eğer bundan sonra projeyi temizlersem tekrar kırıldı. Ve tüm bu zaman boyunca Xcode'un bu tür gizemli hatalara sahip tek IDE olduğunu düşündüm.
12'de 18

3
Projeye sağ tıklayın -> Android Araçları -> Proje Ayarlarını Düzelt?
Sergei

6
Lütfen XMl mizanpaj dosyanızı kontrol edin, xml'de herhangi bir hata R.java üretemezseniz ve hata da bulid ve temizlendikten sonra gelir.
swiftBoy

1
Sadece bir ipucu: IDE'yi Eclipse'den Android Studio'ya geçirdiğimde bu bana olmadı.
mata

Yanıtlar:


840

Bu sorunu da izledikten sonra, bu notu Android dokümanlarında buldum:

http://source.android.com/source/using-eclipse.html

* Not: Eclipse bazen, özellikle Eclipse'den içe aktarmaları sıralamasını veya başka bir şekilde yönetmesini istediğinizde, kaynakları kullanan dosyalarınızın başına "import android.R" ifadesini eklemeyi sever. Bu neden olacaktır yapmak kırmak için. Bu hatalı içe aktarma ifadelerine dikkat edin ve silin. *

Android örnek eğitimlerini incelerken, sık sık Ctrl+ Shift+ Okomutunu kullanarak "İçe Aktarmayı Organize Et" ve eksik içe aktarma ifadeleri oluştururdum. Bazen bu, oluşturduğunuzda R.javaotomatik olarak oluşturulan sınıfı gizleyecek yanlış içe aktarma ifadesi oluşturur.


32
Bu da olur, ancak tıkalı bir düzen dosyası da buna neden olabilir.
GHz

113
Bu klasik hata yıllardan beri Eclipse'de ve asla düzeltilmiyor. 1000 kişi aynı problemle karşı karşıyadır.
Carol

52
Eclipse geliştiricileri, lütfen bu $ £% & "$ & / bug! Google geliştiricilerini kaldırın, lütfen bana iPhone için Xcode'a benzer bir £ $ & $"% ve Android paketi verin!
Abramodj

18
@ 2-Stroker: Bu bir hata. Tutulma SİHİRBAZI aracılığıyla yeni bir şube projesi oluşturduğumda bana 'R çözülemez' diye şikayet etti. Ben setContentView & getMenuInflater satırları yorum vardı ve sonra tutulması sonra setContentView & getMenuInflator uncomment olabilir R.java üretti. Abramodj haklıdır, 'merhaba dünya' örneğiniz bile derlenmezse ortamın ciddi bir sorunu vardır. Google'ı düzeltin!
CF_Maintainer

5
Google, bunun gibi öğeleri düzeltmek için eclipse.org fonlarını nasıl sağlamaz?
Cris

391

R ile ilgili bir sorunum olmadığında veya hatta kaybolduğum her seferinde, bunun nedeni uygulamanın oluşturulmasını engelleyen XML düzen dosyasındaki bazı sorunlardan kaynaklanıyordu.


21
Bunun için +1. Üst = "android: WindowTitleBackground" ile eski bir styles.xml dosyası vardı ve benim yapı kırma ve "gen" için oluşturulan bir şey önlüyordu. Projeyi ilk açtığımda Konsol penceresinde hata aslında bildirilmedi.
Scott Persinger

12
tam olarak, başka bir projeden düzenleri kopyaladıysanız ve bunu alıyorsanız, eksik çekmeceleri arar - bu anında çözecektir!
Gabor

4
Aynı problemim olduğunu düşünüyorum, cadı mizanpajlardan birini tanımanın bir yolu var mı?
Sergey Kucher

3
Evet, çekilebilir bir dosya eksikti ve bu da R dosyasının üretilmesini bile engelledi. Garip bir şey, bir menü kaynağında bir android:icon="@drawable/XXX"bildirimi vardı <item>, ancak çekilebilir kaynak XXX bulunamadı sinyal veren hiçbir kırmızı dalgalı olmadı. Diğer durumlarda, "@drawable/YYY" oldu YYY bulunamadı, ancak bu durumda, bayraklı. Bazı sebeplerden dolayı.
taylor

5
Evet, mükemmel çözmek. Biri bu hatayı aldığında .. çoğu kez tüm düzen dosyaları hatalar olarak işaretlenir .. Bunun nedeni, hepsi R arıyor çünkü Ancak bunlardan biri, büyük olasılıkla derlemeyi iptal eden bir hata var. Benim durumumda, eksik bir çekilebilir.
Todd Painton

201

Ne zaman alırsan

R çözülemiyor

sonra /resdizini kontrol edin ve içinde bazı hatalar olan ve uygulamanın oluşturulmasını engelleyen bir dosya olmalıdır. Örneğin, bir düzen dosyası olabilir veya bazı eksik kaynaklardan kaynaklanıyor olabilir, ancak XML dosyasında zaten tanımlamışsınızdır.

Res / drawables-mdpi gibi bir klasörde dosya adlandırma kurallarına uymayan (yalnızca [a-z0-9_.] İçerebilir) ek, kullanılmamış (!) Veya referanssız (!) Resimleriniz varsa, R.java sınıfı üretilemeyebilir ve diğer tüm gönderilerin olay zincirine neden olabilir. Umarım yardımcı olur!


ApiDemos örnek ile bu sorunu vardı. Strings.xml dosyasında bazı eksik kaynaklar. XML hatası Eclipse konsolunda listelenir.
lemotdit

teşekkür ederim! Bu benim sorunum, ben bir hata vardı bir düzen vardı ama bu konuda hiçbir mesaj yoktu.

29
Hataları nasıl kontrol edebilirsiniz?
Vincent

4
Hataya neden WHICH xml dosyası nasıl bulunur? Tutulma onları işaretlemez!
Yar

1
Ben hdpi klasöründe (1 png ve 1 jpg formatı ile) aynı ada sahip 2 resim vardı 1 tanesi silme sorunu çözdü
Haseeb Jadoon

134

Projem başlangıçta bir r.java.at içeriyor, R.layout.main iyi çalışıyor.Ancak, bazı kodlar ekledikten sonra çalışmıyor ve hata R.layout.main çözülemiyor. sorun nedir ?

İthalatlarınıza bakın. Muhtemelen çizgi:

import android.R;

Orada olacak. Bu durumda, projeniz R'yi varsayılan Android Resources sınıfıyla değil, / res / klasörünüzden otomatik olarak oluşturulan sınıfla çözecek şekilde kaldırın.


5
Teşekkürler @ Dimitar, bu sorunumu çözdü! Eclipse ve otomatik içe aktarma özelliği, bu içe aktarma satırını otomatik olarak ekleyerek beni kazanmış gibi görünüyor.
Steven

7
Büyük harfler kullanarak bir düzen adlandırdığımda da benzer sorunlar yaşadım
Travis

Bu, insanların "R bulunamadı" olmalarının en önemli 5 nedeninden biridir. Aşağıdaki bağlantıda ana 5'i gösteren resimlerle bir sorun / çözüm sayfası derledim. Umarım liste insanlara yardımcı olur, çünkü bu yaygın bir sorundur. spragucm.wordpress.com/2014/05/13/…
Chris Sprague

R'yi kaldırdıktan sonra, bazı yerlerde R sınıf olarak kullanılır ve şimdi hata veriyor, Bunu nasıl çözebilirim?
Narendra Jaggi

96

Ve bu soruna neden olabilecek başka bir şey:

Yeni ADT'yi yükledim (s.22). İçeren genklasör oluşturmayı durdurdu R.java. Çözüm ayrıca Android SDK Manager'dan yeni Android SDK Derleme Araçları yüklemekti.

Çözüm burada bulundu


Ben de. Ve SDK yöneticisi, bak şu işe, yukarı inşa etmek araçları gösterileri seçildiğinde otomatik olarak işaretlenmiş o bir not, kurulum için değildi yüklü! Ne oluyor???
David, HotspotOffice

Aynı sorunu yaşadım. Bunu paylaştığın için çok mutluyum. İki gün kendi kodumdan hataya baktım. Google'a çok hayal kırıklığına uğradım, çünkü bu hata mesajının çözülmesi çok zor oldu, ancak kendi hatalarından kaynaklandı, ancak araçlar buna neyin neden olduğunu düzgün bir şekilde bildirmese de. Projemde aynı zamanda değişiklikler yaptım, bu yüzden yine benim hatam olduğunu düşündüm.
Reijo Korhonen

5
Benim için çalıştı, teşekkürler! Sadece benim mantramı pekiştirir: "gelişirken hiçbir şeyi asla güncellemeyin".
Rodrigo Dias

cevabı aramak için takılıyordum ama hiçbir şey benim için işe yaramadı. bir tutulma veya sdk sorunu olduğunu düşünüyorum. Yani dediğin gibi, ben sadece prev tutulma paketini silmek ve yeniden yükleyin. ve sonra çalışıyor. cevabınız yardımcı oldu
yeni başlayanlar

Benim durumumda sorun buydu! Bir gün R hatasını düzeltmek, referans eklemek / kaldırmak ve diğer seçenekleri denemek için boşa harcandı. Mine, yeni bir ADT kurulumu ve yeni bir android proje oluşturma işlemiydi ve hala hatayı alıyordu. Sonunda, Android SDK Araçları, Android SDK Platform Araçları ve SDK Oluşturma Araçlarının tüm güncellemelerini yüklemem
gerekti

87

R.java, uygulamanızı oluştururken Android Eclipse eklentilerinin oluşturduğu bir dosyadır. R.java"gen" dizini altında oluşturulur. Bu dosya "res" dizinindeki bilgilerden üretilir. Eclipse menüsünde "Project" -> "Clean ..." seçeneğini belirlerseniz, R.javadosya kaldırılır ve yeniden oluşturulur .

AndroidManifest.xmlDosyadaki paket adınızı değiştirdiğinizde "R çözülemiyor" sorunu oluşuyor . R.javaDosyayı depoladığı "gen" dizininin altında bir alt dizin oluşturmak için Android paketinizin adını kullanır .

Eclipse'ın temiz yürütme sorunları olabilir, çünkü R.javaAndroid paket adını değiştirdiğinizde dosyanın nerede olduğu konusunda karışıktır . Aşağıdaki alt dizini genyeni paket adınızla eşleşecek şekilde yeniden adlandırabilir veya paket adınızı eski adıyla değiştirebilirsiniz. Temizlemeyi yapın ve ardından paket adını istediğiniz yeni adla değiştirin. Paket adını değiştirirken Eclipse'nin oluşturmaya çalışmasını durdurursanız bu en iyi sonucu verir. "Proje" menüsü altında "Otomatik Olarak Oluştur" seçeneğinin işaretini kaldırın ve ayrıca "Temizle ..." iletişim kutusunun "Derhal bir derleme başlat" seçeneğinin işaretini kaldırdığından emin olun, böylece siz değiştirirken oluşturmaya çalışmaz paket adı. Adı değiştirdikten sonra "Otomatik Olarak Oluştur" seçeneğini tekrar açabilirsiniz.

Not senin eğer AndroidManifest.xmldosya Paket adı Java paket adı eşleşmiyor Eclipse otomatik olarak ekleyerek sona erecek "ithalat <Android paket adı> .R;" .javaR için herhangi bir referansı olan tüm dosyalarınızda satır . AndroidManifest.xml Paket adınızı değiştirirseniz , bazen Eclipse bu eklenen tüm içe aktarmaları güncellemez. Bu durumda, Java dosyalarınızdan birinde içe aktarma ifadesini yeni paket adınızla değiştirmek için Eclipse refactoring ( ALT+ Shift+ R) kullanın AndroidManifest.xml. "Otomatik Olarak Oluştur" u devre dışı bırakırken bunu yapmak en iyisidir.


21
Bu referanssız bir kes ve yapıştır gibi görünüyor
Casebash

1
Birden çok Dosya Kopyalama / Yapıştırma ve ad yeniden düzenleme, tüm dosya adları ve içerikleri Tamam olmasına rağmen aynı soruna yol açar. Projeyi temizlemek, R.java'yı manuel olarak ve tüm içe aktarma başlıklarını silmek, ardından bu içe aktarma başlıklarını (hala CTRL + SHIFT + O ile) yeniden oluşturmak iyi çalıştı.
hornetbzz

Bu benim için çalıştı. Manifest'teki paket adını değiştirmiştim. Doğru alma eklemek için oluşturulan R sınıfı değerlerine başvurulan sınıflarda ctrl-shift-O kullanmak zorunda kaldı.
Chuck Krutsinger

Bu benim için düzeltildi. Ayrıca, içe aktarma sorununun geçmişte meydana geldiğini gördük, ancak bu sefer sorun manifest'teki paket adı src klasöründeki paket adıyla eşleşmiyordu.
Jim Range

Başvurumda iki faaliyetim vardı. Birinin R'nin oluşturduğu isimden farklı bir paket adı vardı. R gibi bir şey kullanarak manuel olarak R almak zorunda kaldımimport com.example.main.package.name.R;
Oliver Moran

85

Will ne dedi doğruydu

R, kaynaklarınızı tanımlamak için kullanılan sabitleri tutan otomatik olarak oluşturulmuş bir sınıftır. Bir R.java dosyanız yoksa (SD SD ile Eclipse içinde gen / eu.mauriziopz.gps / R.java olacaktır) projenizi kapatıp yeniden açmanızı veya> Proje> Tümünü oluştur (ve> Josef tarafından önerilen şekilde "Otomatik Olarak Oluştur" u seçerek). Eğer bu işe yaramazsa, yeni bir proje yapmayı denemiyorsanız, sorun yeniden yaratıldığında> tekrar buraya gönderin ve daha ayrıntılı olarak ele alacağız.

ama birincisine neden olan başka bir sorun olduğunu öğrendim. SDK dizinindeki araçların yürütme izinleri yoktu, bu yüzden Eclipse için mevcut değildi, bu yüzden R.javadosyayı oluşturmadı .

Böylece izni değiştirmek ve "Otomatik Olarak Oluştur" seçeneğini seçmek sorunu çözdü.


@Jignesh - cd $ANDROID_SDK_ROOT/build-tools/<version>. Sonra chmod a+xdosyaları gibi üzerinde aapt, aidl, dexdump, dx, vb ANDROID_SDK_ROOTortamınızda seti olmalı ve bu sizin SDK kurulumu işaret eder. Örneğin /opt/android-sdk,. Her ikisini de ayarlamak önemlidir ANDROID_SDK_ROOTve ANDROID_NDK_ROOTçünkü Android araçları bunları dahili olarak kullanır. Önerilen NDK Dizini'ne bakın ? NDK kullanıcı listesinde.
jww

@Lewis .. Ben zaten "Otomatik Olarak Oluştur" seçiyorum ama hata hala orada.
d_unknown

39

R, kaynaklarınızı tanımlamak için kullanılan sabitleri tutan otomatik olarak oluşturulmuş bir sınıftır. Bir R.java dosyanız yoksa (SD SD ile Eclipse'de gen / eu.mauriziopz.gps / R.java olacaktır) projenizi kapatıp yeniden açmanızı veya Project> Tümünü oluştur (ve Josef tarafından önerilen şekilde "Otomatik Olarak Oluştur" seçeneğini seçerek). Bu işe yaramazsa, yeni bir proje yapmayı denemiyorsanız, sorun tekrar burada yayınlanmaktan daha yeniden oluşturulduysa daha ayrıntılı olarak ele alacağız.


8
Bu benim için çalıştı, ama önce "Proje -> Temiz ..." zorunda kaldı.
Matt Connolly

27

Tüm dosyaları kapatın, projeyi temizleyin, Eclipse'i yeniden başlatın.


23
+1 Ama bazen 3 tutulma yeniden başlatılması ve aralarında 7 proje temizliği gerekir. Sadece denemeye devam et ;-) #rant
Matthias Bauch

3
.Xml dosyalarına (strings.xml ...) dokunarak (düzenle + kaydet) karıştırın.
Ali Shakiba

24

Check-in yapmaya değer AndroidManifest.xml. Özellik packagedoğru değere sahip.

Yani:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="your.correct.package.name"
   ...

Bunu değiştirdikten sonra, R.javayeniden oluşturulacak.


Orijinal paket adım com.xxxxxdroid.router'dı. Com.xxxxxdroid2.router uygulamamın yeni bir sürümünü oluşturdum. Bunu yaptıktan sonra AndroidManifest.xml'deki paket adını güncellemem gerekti, ancak eski dersleri kopyalayıp yapıştırmaya başladıktan sonra çok sonra. İşaretçi için teşekkürler!
Eugene van der Merwe

Bu sorunumu düzeltti, bir xml dosyasında çalışıyordum, hangisini hatırladığım için memnunum, bir sürü var ... teşekkürler ...
GHz

19

Bu hata, paketinizin kök ad alanından farklı bir ad alanına etkinlik eklenmesi nedeniyle de oluşabilir.

Örneğin, com.example.myapppaketinizin kök ad alanı ise, ürününüze bir etkinlik ekleyebilirsiniz.com.example.myapp.activities .

Bu, "R çözülemiyor" hatası oluşturur.

Etkinliğinizdeki varsayılan ad alanındaki R almayı düzeltmek için:

import com.example.myapp.R;

Bu bana yardımcı oldu, faaliyetlerimi kökün altındaki bir pakete taşıdım ve kök paketi bir ithalat (import com.example.myapp.R;) olarak ekleyerek sorunu çözdüm.
eageranalyst

19

Önceki yanıtlardaki harika önerilerin yanı sıra Android hedefinizin belirlendiğinden emin olun:

  1. Projenize sağ tıklayın
  2. Özellikler seçin
  3. Soldaki menüden Android'i seçin
  4. Uygun Proje Oluşturma Hedefi'nin yanındaki kutuyu işaretleyin.
  5. Uygula ve Tamam'ı tıklayın.

Edit: Bir yıl sonra başka bir neden buldum. Çekilebilir klasörümde .png görüntüsüyle aynı ada sahip bir .jpg görüntüsü vardı. Kodumdaki bu görüntüye başvurmak programı karıştırmış olmalı ve "R çözülemiyor" hatası verdi.


17

Android oluşturma aracı form sdk yöneticisini yüklediğinizden emin olun

proje sağ tıklayın özellikleri-> Java BuildPath seçin kütüphane ve ekleyin android- support.jar aşağıdaki adımları izleyin.

Sırala ve dışa aktar sekmesini seçin, ardından Proje-> Özellikler-> Java Derleme Yolu'na gidin. Android-destek .jar kütüphanesini kontrol edin ve listenin en üstüne yerleştirin. Ve temizle ve yeniden inşa et.

resim açıklamasını buraya girin


15

Bu sorunu milyonuncu kez yaşadım ve neye sebep olduğunu anladım: Adında büyük harflerle bir XML dosyası oluşturdum. İçindeki tüm XML dosya adlarınız /reseşleşmelidir [a-z0-9\\._].


Ayrıca, ben sadece yığın taşması tüm ters eğik çizgiler kaçmak için gerektirir fark ettim.

14

En basit çözüm - Bazen otomatik oluşturucunun devreye girmesi için üzerinde çalıştığınız XML dosyasını kaydetmeniz gerekir.

Dosyayı kaydedin (örn. Main.xml), ardından R.java dosyasını silin ve yeniden oluşturulan R.java'nın R çözüm sorununu çözüp çözmediğine bakın.


Doğru. Bazen, XML'nizde (kırmızı dalgalı çizgi veya sarı ünlem işareti) olmayan bir sorun olduğunu söylüyorsa, rahatsız edici satırı silin, XML dosyasını kaydedin, satırı tekrar yapıştırın ve tekrar kaydedin. Otomatik olarak bina yapmıyorsanız, bundan sonra tekrar inşa edin ve işe yarayabilir. Tutulma bazen aptaldır. :)
hotshot309

Yukarıda listelenen diğer cevaplara rağmen, bunun benim için doğru olduğu ortaya çıktı. Başlangıçta bazı örnek kodları derlemeye gittiğimde "APK bulamıyorum" mesajını aldım, sonra bir ton "R çözülemedi" hatası üreten bir temizlik yaptım ve sonra sadece .xml dosyasını açıp hataları manuel olarak kaydettim temizlendi ve derleyebilirim.
sXe

Çok doğru: Projeleri temizledikten sonra R.java gitti - strings.xml dosyasını düzenleme ve kaydetme sorunu çözdü.
BurninLeo

12

XML dosya adlarını kontrol edin. Hepsinin küçük harfle yazıldığından emin olun.

Ayrıca, görüntü kaynak adlarının hepsinin DÜŞÜK DURUMDA olduğundan emin olun. Benim jpg dosya adına büyük bir harf vardı ve bu benim proje genelinde R çözülmemiş hataya neden oldu.


Bunun için +1 benim sorunumdu. Resimlerinizi şöyle adlandırmalısınız: eIcon.png değil eIcon.png. Konsol'a bakarak hatayı buldum. Geçersiz Dosya Adı ile dosyada bir hata döndürüyordu: ...
jasonflaherty


10

Bu hata x64 Linux Mint kurulumumda ortaya çıktı. Paket yüklü olmadığı için sonucun ADBikili dosyada bir hata olduğu ortaya çıktı ia32-libs. apt-get install ia32-libsEclipse'i çalıştırmak ve yeniden başlatmak hatayı düzeltti.

X64 dağıtımınızda ia32-libs yoksa, Multiarch'a gitmeniz gerekir.

Bu yayında # 4 ve # 5'i kontrol edin: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

Umarım bu birine yardımcı olur.


64 bit Linux kurulumuna sahipseniz, ia32-libs'e ihtiyacınız olacağını belirtmek gerekir. Sahip değilseniz, adb komutunu çalıştırmayı denemek, dosyayı veya dizini bulamadığını söyleyen garip bir iletiyle sonuçlanır.
rs_atl

10

SDK araçlarını güncellemeniz / yüklemeniz gerekebilir. Android SDK Yöneticisi'ni tekrar başlatın ve yeni bir öğe yükleyin: Android SDK Build-tools. Tek bir silme, hangisinin sizin için çalıştığını düzeltin.resim açıklamasını buraya girin


9

SDK araçlarını güncellemeniz gerekebilir. Android SDK Yöneticisi'ni tekrar başlatın ve yeni bir öğe yükleyin: Android SDK Oluşturma araçları.

resim açıklamasını buraya girin


8

Ben de bu problemi yaşadım. strings.xmlSessiz bir hataya neden olan yanlışlıkla "app_name" dize kaynağını dosyadan sildiğim ortaya çıktı . Bir kez geri ekledikten sonra, R sınıfı başarılı bir şekilde oluşturuldu ve her şey geri döndü.


6

Yeni XML düzeni dosya adınızı küçük harf yapmaya çalışın. Örneğin, my_file.xmlyerine kullanın myFile.xml.


+1 EVET! Doğru adlandırma kurallarına uyduğundan emin olun ... [a-z0-9_.]
jasonflaherty

6

Yine bir başka neden R.javasizin gibi dizinleri varsa otomatik olarak oluşturulan almayabilir olduğunu res / çekilebilir-hdpi , res / çekilebilir-MDPI veya res / çekilebilir-LDPI .

1.6+ bu dizinler ile iyi gibi görünüyor, ancak 1.5 onları istemiyor. Bu dizinleri kaldırdığımda, R.javayeniden benim için otomatik oluşturmaya başladı.


6

İlk kontrol herhangi bir xml düzeninde herhangi bir hata olup olmadığını kontrol eder, eğer önce çözerseniz.

Aksi takdirde, projeden junit bağımlılığını kaldırın ve projeyi yeniden oluşturun.

resim açıklamasını buraya girin


5

Çoğu zaman bunun nedeni, projeyi oluştururken sağladığınız MinSDK sürüm numarasıdır. Misal:

2.1'in minimum olmasını istiyorsanız, Android 2.1 aslında API Seviye 7'dir.

İndirdiğiniz ve yüklediğiniz SDK'ya göz atarken neden bahsettiğimi görebilirsiniz. SDK'yı yüklediğiniz yere gidin ( C:\android-sdk-windowsörneğin) ve "platformlar" adlı klasörü açın. Klasör olarak listelenen "android-7" gibi bir şey görürsünüz ve açarsanız, source.propertiesbir metin düzenleyicisiyle açıldığında ilgili platform sürümünü gösterecek bir dosya vardır.

Bir proje oluşturduğunuzda ve bir "Hedef Oluştur" API'sı seçmeniz gerektiğinde, bu listedeki "API Düzeyi" adlı son sütun, MinSDK ayarını doldururken aradığınız sayıyı gösterir.

Bu muhtemelen R.javadosyanın Project> gen> packagegename> R.java altında oluşturulmamasına neden olan en yaygın hatalardan biridir.


5

Kaldır main.out.xml. Bu konuda yeniyim ve bu dosyanın ne için kullanıldığını henüz bilmiyorum, ancak kaldırıldığında sorun giderildi.


5

Android Üst menü listesine gidin. Oluştur Menüsü'ne tıklayın, Oluştur altında Proje Yeniden Oluştur'a tıklayın .

resim açıklamasını buraya girin


4

Android 8'in örneklerini aldım ve Android 7 SDK'yı kullanmaya çalışıyordum. Projeyi kapatıp uygulama klasörünü yeniden açıp Android 8 SDK'yı kullanmayı seçtiğimde, R dosyasını bulabildi. Bu yardımcı olur umarım.


4

Benim durumumda, hatam vardı AndroidManifest.xml. Diğerleri, XML dosyalarınızın hatasız olması gerektiğini söylediler, ancak yalnızca res / klasörüne bakıyordum. Mümkün olduğunca çok sayıda hatayı bulun ve düzeltin; sorun kendiliğinden çözülebilir.


Benim durumumdaki suçlu buydu. Manifest.xml dosyasındaki HERHANGİ bir hata, R.java henüz oluşturulmamışsa bu soruna neden olabilir.
Scott Biggs

4

Birinin ilgilenmesi durumunda (burada hayatınızı kurtarıyor olabilirim), R.xmlbir GLS projesinde hatayla karşılaştım, çözülemedim, biraz farklı. Hmmmm. Baktıktan sonra R.java, otomatik olarak oluşturulmuş bir sınıf buldum XML.java, (sanırım) orada değildi.

Çözüm? res: Klasöründe yeni bir klasöre res\xmlve default_values.xml orada çağrılan bir dosyaya ihtiyacı vardı. Sonra her şey yolunda idi.

Bu dosyaya sahip değilseniz, bu:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
</PreferenceScreen>
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.