Android Studio'da “R sembolü çözülemiyor”


716

Ben referans benim sınıfların tümünde her durumda R.id.something, Rkırmızı ve bu "sembolü R çözemezse" diyor. Ayrıca her seferinde R.layout.somethingkırmızı ile altı çizilir ve "setContentView (?) Yöntemini çözemez" der. Proje her zaman iyi gelişir. Bunu her zaman görmek sinir bozucu. Eclipse'den proje ithal etmede benzer ancak en çok ilgilendiğim şey hakkında burada birçok soru okudum. Android Studio'nun en yeni sürümü olduğuna inandığım şeyi kullanıyorum ve proje Android Studio ile oluşturuldu ve "R'yi çözemiyorum" sorunları olmadan çalıştı. Herkes bilirse buna neyin sebep olduğunu bilmek isterim.


geçmişte gibi xml hataları aldım: progressbar android.widget.textview için kullanılamaz ve ben sadece textview adını değiştirerek sabit. Hatanın başlamasının nedenini hala gerçekten bilmiyorum.
ez4nick

U adını değiştirdiyseniz, şimdi res / strings.xml dosyasında bulunmayan bir dize başvurusunu kullanmaya çalışıyorsunuzdur.
Göz küresi

2
Bu soruyu sormadan önce birçok kez aradım ve bahsettiğiniz kişi de dahil olmak üzere birçok benzer soru buldum. Ben bu sorudaki öneriyi okudum ve benim java dosyaları hiçbir ithalat Android.R yoktur.
ez4nick

2
Hey, uzun zaman önce sorulduğundan beri bu soruyu sormayı unuttuğum herkes. Bir yıl önce kendi cevabımı kabul etmiş olmalıydım, şimdi bunun üstünde yorum var. Sorun, android stüdyosunun o kadar erken bir aşamada olması ve yeni bir geliştirici olarak asla kullanmamam gerektiğiydi. Her şeyin yolunda gittiğinden ve çalıştığından emin olabilirsiniz. Mümkünse, kabul edebilmem için lütfen orijinal cevabımı geri alın.
ez4nick

3
R isnt hata bulamıyor onun bir hata inşa neden bir hata diğer hataları düzeltmek ve sen iyi olmalısın.
Just_someone

Yanıtlar:


721

Ben de bu sorunu yaşadım. Basit bir 'gradlew clean' ve 'gradlew build' hile yaptı.


Build-> Clean Project'e tıklayın ve bu, bir temizlik temizliği gerçekleştirecektir


56
bazen de android stüdyosunu yeniden başlatmanız gerekir. ya da en azından benim için.
Foo Bar Kullanıcısı

24
Komut satırını kullanarak ikna olanlar için, Build-> Projeyi Temizle'ye tıklayın, bu da 'gradlew clean' gerçekleştirecektir. ;)
Bay Concolato

22
Şans yok ... Temizlik yeniden inşası beni fr çalışmıyor
CandleCoder

7
temiz, yeniden oluşturma, önbellekleri geçersiz kılma-yeniden başlatma çözülmez git: import package.R;
Sudip Bhandari

2
Benim için bu soruna neden oldu: Bildirimde çakışma ve paket adı ApplicationId arasında uyumsuzluk (ve otomatik alma R dosyası için yanlış adres ekledi rağmen). İkisi arasındaki farkı açıklığa kavuşturmak için bu küçük makaleyi öneriyorum. blog.stylingandroid.com/package-name-vs-application-id
Tina

227

Android Studio'nun en son sürümlerinde, en azından benim için, aşağıdakiler işe yarar:

"Araçlar" -> "Android" -> "Project'i Gradle Dosyaları ile Senkronize Et"

En son Android Studio 3.1.3'te (Temmuz 2018), ana proje çubuğunda "Project'i Gradle Dosyaları ile Senkronize Et" seçeneği bulunmaktadır.

resim açıklamasını buraya girin


O zaman kullandığınız Android Studio sürümü neydi?
Joel Handwell

