"Non può risolvere il simbolo R" in Android Studio




android-studio r.java-file (20)

In ogni istanza in tutte le mie classi in cui faccio riferimento a R.id.something , la R è in rosso e dice "non può risolvere il simbolo R". Inoltre, ogni volta che viene visualizzato R.layout.something , è sottolineato in rosso e indica "impossibile risolvere il metodo setContentView (?)". Il progetto va sempre bene. È fastidioso vederlo tutto il tempo. Ho letto molte altre domande qui su qualcosa di simile ma la maggior parte ha riguardato l'importazione di progetti da Eclipse. Sto usando quella che credo sia la versione più recente di Android Studio e il progetto è stato creato con Android Studio e ha funzionato senza alcun problema di "impossibile risolvere R". Mi piacerebbe sapere cosa provoca questo se qualcuno lo sa.


  1. Controlla i tuoi file xml.
  2. Progetto pulito.

Questo è.

Ad esempio ho avuto una voce nel mio strings.xml :

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

E in activity_main.xml ho usato questa stringa

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

Mentre lavoravo con il progetto, l'ho cancellato

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

E di conseguenza activity_main.xml non è diventato valido. Come risultato: non può risolvere R.

Quindi, controlla *.xml file *.xml e pulisci il progetto.


Basta pulire il tuo progetto e Sync Project con Gradle File.

E il problema sarà risolto.


Ci sono molte cause per questo errore.

  1. A volte si verifica per la sostituzione di un file immagine con lo stesso nome.
  2. Supponiamo che tu abbia cancellato un elemento dal tuo layout .xml dì un <Button/> ma è ancora dichiarato in qualsiasi attività o frammento .java.
  3. Molti altri.

Il modo migliore per tenere traccia dell'errore è Ricostruirlo piuttosto pulito o sincronizzato facendo qualche errore intenzionale.

Se non risolve il tuo problema, allora ci deve essere qualche errore di difetto o di runtime o errore si è verificato a causa di un uso improprio delle risorse potrebbe essere sia java o xml nel tuo codice o design che sta costringendo gradle a fermarsi perché (R ) Il file esource non può indicizzare correttamente le tue risorse e devi ammetterlo.

Se il progetto è stato eseguito prima di apportare le modifiche, commentare le modifiche apportate e provare a ricostruire il progetto.

Funzionerà sicuramente poiché non ci saranno cambiamenti.

Per rintracciare l'errore esatto, controlla le modifiche suddividendo le modifiche in un modulo più piccolo.

Ad esempio: se si sta rendendo visibile un elenco con un clic del pulsante e inserendo valori di elenco nell'adattatore, controllare innanzitutto se è possibile renderlo visibile o meno, quindi verificare gli errori dell'adattatore.


Do: Build> Clean Project

IMPORTANTE: accertarsi di non avere errori dopo Progetto pulito nel riquadro dei messaggi (Alt + 0). Se trovi cerchi rossi con un punto esclamativo, devi rimuovere tali errori nel codice.

Per lo più questi errori sono legati a @ string / o @ array /. Pulisci il progetto di nuovo e fatto!


Ho affrontato questo problema quando ho rinominato manualmente la cartella del dominio della mia app. Per risolvere questo problema, ho dovuto

  1. Imposta la corretta struttura della cartella del package di <manifest> in AndroidManifest.xml .
  2. Imposta la nuova posizione del pacchetto per android:name di <activity> in AndroidManifest.xml .
  3. Cancella cache da

Menu File -> Invalida cache / riavvio ...

Il problema sarà risolto, una volta riavviato lo studio Android e creato l'indice nuovo.


Ho avuto difficoltà a sistemarlo da solo.

  • Assicurati di non avere errori nei file layout.xml.
  • Vai a Costruisci> Pulisci progetto

Ha funzionato per me, spero che funzioni anche per te.


Ho avuto lo stesso problema e succede quando creo un nuovo progetto.

Quello che faccio è:

  • controlla gli aggiornamenti dell'SDK
  • quindi gli aggiornamenti di Android Studio,
  • quindi riaprire il progetto
  • apri il file andoridmanifest.xml
  • cancella uno spazio tra un "_>" nell'androide: etichetta e salva.

Per me va bene.


Ho avuto questo anche questo problema. Un semplice 'gradlew clean' e 'gradlew build' hanno fatto il trucco.

Fare clic su Build-> Clean Project e questo eseguirà una pulizia gradle


Ho dovuto importare il mio pacchetto R in Android Studio. Ad esempio: import com.example.<package name>.R


Ho un caso speciale per questo problema.

Nel mio progetto, ogni cosa va bene, può compilare e costruire con successo, ma nel mio IDE di Android Studio (e ho anche provato IDEA intelligente, sono nella stessa situazione) il file R.java non può essere risolto bene e deve sempre essere cadere nella linea rossa.

Proprio come questo:

Questo mi ha fatto impazzire, non riesco a sopportare il colore letto quando sto programmando.

Alla fine ho scoperto che questo problema complicato è causato dalla dimensione del mio file R.java. Il mio progetto è molto vasto, supporta molte dimensioni multi-lingua e multi schermo. Ci sono così tante risorse che la dimensione del mio file R.java è di circa 2.5M .

La dimensione massima di un file in Android Studio è di 2.5M nelle impostazioni predefinite, quindi i file più grandi di questo limite non possono essere risolti correttamente. Ed è possibile modificare le impostazioni predefinite in "AndroidStudio-root / bin / idea.properties".

cambia questa linea:

idea.max.intellisense.filesize=2500

a :

idea.max.intellisense.filesize=5000

Quindi riavviare Android Studio, il colore rosso respinto, posso programmare di nuovo felicemente.


Il tuo codice è solo criptato. La risposta è abbastanza semplice.

Just go to **Build** --> **Clean Project**.

Questo dovrebbe fare il trucco.

Sto utilizzando Android Studio 3.0.1 .


Nelle ultime versioni di Android Studio, almeno per me, i seguenti lavori:

"Strumenti" -> "Android" -> "Sincronizza progetto con file Gradle"

Nell'ultimo Android Studio 3.1.3 (luglio 2018), "Sincronizza progetto con file Gradle" è disponibile nella barra dei menu principale.


Questa è una domanda molto vecchia, ma succede ancora molto e non c'è una risposta veramente completa qui.

Ho avuto questo problema più volte di quanto voglio ammettere. Può essere causato da una vasta gamma di problemi che, per lo più, tutti hanno a che fare con la struttura del progetto, senza corrispondere a quanto previsto. Ecco una lista di tutti i problemi che ho avuto:

L'importazione da Eclipse ad Android Studio non funziona sempre correttamente, specialmente con le versioni precedenti di Android Studio. Assicurati di utilizzare l'albero delle directory corretto. Dovrebbe assomigliare a questo per un'applicazione moderatamente matura:

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

Potrebbe non apparire così nel tuo IDE. C'è un menu a discesa sopra l'albero dei file che mostra i tuoi file in modi diversi, e il mio sistema è impostato su un Android chiamato che interrompe i tuoi file nei loro diversi tipi. È più facile risolvere questo tipo di problema da quello denominato Project, e ancora più semplice direttamente dal file system del tuo sistema operativo, perché Android Studio comprime le cartelle che contengono solo un'altra cartella su una singola riga.

Soprattutto se cambi mai il nome della tua app, devi assicurarti che l'albero dei sorgenti principale / java / com / dominio / NomeApp sia aggiornato. Assicurati anche che il tag del pacchetto nel tuo AndroidManifest.xml sia corretto.

Se ci sono errori nei file Gradle o nel tuo AndroidManifest.xml, ciò impedirà ad Android Studio di creare correttamente i tuoi file di risorse. I file Gradle possono essere risolti aggiornando Android Studio a volte, specialmente dalle versioni precedenti alla 1.0. A volte questo perché smette di supportare versioni precedenti del plugin Gradle, quindi è necessario aggiornare i numeri di versione. A volte può essere difficile trovare le versioni correnti. A partire da oggi, 17/07/2015, le mie app si stanno completando bene con com.android.tools.build:gradle:1.2.3 . Questo è nel blocco delle dipendenze nel file gradle più esterno,

Se il tuo AndroidManifest fa riferimento a una risorsa o attività non selezionabile, a una stringa oa un'attività, si interromperà e causerà questo errore. A volte, se qualcosa fa riferimento a una risorsa drawable o stringa inesistente, otterrai questo errore.

Se hai un file danneggiato o un file xml non valido, otterrai questo errore.

Nella mia esperienza, a volte Android Studio ha solo problemi, senza motivo, e devi riavviarlo e / o il tuo PC. Non so perché, ma a volte funziona.

Se hai due risorse xml con lo stesso nome, in directory che non si sovrascrivono, puoi avere questo problema. Ad esempio, puoi avere lo stesso nome in Drawable-mhdpi e drawable-xhdpi perché si sovrascrivono a seconda del dispositivo di destinazione, ma se hai lo stesso nome nel layout e nel menu, causerà un problema. Rinominare o eliminare uno dei file.

Se solo alcune risorse hanno questo problema, quelle risorse sono molto probabilmente nella directory sbagliata.

In un caso ho dovuto reinstallare completamente Android Studio. Non so cosa fosse sbagliato, ma ha funzionato.

In un caso ho spostato il mio intero progetto in una directory diversa e l'ho reimportato come nuovo progetto. Non so cosa fosse sbagliato, ma ha funzionato.