Benim için çalışmıyor (Android Studio 0.8.14). Ancak, Build> Clean projesi iyi çalışır.
Phat H. VU

Hala Android 1.2.1'de çalışıyor. İlk kez çalışmazsa, bunu bir kereden fazla yapmayı unutmayın.
noob

Benim için işe yarayan tek şey bu. Önce diğer tüm çözümleri denedim.
Mac

1
Android Studio 3.1.1'de bu seçenek Dosya -> Projeyi Sınıf Dosyaları ile Senkronize Et'te
Hrishikesh Kadam

155

3.3.0. Seviyeyi kullanıyordum. Ana suçluydu. Hayatımdan 6,50 saat kaybettim. Gradle 3.2.1 hatayı kaldırdı.

classpath 'com.android.tools.build:gradle:3.2.1'

Sınıf sürümü değiştirildikten sonra sorun çözüldü. Ayrıntılar geçmişi burada bulunabilir .


9
Android stüdyo geliştiricileri tarafından bir başka şaşırtıcı başarı. Geri dönmek 3.2.1aslında benim için çalışan tek çözümdü ...
Vucko

1
Şaşırtıcı bir şekilde 2 ay sonra hala bir sorun. En son sürüm (3.3.2) bunu düzeltmedi, 3.2.1 yaptı.
JakeSteam

Dereceye geri dönmek yerine 3.2.1Android Studio'yu sürüme yükseltebilirsiniz 3.3. Cevabımı burada görebilirsiniz
arne.z

3.3.0 3.2.1 değiştirerek çalıştı ama sorum 3.3.0 üzerinde iyi çalışıyordu sadece refactor vardı ve manifest xml dosyası ve gradle dosyasını güncelledi ve gradle senkronize vardı. Sebebi ne olabilir biliyorum
insoftservice