File Xml con parole riservate per i nomi possono causare questo problema. Rinominare o eliminarli.

Ci sono alcuni modi in cui il tuo file Gradle può finire per riferirsi a una versione di build-tools che non hai installato. Correggere questo modificando Gradle o scaricando gli strumenti di compilazione appropriati.

Infine, dopo aver risolto ciò che è sbagliato, è necessario pulire il progetto Gradle. Puoi farlo andando al menu Build in alto e selezionando Clean Project.


Questa notazione sembra funzionare bene.

android:id="@+id/viewID"

Il pannello di progettazione di Android Studio non sembra funzionare correttamente.


Recentemente ho avuto questo problema e il clean / build ecc. Non lo risolve. Ho indovinato che avevo un problema da qualche parte ma non ero sicuro su dove cercare di trovarlo (era nei file manifest, xml delle risorse ecc.).

Quando qualcosa non va, puoi scoprire di cosa si tratta eseguendo un analisi del codice.

Dal menu in alto, scegli:

Analizza -> Controlla codice, analizza l'intero progetto usando il profilo 'Predefinito'.

I risultati dell'ispezione conterranno un elemento chiamato "Android". Qui otterrai un elenco di tutto ciò che causa problemi nelle risorse e nel file manifest. Gli errori apriranno i file xml generati dalla build che mostreranno eventuali errori in rosso.

Il mio problema è stato causato perché stavo usando i file manifest basati sugli aromi e ho copiato alcune autorizzazioni all'interno del tag <application> nel flavor per sbaglio.

AGGIORNAMENTO: ho avuto un problema dopo il quale Android Studio mostrava ancora l'errore dopo la correzione, anche se ora potevo creare ed eseguire perfettamente mentre l'errore era ancora lì. (Sto gestendo una build di canarino, quindi inseriscilo per ora)


Se vedi questo errore dopo aver spostato file o directory java in altre posizioni, puoi garantire che Android Studio si sia confuso. E indovina cosa? annullare queste azioni non risolve il problema.

Quindi provi a pulire, ma non funziona.

E il riavvio non funziona neanche.

Ma prova File -> Invalida Caches / Restart ... -> Invalida e Riavvia

Android Studio conserva informazioni su quali file dipendono da quali altri file. E poiché lo spostamento dei file non è implementato correttamente, lo spostamento dei file causa errori. E non è tutto: le cache di queste dipendenze vengono utilizzate nel tentativo di accelerare la compilazione.

Ciò significa che non solo è necessario riavviare, ma è necessario invalidare quelle cache per ripristinare (o più accuratamente, ricostruire) sanità mentale.


Stesso problema. Iniziato quando ho aggiunto alcune immagini nella mia cartella disegnabile e ho provato ad accedervi. Anche le immagini aggiunte stavano avendo l'estensione con lettere maiuscole. Sembra che si sia schiantato la build, dal momento che anche se li avessi rinominati, il messaggio era lo stesso e R era inaccessibile. Quello che ho fatto è, nel file .iml, ho cercato l'excludeFolder e li ho rimossi (come il muggito):

  <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" />

Successivamente ho ricostruito il progetto e R è ricomparso magicamente.


Tizi, penso che ci siano molti colpi nell'oscurità qui. In alcuni casi, Clean and Sync Project sarà di aiuto solo dopo aver risolto il problema.

Step1: Quindi vai e guarda la parte superiore di ogni file in cui il pacchetto è specificato come segue pakage="YourURL.YourProject"; e assicurare che sia specificato il pacchetto corretto (Your Own Project). Lo troverai nei file java e AndroidManifest.xml ed è fondamentale che i file java facciano riferimento al pacchetto corretto, poiché quel pacchetto contiene le risorse ("R") a cui stai puntando. Se non corrispondono, l'errore non può risolvere il simbolo R.

Step2: Clean, Sync, qualunque cosa. Fatto

Quindi, perché questo si verifica in modo casuale o cosa ho fatto di sbagliato ??

Se copi e incolli il codice, dovresti prestare molta attenzione al "pacchetto =" come spiegato sopra. Ancora più importante, quando si incolla il codice, viene immediatamente eseguita una sorta di debugger (scusa il mio termine tecnico errato) per mostrare "errori presunti", che prende immediatamente in considerazione il "pacchetto errato" e ottieni tutti gli errori. Pertanto, anche se hai corretto immediatamente la notazione dopo aver incollato, il debugger è già aggiornato. Ecco perché "Clean, Sync, Whatever" funziona A VOLTE


`Ho avuto lo stesso problema e risolto da:

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.`

cambia l'ultima versione di sdk, che era lavoro per me

1. Fare clic su file e quindi fare clic su struttura del progetto 2. quindi selezionare "app", quindi fare clic su OK, ha funzionato per me.







r.java-file