25 saat internet ve bu tek çalışma çözümü gibi görünüyor. Teşekkürler android stüdyo: (....
Nahabwe Edwin

108

Benzer bir sorunum var ve işte yaptım:

Projeyi Temizle ve Gradle ile Senkronize Etme Projesi,

resim açıklamasını buraya girin

sdk'de buildTools sürümünü kontrol et resim açıklamasını buraya girin

Derleme sınıfından (modül) minSdkVersion değerini 8'den 9'a değiştirin

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

Ama bütün bunlar yardımcı olmadı.

Sonunda cevabı buldum (bu benim durumumda çalıştı)

Build.gradle'dan değiştir (modül: app)

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

Veya

Dosya Seçin | Proje Yapısı Derleme Araçları Sürümünü 21.1.1 olarak değiştirdi

resim açıklamasını buraya girin


Bu da benim için çalıştı, yapıları değiştirme ve gradle (modül) dosyalarını kurma
Samuele Bolognini

Teşekkürler, bilge gibi, çözüm buydu.
App Dev Guy

58
  1. Xml dosyalarınızı kontrol edin.
  2. Temiz Proje.

Budur.

Örneğin, benim bir giriş vardı strings.xml:

<string name="A">Some text</string>

Ve activity_main.xmlben bu dize girişini kullandım

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

Proje ile çalışırken bunu sildim

 <string name="A">Some text</string>

Ve sonuç olarak activity_main.xmlgeçerli değildi. Sonuç olarak: R çözülemez.

Yani, *.xmldosyalarınızı kontrol edin ve projeyi temizleyin.


Bu gerçekten hayatımı kurtardı [PLUS ONE]
GingerHead

XML'lerimden birinin atıfta bulunduğu eksik bir resim bu soruna neden oldu. Görüntüyü klasöre koyun, temizleyin ve R şimdi tekrar mutlu.
Casey Murray

Yanlışlıkla benim string strings.xml iki kez tanımlanmış vardı. Studio bunu hiç göstermedi. X- (Cevabınız için teşekkür ederim.
codingjeremy

Bu, diğer geliştiricilerin okuması içindir. Bu yalnız yaklaşım benim için olduğu gibi sorunu çözmelidir.
Paramvir Singh Karwal

6
IDE'deki kötü XML dosyalarının altını çizmek için neden geri bildirim yok?
Fuhrmanator

53

Java dosyalarını veya dizinleri başka konumlara taşıdıktan sonra bu hatayı görürseniz , Android Studio'nun karıştırıldığını garanti edebilirsiniz. Ve tahmin et ne oldu? bu eylemleri geri almak sorunu çözmez.

Yani bir temiz deneyin, ama bu işe yaramaz.

Ve yeniden başlatma da işe yaramaz.

Ancak Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ... -> Geçersiz Kıl ve Yeniden Başlat

Android Studio, hangi dosyaların diğer dosyalara bağlı olduğu hakkında bilgi tutar. Dosyaları taşımak doğru bir şekilde uygulanmadığından, dosyaları taşımak hatalara neden olur. Ve hepsi bu değil: bu bağımlılıkların önbellekleri, yapıyı hızlandırmak için kullanılır.

Bu, yalnızca yeniden başlatmanız değil, aynı zamanda aklı başında olmak için bu önbellekleri geçersiz kılmanız gerektiği anlamına gelir.


Yardım etmedi. Temizlik / yeniden inşası da denedim. Java paketini başka bir pakete taşıdıktan sonra hata oluştu. İlginç bir şekilde, bir pakette R sınıfına erişilebilir, ancak taşıdığım pakette erişilemez.
rint

Android Studio'nun daha yeni sürümlerinde, Geçersiz kılma ve Yeniden Başlatma artık varsayılan menü seçimidir. Bu en az birkaç kişiye yardımcı olacaktır. (İlk etapta bu hataya neden olan tüm çılgın hataları düzeltmezler!)
Scott Biggs

1
Bir projeyi taşıdıktan ve yeniden adlandırdıktan sonra bu hatayı aldım. Bu, tüm temizlik ve yeniden başlatma işlemlerinden sonra R sorununu çözdü. Teşekkür ederim.
FrankKrumnow

2
Bu bir fincan kahve almak gibi kabaca aynı zaman alır - sırayla hala işaretleri kırmızı R ise güzel bir kahve duş almak için kullanılabilir ...ヽ( 'ー`)ノ
ZooMagic

1
Önceki yorumum için bir gif bulundu -> tenor.com/view/…
ZooMagic

30

Etkinlikler dosyalarınızı varsayılandan başka bir klasöre koyarsanız düşünüyorum. Kullanarak TÜM etkinliklere com.example.yourproject.R(bu proje Rdosyanız DEĞİL Android.Rdosyası) almanız gerekir R. Örneğin, MainActivitydosyaya şu satırı ekleyin:

import com.example.yourproject.R;

1
Ah, ve ilk inşa etmeden önce hala hata mesajı olacak. Ancak, build tuşuna basarsanız, Android Studio R dosyasını oluşturur ve derlemenin başarılı olması gerekir.
ninjahoahong

ve düzeltmeden sonra projenizi temizleyip daha sonra inşa etmeniz daha iyi olur. veya cihazınızda veya taklitçinizde hata ayıklamak için Shift + F9 tuşlarına basın. Gerçek cihazda hata ayıklamayı tercih ederim.
ninjahoahong

Bu en iyi çözüm. Thanks dude
Arundev

bu cevap sihirli değnekti. thanks
leeCoder

28

Bu sorunun birçok nedeni var gibi görünüyor. Son zamanlarda, NewActivity denilen bir etkinlik ekledim. Bu adında bir dosya oluşturdu res/menu/new.xmlve yeni adı ayrılmış bir kelime olduğu için gradle bu adı beğenmedi.

gradlew clean

veya

"Tools" -> "Android" -> "Sync Project with Gradle Files"

Bunlar kesinlikle denemek için iyi şeyler, ancak bu komutları çalıştırmadan önce çözmeniz gereken başka sorunlar da olabilir.


teşekkürler de benim için çalıştı. Küçük soru - nerede bu şekilde yapmak istiyorsanız gradlew temiz yazmalıyım ("Araçlar" -> "Android" -> "Gradle Dosyaları ile Proje Eşitleme" yaptım)?
Sergii

Bir komut terminali açın, proje dizinine geçin ve "./gradlew clean" komutunu çalıştırın
chawkinsuf

Benim için olan buydu. Teşekkürler!
TinyGrasshopper

Bu, sorunu 'Projeyi Yeniden Oluştur' dan daha iyi nasıl çözüyor?
IgorGanapolsky

Evet, benim durumumda "import.png" adlı bir png dosyası ekledim. Yeniden adlandırmak zorunda kaldım, benim durumumda "import_icon.png" ve sonra proje tamam derledi.
mihai71

17

R.java dosyası xml ve java sayfası arasındaki bağlantıyı içerir. "R çözülemiyor" yalnızca kaynak dosyalarınızdan bazılarında sorun olduğunda ortaya çıkar. Yani en iyi ve etkili yolu son yapılan xml veya res dosyasında çekilebilir silmek. ve daha sonra android kodlama normlarına göre oradan tekrar başlayın. Bu tek yoldur. Etkili ve doğru yol.

Kodun doğru takibi için Git'i de kullanın. ..


Benim durumumda sadece XML'de değil, PNG'de de (çekilebilir) sorunlar vardı.
CoolMind

15

Kodunuz şifreli. Cevap oldukça basit.

İşte adresi kurmak > - Temiz Projesi .

Hile yapmalı.

Android Studio sürümünüzü de kontrol edin.

Şu anda Android Studio 3.0.1 kullanıyorum .


14

SDK araçlarınızı yakın zamanda güncellediniz mi? Android SDK yöneticisini başlatın ve şimdi platform araçlarından ayrı olan en son SDK araçlarına sahip olduğunuzdan emin olun. SDK yöneticimi ilk kez güncellediğimde aynı sorunu yaşadım, SDK oluşturma araçları paketi SDK yöneticisini kapatıp yeniden açana kadar yükleme / güncelleme için görünmedi.


Her şeyin güncel olduğuna inanıyorum. bu gerçekten böyle bir soruna neden olabilir mi?
ez4nick

yeni SDK oluşturma araçlarını yüklemediyseniz, evet.
invertigo

12

Projenizi temizleyin ve Project'i Gradle Dosyası ile Senkronize Edin.resim açıklamasını buraya girin

Ve sorun çözülecek.


"Uygulama" yı sağ tıklayıp menüdeki senkronize et düğmesini tıklamanın bunu başaramadığı unutulmamalıdır. Teşekkürler.
Mafro34

11

Bunu bende yaşadım

  1. Çekilebilir kaynaklarımda büyük harf var.
  2. Android Studio (veya Eclipse) tarafından eklenen Android.R'yi içe aktarın
  3. Xml dosyasında hata

XML dosyalarımdan birinde bir hata olduğu için sorun yaşadım. Sorun çözüldü sonra birBuild->Clean Project
AjayCodes

11

Son zamanlarda bu sorunu vardı ve temiz / yapı vb. Çözmedi. Bir yerde bir sorun vardı ama nerede bulmak için emin değildi tahmin (manifest, kaynak xml dosyaları vb oldu?).

Bir şey yanlış olduğunda, bir kod analizi çalıştırması yaparak bunun ne olduğunu öğrenebilirsiniz.

Üstteki menüden şunları seçin:

Analiz -> Kodu inceleyin, 'Varsayılan' profilini kullanarak tüm projeyi tarayın.

İnceleme sonuçlarınız 'Android' adlı bir öğe içerecektir. Burada, kaynaklarınızda ve bildirim dosyanızda sorunlara neden olan her şeyin bir listesini alacaksınız. Hatalar, oluşturduğunuz xml dosyalarını yapıcınızdan açacak ve bu da kırmızı renkte hatalar gösterecektir.

Benim tam sorunum çünkü lezzet tabanlı manifest dosyaları kullanıyordum ve bazı izinleri <application>lezzet etiketi içinde yanlışlıkla kopyaladım .

teftiş

GÜNCELLEME: Hata hala oradayken şimdi mükemmel bir şekilde oluşturup çalıştırabilsem de, düzeltmeden sonra hala Android Studio'nun hatayı gösterdiği bir sorun yaşadım. (Şu anda bir kanarya yapısını çalıştırıyorum)


İlginç bir şekilde, ben sadece bir dosya üzerinde bu sorunu vardı ve "Kod incelemek" işlemi koştu ve kendini temizledi (temiz ve yeniden oluşturma düzeltmek vermedi). Lint'te sadece bunun giderilebileceği bir şey sıkışmış olmalı. Teşekkürler!
rundavidrun

Bunun için teşekkür ederim! Bu beklenen birçok genel hata bulurken, tüm kaleyi yıkan parça Asset Studio tarafından oluşturulan bir XML dosyasında küçük bir Sözdizimi hatasıydı! Bunu çözdüğümde, Temiz bir Proje ilerlememe izin verdi.
Bink

10

RPaketimi android stüdyoda almak zorunda kaldım . Örneğin:import com.example.<package name>.R


1
Düşünmeden önce buradaydım. Tekrar teşekkürler
Ohiovr

1
Bu benim için çalıştı. Çok teşekkür ederim.
Aquarius_Girl

Bu, paket adımı yeniden düzenledikten sonra başıma geldi, ancak bir şekilde android stüdyosu ayrıldı import com.example.old-package-name.R, bu yüzden içe aktarmayı yeniden adlandırmak zorunda kaldım.
auspicious99

9

Bu çok eski bir soru, ama yine de çok şey oluyor ve burada gerçekten kapsamlı bir cevap yok.

Bu sorunu kabul etmek istediğimden daha fazla yaşadım. Çoğunlukla hepsinin proje yapınızla beklenen şeylerle eşleşmemesi gereken çok çeşitli sorunlardan kaynaklanabilir. İşte yaşadığım tüm sorunların bir listesi:

Eclipse'den Android Studio'ya aktarma, özellikle Android Studio'nun eski sürümlerinde her zaman düzgün çalışmaz. Doğru dizin ağacını kullandığınızdan emin olun. Orta derecede olgun bir uygulama için şöyle görünmelidir:

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler created directory. You should normally leave it alone
    .idea/      // Ditto
    build/      // This too
    gradle/     // And this
    app/
        build/
        libs/
        src/
            androidTest/   // Tests based on the Android instrumentation runner should go here
            main/
                java/
                    fully/           // Typically com
                        qualified/   // the domain name. Longer package 
                                     // names may have deeper folder trees
                            AppName/ // All your java files go here
                res/
                    drawable-*/      // One of these for each resolution you support
                    layout/          // All of your general layouts
                    menu/            // All of your menu layouts
                    values/          // All of your resource xml files
                    xml/             // PreferenceScreen layouts go here
                AndroidManifest.xml
            debug/         
            test/          // Pure jUnit tests should go here
        .gitignore
        app.iml
        build.gradle   // This is the gradle file you should be making most changes to
        proguard-rules.pro
    .gitignore
    build.gradle       // This gradle file should mostly be left alone
    gradle.properties
    gradlew
    local.properties
    AppName.iml
    settings.gradle

IDE'nizde böyle görünmeyebilir. Dosya ağacının üzerinde, dosyalarınızı farklı şekillerde görüntüleyen bir açılır menü vardır ve sistemimde varsayılan olarak, dosyalarınızı farklı türlerine ayıran Android adlı bir sisteme geçer. Bu tür bir sorunu Project adlı sorundan çözmek daha kolaydır ve hatta doğrudan işletim sisteminizin dosya sisteminden daha da kolaydır, çünkü Android Studio yalnızca başka bir klasör içeren klasörleri tek bir satıra daraltır.

Özellikle uygulamanızın adını değiştirirseniz, main / java / com / domain / AppName kaynak ağacının güncellendiğinden emin olmanız gerekir. Ayrıca AndroidManifest.xml dosyasındaki paket etiketinin doğru olduğundan emin olun.

Gradle dosyalarınızda veya AndroidManifest.xml dosyasında hatalar varsa, bu, Android Studio'nun kaynak dosyalarınızı düzgün bir şekilde oluşturmasını önler. Gradle dosyaları Android Studio'yu bazen, özellikle 1.0 öncesi sürümlerden yükselterek kırılabilir. Bazen bunun nedeni Gradle eklentisinin eski sürümlerini desteklememesidir, bu nedenle sürüm numaralarınızı güncellemeniz gerekir. Mevcut sürümlerin ne olduğunu bulmak bazen zor olabilir. Bugün itibariyle 7/17/15, uygulamalarım iyi derleniyor com.android.tools.build:gradle:1.2.3. Bu, en dıştaki gradle dosyasındaki bağımlılık bloğundadır,

AndroidManifest'iniz var olmayan bir çekilebilir veya dize kaynağı veya etkinliğine başvuruyorsa, bu hataya neden olur. Bazen bir şey var olmayan bir çekilebilir veya dize kaynağına başvurursa, bu hatayı alırsınız.

Kaynaklarınızda bozuk bir dosya veya geçersiz bir xml dosyası varsa, bu hatayı alırsınız.

Deneyimlerime göre, bazen Android Studio nedensiz bir şekilde hıçkırıyor ve onu ve / veya PC'nizi yeniden başlatmanız gerekiyor. Nedenini bilmiyorum, ama bazen işe yarıyor.

Aynı ada sahip iki xml kaynağınız varsa, birbirinizi geçersiz kılmayan dizinlerde bu sorunla karşılaşabilirsiniz. Örneğin, drawable-mhdpi ve drawable-xhdpi'de aynı ada sahip olabilirsiniz çünkü hedef cihaza bağlı olarak birbirlerini geçersiz kılarlar, ancak mizanpajda ve menüde aynı ada sahipseniz bir soruna neden olur. Dosyalardan birini yeniden adlandırın veya silin.

Yalnızca bazı kaynaklarda bu sorun varsa, bu kaynaklar büyük olasılıkla yanlış dizinde.

Bir durumda Android Studio'yu tamamen yeniden yüklemek zorunda kaldım. Neyin yanlış olduğunu bilmiyorum, ama işe yaradı.

Bir durumda tüm projemi farklı bir dizine taşıdım ve yeni bir proje olarak yeniden içe aktardım. Neyin yanlış olduğunu bilmiyorum, ama işe yaradı.

Adlar için ayrılmış sözcüklere sahip Xml dosyaları bu soruna neden olabilir. Bunları yeniden adlandırın veya silin.

Gradle dosyanızın, yüklemediğiniz oluşturma araçlarının bir sürümüne başvurmanın birkaç yolu vardır. Gradle'ı değiştirerek veya uygun oluşturma araçlarını indirerek bunu düzeltin.

Son olarak, yanlış olanı düzelttikten sonra Gradle projenizi temizlemeniz gerekir. Bunu, üstteki Oluştur menüsüne gidip Projeyi Temizle'yi seçerek yapabilirsiniz.


9

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

resim açıklamasını buraya girin


9

Uygulamamın alan adı klasörünü manuel olarak yeniden adlandırdığımda bu sorunla karşılaştım. Bu sorunu düzeltmek için

  1. Uygun Set packageklasör yapısını <manifest>içinde AndroidManifest.xml.
  2. İçin yeni paket konum ayarlayın android:namearasında <activity>yer AndroidManifest.xml.
  3. Önbelleği temizle:

Dosya Menüsü -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ...

Android stüdyosu yeniden başlatıldığında ve yeni dizini oluşturduktan sonra sorun ortadan kalkacak.


9

Aynı sorunu yaşadım: Android Studio 3.2 Proje derleniyor ve iyi çalışıyor, ancak "Sembol" R "ekran uyarılarını çözemiyorum

Yardımcı olmuyor :

  • Yapım-> Projeyi Temizle
  • Oluştur-> Projeyi Yeniden Oluştur
  • Dosya-> Önbellekleri Geçersiz Kıl / Yeniden Başlat

Yardım eder:

ya

build.gradle içinde

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

şununla değiştir

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

veya

Android Studio'yu 3.3'e güncelleyin


Hayatımı kurtardın ! Android stüdyosunu 3.4'e güncellemek benim için sorunu çözdü
Artory

8

Bu sorun için özel bir durumum var.

Projemde her şey yolunda gidiyor, başarılı bir şekilde derlenip oluşturulabilir, ancak Android Studio IDE'mde (ve Akıllı IDEA'yı da denedim, aynı durumdalar) R.java dosyası iyi çözülemiyor ve her zaman kırmızı çizgi damla.

Aynen böyle: resim açıklamasını buraya girin

Bu neredeyse beni deli ediyordu, programlarken okuma rengine dayanamıyorum.

Sonunda bu zor sorunun neden R.java dosya boyutu nedeniyle bulundu. Projem çok büyük bir proje, birçok çoklu dili ve çoklu ekran boyutunu destekliyor. O kadar çok kaynak var ki, R.java dosyamın boyutu 2.5M .

Android Studio'da bir dosyanın maksimum boyutu varsayılan ayarlarda 2,5M'dir, bu nedenle bu sınırdan daha büyük dosyalar iyi çözülemez. Varsayılan ayarları "AndroidStudio-root / bin / idea.properties" klasöründe değiştirebilirsiniz.

bu satırı değiştir:

idea.max.intellisense.filesize=2500

kime:

idea.max.intellisense.filesize=5000

Sonra Android stüdyosunu yeniden başlatın, kırmızı renk reddedildi, tekrar mutlu bir şekilde programlayabilirim.


Android 3.2'de sadece Yardım / Özel Özellikleri Düzenle
Beto

iyi ipucu, ama çözemedi benim sembol R
çözemez

7

Yapım> Projeyi Temizle

Bu benim için çalıştı. Aynı sorunu birkaç kez yaşadım ve bu doğru ayarladı. Bir şeyi değiştirmediyseniz ya da R değişkeni olarak adlandırmadıkça, bu sorun genellikle bana geldiğinde hiçbir yerde olmaz, bu yüzden sadece Android stüdyolarının çıldırdığını hayal ediyorum. haha

İyi bir şansınız olsun ve projelerinizde iyi şanslar.


Teşekkürler. Benim için de çalıştı. Bazı görüntüleri çekilebilir olarak değiştirdim ve bu hatayı aldım.
KCP

7

Yapın: Oluştur> Projeyi Temizle

ÖNEMLİ: İleti Bölmesinde (Alt + 0) Projeyi Temizledikten sonra herhangi bir Hata olmadığından emin olun. Ünlem işaretli kırmızı daireler bulursanız, kodunuzdaki bu hataları kaldırmanız gerekir.

Çoğunlukla bu hatalar @ string / veya @ array / ile ilgilidir. Projeyi tekrar temizle ve bitti!


7

Aynı sorunu yaşadım ve yeni bir proje oluşturduğumda oluyor.

Yaptığım şey:

  • SDK güncellemelerini kontrol et
  • sonra android stüdyo güncellemeleri,
  • sonra projeyi tekrar aç
  • andoridmanifest.xml dosyasını açın
  • android: etiketinde "_>" arasındaki boşluğu silin ve kaydedin.

Bu benim için işe yarıyor.


7

Bunu kendim tamir etmekte zorlandım.

  • Layout.xml dosyalarınızda hata olmadığından emin olun.
  • Git > Temiz projeyi oluşturun

Benim için çalıştı, umarım senin için de çalışır.


6

Aynı sorunu yaşadım ve çoğu zaman

  • Projeyi not dosyalarıyla senkronize et
  • Doing Oluştur -> Temiz Projesi
  • Dosya Yapma -> Önbellekleri Geçersiz Kılma

Ama bu sefer hata tüm bunları yaptıktan sonra bile devam etti ve sonunda suçluyu buldum.

Sorun, bir kimlik kaynağı türü yerine sıradan dize değeri verdim bir xml dosyasında oldu .android:id

HATA

android:id="username"

DÜZELTME

android:id="@id/username"

resourcesXml dosyaları ile ilgili şeyleri karıştırmak bu hatanın önemli bir nedenidir. Xml mizanpaj dosyasında bir hata olarak gösterilmemesine dikkat edin.

NOT

Çoğu durumda derleyici, İletideki hatanın kaynağını gösterir. Diğer çözümleri denemeden önce kontrol etmeye çalışın


6

`` Aynı sorun yaşadım ve şu şekilde çözüldü:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`

Bu sadece iyi bir cevap, ancak sadece gradle dosyasına '//' yerleştirmek ve resync'i seçmek zorunda kaldım. Sonra tüm AS içe aktarmayı tanıdı ve uygulamayı çalıştırmama izin verdi.
Val

5

Bu notasyon iyi çalışıyor gibi görünüyor.

android:id="@+id/viewID"

Android Studio'nun tasarım paneli iyi çalışmıyor gibi görünüyor.


5

Aynı sorun. Çekilebilir klasörüme birkaç resim eklediğimde ve bunlara erişmeye çalıştığımda başladı. Ayrıca eklenen resimler büyük harflerle uzatılmıştı. Bunları yeniden adlandırsam bile mesaj aynı ve R'ye erişilemediği için bu yapı çöktü. Yaptığım şey, .iml dosyasında excludeFolder'ı aradım ve kaldırdım (feryat gibi):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

Bundan sonra projeyi yeniden inşa ettim ve R sihirli bir şekilde yeniden ortaya çıktı.


5

Bu hatanın birçok nedeni vardır.

  1. Bazen aynı adı taşıyan bir görüntü dosyasını değiştirmek için oluşur.
  2. Diyelim ki bir öğeyi mizanpajınızdaki .xml'den sildiniz, <Button/>ancak yine de herhangi bir Etkinlik veya Parça .java'da bildirildi.
  3. Çok daha fazlası.

Hatayı izlemenin en iyi yolu, oldukça temiz veya senkronize etmek için bazı kasıtlı hatalar yapmaktır.

Sorununuzu çözmezse, kaynakların yanlış kullanımı nedeniyle bazı kusur veya çalışma zamanı hatası veya hata oluşmalıdır, çünkü kodunuzdaki veya tasarımınızdaki java veya xml dosyası olabilir. ) kaynak dosyası kaynaklarınızı düzgün bir şekilde dizine ekleyemez ve bunu kabul etmeniz gerekir.

Projeniz değişiklikleri yapmadan önce çalıştırıldıysa, yaptığınız değişiklikleri yorumlayın ve projeyi yeniden oluşturmaya çalışın.

Hiçbir değişiklik olmayacağı için kesinlikle işe yarayacak.

Kesin hatayı izlemek için, değişiklikleri daha küçük bir modüle bölerek değişiklikleri kontrol edin.

Örneğin - Bir düğmeyi tıklatarak bir liste görünür hale getiriyor ve bağdaştırıcıya liste değerleri ekliyorsanız, önce listeyi görünür hale getirip getiremediğinizi ve ardından adaptör hatalarını kontrol edin.


4

Bu benim için büyük bir baş ağrısıydı. Benim durumumda, hata Android Studio'da "Google Play Hizmetleri" yapılandırıldıktan sonra ortaya çıktı (yükleme + build.gradle config). Bu da minsdk> 7 gerektirir, ancak hata bu konuda çok belirsizdir (aslında bu konuda bir şikayet sadece "bilgi" olarak görünür). Her neyse .. hem manifest dosyasında hem de build.gradle dosyasında minsdk değerini 8 olarak değiştirdikten ve projeyi yeniden oluşturduktan sonra hata giderildi.

Yani .. bu konuda genel bir tavsiye, eğer genelleştirebilirsem - muhtemelen manifest dosyanızda veya başka bir yapılandırma dosyasında, uygun bir derlemeyi engelleyen bir sorununuz var demektir. Ne olabileceğine dair herhangi bir ipucu için "bilgi" başlıklı mesajlar bile hata raporuna çok sıkı bakmayı deneyin ...

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.