"Impossibile risolvere il simbolo R" in Android Studio


715

In ogni caso in tutte le mie classi in cui faccio riferimento R.id.something, Rè in rosso e dice "impossibile risolvere il simbolo R". Inoltre ogni volta R.layout.somethingche è sottolineato è sottolineato in rosso e dice "impossibile risolvere il metodo setContentView (?)". Il progetto si sviluppa sempre bene. È fastidioso vederlo sempre. Ho letto molte altre domande qui su qualcosa di simile ma la maggior parte ha coinvolto 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 problemi di "impossibile risolvere R". Vorrei sapere cosa causa questo se qualcuno lo sa.


in passato ho ricevuto errori xml come: progressbar non può essere lanciato su android.widget.textview, e l'ho risolto semplicemente cambiando il nome della visualizzazione di testo. Non so ancora cosa abbia causato l'errore.
ez4nick,

Se hai cambiato il nome, forse stai provando a usare un riferimento di stringa che non esiste in res / strings.xml?
Bulbo oculare,

2
ho cercato molte volte prima di porre questa domanda e ho trovato molte domande simili tra cui quella che hai menzionato. ho letto il suggerimento in quella domanda e non c'è importazione Android.R in nessuno dei miei file java.
ez4nick,

2
Ciao a tutti ho dimenticato di porre questa domanda da quando è stata posta tanto tempo fa. Avrei dovuto accettare la mia risposta un anno fa che ora è il commento sopra questo. Il problema era semplicemente che Android Studio era in una fase così precoce all'epoca e come nuovo sviluppatore non avrei mai dovuto usarlo. Siate certi che tutto sta funzionando bene ora ed è stato. Se possibile, annullare l'eliminazione della mia risposta originale in modo che io possa accettarla.
ez4nick,

3
Non trovare R non è il tuo errore è un errore causato da un errore di build Correggi gli altri errori e dovresti andare bene.
Just_someone,

Risposte:


720

Ho avuto anche questo problema. Un semplice "gradlew clean" e "gradlew build" hanno funzionato.


Fai clic su Build-> Clean Project e questo eseguirà un gradle clean


56
alcune volte è inoltre necessario riavviare Android Studio. o almeno per me.
Foo Bar Utente

24
Per coloro che convulgono utilizzando la riga di comando, fare clic su Build-> Clean Project e questo eseguirà un 'gradlew clean'. ;)
Concolato

22
Nessuna fortuna ... La ricostruzione delle pulizie non funziona da me
CandleCoder

7
se pulire, ricostruire, invalidare la cache-restart non si risolve, andare per: import package.R;
Sudip Bhandari,

2
Per me questo stava causando il problema: mancata corrispondenza tra ApplicationId in gradle e nome del pacchetto in manifest (e sebbene l'importazione automatica abbia aggiunto l'indirizzo errato per il file R). Consiglio questo piccolo articolo per chiarire la differenza tra i due. blog.stylingandroid.com/package-name-vs-application-id
Tina

227

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 di livello" è disponibile nella barra dei menu principale.

inserisci qui la descrizione dell'immagine


Qual era la versione di Android Studio che hai usato quella volta?
Joel Handwell,

Non funziona per me (Android Studio 0.8.14). Ma il progetto Build> Clean funziona bene.
Phat H. VU,

Funziona ancora con Android 1.2.1. Ricorda di farlo più di una volta, se non funziona per la prima volta.
noob,

Questa è l'unica cosa che ha funzionato per me. Ho provato prima tutte le altre soluzioni.
Mac,

1
In Android Studio 3.1.1, questa opzione è in File -> Sincronizza progetto con file Gradle
Hrishikesh Kadam il

155

Stavo usando il grado 3.3.0. Era il principale colpevole. Ho perso 6.50 ore dalla mia vita. Gradle 3.2.1 ha rimosso l'errore.

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

Problema risolto dopo aver modificato la versione gradle. La cronologia dei dettagli è disponibile qui .


9
Un'altra straordinaria impresa degli sviluppatori di studi Android. Tornare indietro 3.2.1era in realtà l'unica soluzione che ha funzionato per me ...
Vucko,

1
Sorprendentemente ancora un problema 2 mesi dopo. L'ultima versione (3.3.2) non l'ha riparata, 3.2.1.
JakeSteam,

Invece di tornare alla scuola elementare 3.2.1puoi anche aggiornare Android Studio alla versione 3.3. Vedi la mia risposta qui
arne.z

ha funzionato cambiando da 3.3.0 a 3.2.1 ma la mia domanda stava funzionando benissimo su 3.3.0 avevo appena refactor e aggiornato il file manifest XML e il file gradle e avevo sincronizzato il gradle. Posso sapere quale potrebbe essere la ragione
insoftservice

25 ore di internet e sembra che questa sia l'unica soluzione funzionante. Grazie androide studio: (....
Nahabwe Edwin

108

Ho un problema simile ed ecco cosa ho fatto:

Progetto pulito e progetto di sincronizzazione con Gradle,

inserisci qui la descrizione dell'immagine

controlla la versione di buildTools nel mio sdk inserisci qui la descrizione dell'immagine

Da build gradle (modulo) cambia minSdkVersion da 8 a 9

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

Ma tutto ciò non ha aiutato.

Alla fine ho trovato la risposta (ha funzionato nel mio caso)

Modifica da build.gradle (modulo: app)

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

O

Seleziona File | Modifica della struttura del progetto Build Tools Version in 21.1.1

inserisci qui la descrizione dell'immagine


Anche questo ha funzionato per me, cambiando build e impostando file Gradle (modulo)
Samuele Bolognini,

Grazie, come saggio, questa era la soluzione.
App Dev Guy,

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

Questo è.

Ad esempio avevo una voce nel mio strings.xml:

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

E in activity_main.xmlho usato questa voce di 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.xmldiventato non valido. Di conseguenza: impossibile risolvere R.

Quindi, controlla i tuoi *.xmlfile e pulisci il progetto.


Questo mi ha davvero salvato la vita [PLUS ONE]
GingerHead

Un'immagine mancante a cui mi riferivo uno dei miei XML mi ha causato questo problema. Metti l'immagine nella cartella, pulita e R ora è di nuovo felice.
Casey Murray,

Ho accidentalmente definito la mia stringa due volte in strings.xml. Studio non l'ha mostrato affatto. X- (Grazie per la risposta.
codingjeremy,

Questo è per gli altri sviluppatori che leggono. Questo solo approccio dovrebbe risolvere il problema come ha fatto per me.
Paramvir Singh Karwal,

6
Perché non ci sono feedback per sottolineare i file XML errati nell'IDE?
Fuhrmanator,

53

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

Quindi provi una pulizia, ma non funziona.

E il riavvio non funziona neanche.

Ma prova File -> Cache non valide / Riavvia ... -> 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 creazione.

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


Non ha aiutato Ho provato anche a pulire / ricostruire. Si è verificato un errore dopo che ho spostato il pacchetto Java in un altro pacchetto. È interessante notare che in un pacchetto è possibile accedere alla classe R, ma non è possibile accedervi nel pacchetto che ho spostato.
Rint

Nelle versioni più recenti di Android Studio, Invalidate e Restart sono ora la selezione di menu predefinita. Questo dovrebbe aiutare almeno alcune persone. (Peccato che non risolvano tutti i bug pazzi che causano questo errore in primo luogo!)
Scott Biggs

1
Ho ricevuto questo errore dopo aver spostato e rinominato un progetto. Ciò ha risolto il problema R dopo la pulizia e il riavvio non. Grazie.
FrankKrumnow,

2
Ciò richiede all'incirca lo stesso tempo di prendere una tazza di caffè, che a sua volta può essere usata per fare una bella doccia con caffè se segna ancora R in rosso ... ヽ (´ ー `) ノ
ZooMagic,

1
ho trovato una gif per il mio commento precedente -> tenor.com/view/…
ZooMagic

30

Penso che se metti i tuoi file Attività in un'altra cartella rispetto a quella predefinita. Devi importare com.example.yourproject.R(questo è il tuo Rfile di progetto NON il Android.Rfile) in TUTTE le attività usando R. Ad esempio, nel MainActivityfile inserire questa riga:

import com.example.yourproject.R;

1
Ah, e ci sarà ancora un messaggio di errore prima di creare. Tuttavia, basta premere build, Android Studio genererà il file R e la build dovrebbe avere successo.
ninjahoahong,

e penso che sia meglio che dopo la correzione, dovresti pulire il tuo progetto e poi costruire. oppure premi Maiusc + F9 per il debug con il tuo dispositivo o emulatore. Preferisco eseguire il debug su dispositivo reale.
ninjahoahong,

Questa è la soluzione migliore Grazie amico
Arundev il

questa risposta è stata la bacchetta magica. grazie
leeCoder il

28

Sembra che ci siano molte cause per questo problema. Di recente, ho aggiunto un'attività da testare con il nome NewActivity. Questo ha creato un file chiamato res/menu/new.xmle gradle non piaceva quel nome perché new è una parola riservata.

gradlew clean

o

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

Queste sono sicuramente buone cose da provare, ma potresti avere alcuni altri problemi che devi risolvere prima di eseguire quei comandi.


grazie ha funzionato anche per me. Piccola domanda: dove devo digitare gradlew clean se voglio farlo in questo modo (ho fatto "Strumenti" -> "Android" -> "Sincronizza progetto con file Gradle")?
Sergii,

Apri un terminale di comando, passa alla directory del progetto ed esegui "./gradlew clean"
chawkinsuf

Questo è quello che è stato per me. Grazie!
TinyGrasshopper,

In che modo questo risolve il problema meglio di "Ricostruisci progetto"?
IgorGanapolsky

Sì, nel mio caso ho aggiunto un file png, chiamato "import.png". Ho dovuto rinominarlo, nel mio caso "import_icon.png" e poi il progetto è stato compilato ok.
mihai71,

17

Il file R.java contiene il collegamento tra xml e java page. "R non può essere risolto" sorgono solo se si verifica un problema con alcuni file di risorse. Quindi il modo migliore ed efficace è cancellare l'ultimo xml fatto o disegnabile nel file res. e poi ricominciare da lì secondo le norme di codifica Android. Questa è l'unica strada. Il modo efficace e giusto.

Usa anche Git per il corretto monitoraggio del codice. ..


Nel mio caso non c'erano problemi solo in XML, ma anche in PNG (in drawable).
CoolMind

15

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

Basta andare su Build -> Clean Project .

Questo dovrebbe fare il trucco.

Controlla anche la tua versione di Android Studio.

Attualmente sto usando Android Studio 3.0.1 .


14

Hai aggiornato di recente i tuoi strumenti SDK? Avvia il gestore SDK Android e assicurati di disporre degli strumenti SDK più recenti, che ora sono separati dagli strumenti della piattaforma. Ho avuto lo stesso problema quando ho aggiornato per la prima volta il mio gestore SDK, il pacchetto di strumenti di compilazione SDK non è stato visualizzato per l'installazione / aggiornamento fino a quando non ho chiuso e riaperto il gestore SDK.


credo che tutto sia aggiornato lì. potrebbe davvero causare un problema come questo?
ez4nick,

se non hai installato i nuovi strumenti di build dell'SDK , sì.
Invertigo,

12

Basta pulire il progetto e sincronizzare il progetto con Gradle File.inserisci qui la descrizione dell'immagine

E il problema sarà risolto.


Va notato che facendo clic con il tasto destro su "app" e facendo clic sul pulsante di sincronizzazione nel menu non si ottiene questo. Grazie.
Mafro34,

11

Ho avuto questo con

  1. Una lettera maiuscola nelle mie risorse disegnabili.
  2. Importa Android.R aggiunto da Android Studio (o Eclipse)
  3. Errore nel file XML

Ho avuto il problema perché c'era un errore in uno dei miei file XML. Risolto il problema, quindi fatto unBuild->Clean Project
AjayCodes

11

Recentemente ho avuto questo problema e clean / build ecc. Non l'hanno risolto. Immaginai di avere un problema da qualche parte ma non ero sicuro di dove cercare per trovarlo (era nel file manifest, file xml di risorse ecc?).

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

Dal menu in alto scegli:

Analizza -> Ispeziona codice, scansiona l'intero progetto usando il profilo "Predefinito".

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

Il mio esatto problema è stato causato dal fatto che stavo usando file manifest basati su flavour e ho copiato <application>accidentalmente alcune autorizzazioni all'interno del tag in flavour.

ispezione

AGGIORNAMENTO: Ho avuto un problema dopo il quale Android Studio mostrava ancora l'errore dopo la correzione, anche se ora potevo compilare ed eseguire perfettamente mentre l'errore era ancora lì. (Sto eseguendo una canary build quindi rimettendola per ora)


È interessante notare che ho riscontrato questo problema su un solo file ed ho eseguito il processo "Ispeziona codice" e si è risolto da solo (ripulito e ricostruito non risolto). Deve esserci stato qualcosa di bloccato in Lint che solo questo poteva chiarire. Grazie!
rundavidrun,

Grazie per questo! Mentre questo ha trovato molti errori generali, che era previsto, il pezzo che ha portato giù l'intero castello è stato un piccolo errore di sintassi in un file XML generato da Asset Studio! Una volta risolto questo problema, un progetto pulito mi ha permesso di andare avanti.
Bink,

10

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


1
Sono stato qui prima di pensare. Grazie ancora
Ohiovr il

1
Questo ha funzionato per me. Grazie mille.
Aquarius_Girl

Questo mi è successo dopo che ho modificato il nome del mio pacchetto, ma in qualche modo lo studio Android ha lasciato il import com.example.old-package-name.R, quindi ho dovuto rinominare l'importazione.
auspicious99

9

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

Ho avuto questo problema più volte di quanto voglia ammettere. Può essere causato da un'ampia varietà di problemi che principalmente hanno a che fare con la struttura del progetto che non corrisponde a quanto previsto. Ecco un elenco di tutti i problemi che ho avuto:

L'importazione da Eclipse su Android Studio non sempre funziona in modo regolare, soprattutto con le versioni precedenti di Android Studio. Assicurati di utilizzare l'albero delle directory corretto. Dovrebbe apparire così per un'app 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ì nell'IDE. C'è un menu a discesa sopra l'albero dei file che mostra i tuoi file in diversi modi e, per impostazione predefinita, sul mio sistema utilizza uno chiamato Android che suddivide i tuoi file nei loro diversi tipi. È più facile risolvere questo tipo di problema da quello chiamato Progetto, e ancora più facilmente direttamente dal file system del tuo sistema operativo, perché Android Studio comprime le cartelle che contengono solo un'altra cartella su una sola riga.

Soprattutto se cambi il nome della tua app, devi assicurarti che l'albero dei sorgenti main / java / com / domain / AppName sia aggiornato. Assicurati anche che il tag del pacchetto in AndroidManifest.xml sia corretto.

Se si verificano errori nei file Gradle o in AndroidManifest.xml, ciò impedirà ad Android Studio di creare correttamente i file delle risorse. I file Gradle possono essere interrotti aggiornando Android Studio a volte, specialmente dalle versioni precedenti alla 1.0. A volte questo perché smette di supportare le versioni precedenti del plug-in Gradle, quindi è necessario aggiornare i numeri di versione. A volte può essere difficile trovare le versioni attuali. Ad oggi, 17/7/15, le mie app si stanno compilando bene 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à di stringa o di disegno inesistente, si interromperà e causerà questo errore. A volte se qualcosa fa riferimento a un drawable inesistente o a una risorsa stringa, viene visualizzato questo errore.

Se nelle tue risorse è presente un file danneggiato o un file XML non valido, verrà visualizzato questo errore.

Nella mia esperienza, a volte Android Studio fa solo singhiozzo 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, nelle directory che non si sostituiscono, 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. Rinomina o elimina uno dei file.

Se solo alcune risorse presentano questo problema, è probabile che tali risorse si trovino nella directory errata.

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

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

I file XML con parole riservate per i nomi possono causare questo problema. Rinominali o cancellali.

Esistono alcuni modi in cui il tuo file Gradle può finire per fare riferimento a una versione degli strumenti di build che non hai installato. Correggilo modificando Gradle o scaricando gli strumenti di costruzione appropriati.

Infine, dopo aver corretto tutto ciò che è sbagliato, è necessario pulire il progetto Gradle. Puoi farlo andando nel menu Genera in alto e selezionando Pulisci progetto.


9

Vai all'elenco del menu principale di Android. fai clic sul menu Genera , in Costruisci fai clic su Ricostruisci progetto.

inserisci qui la descrizione dell'immagine


9

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

  1. Imposta la packagestruttura delle cartelle corretta di <manifest>in AndroidManifest.xml.
  2. Imposta il nuovo percorso del pacchetto per android:nameof <activity>in AndroidManifest.xml.
  3. Cancella cache da

Menu File -> Cache non valide / Riavvia ...

Il problema sparirà, una volta riavviato lo studio Android e creato l'indice aggiornato.


9

Ho avuto lo stesso problema: Android Studio 3.2 Il progetto viene compilato e funziona correttamente, ma visualizzo gli avvisi sullo schermo "Impossibile risolvere il simbolo" R "

Fa non aiuto:

  • Build-> Clean Project
  • Build-> Rebuild Project
  • File-> Cache / riavvio non validi

aiuta:

o

in build.gradle

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

sostituirlo con

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

o

Aggiorna Android Studio a 3.3


Mi hai salvato la vita ! L'aggiornamento di Android Studio a 3.4 ha risolto il problema per me
Artory

8

Ho un caso speciale per questo problema.

Nel mio progetto, tutto va bene, può essere compilato e compilato con successo, ma nel mio IDE di Android Studio (e ho anche provato IDEA intelligente, si trovano nella stessa situazione) il file R.java non può essere risolto bene ed essere sempre caduta in linea rossa.

Proprio come questo: inserisci qui la descrizione dell'immagine

Questo mi ha fatto quasi impazzire, non posso sopportare il colore letto mentre sto programmando.

Alla fine ho scoperto che questo difficile problema è causato dalle dimensioni del mio file R.java. Il mio progetto è molto vasto, supporta molte lingue e dimensioni di più schermi. Ci sono così tante risorse che la dimensione del mio file R.java è di circa 2,5 milioni .

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

cambia questa riga:

idea.max.intellisense.filesize=2500

per :

idea.max.intellisense.filesize=5000

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


In Android 3.2 basta aiutare / Modifica proprietà personalizzate
Beto

buon consiglio, ma non ha risolto il mio impossibile risolvere il simbolo R
Aliton Oliveira il

7

Crea> Progetto pulito

Questo ha funzionato per me. Ho avuto lo stesso problema alcune volte e questo sembra risolverlo. A meno che tu non abbia cambiato qualcosa o chiamato una variabile R. Questo problema di solito si verifica dal nulla, quando succede a me, quindi immagino che siano solo gli studi Android ad andare fuori di testa. haha

Buona e buona fortuna con i tuoi progetti.


Grazie. Ha funzionato anche per me. Sostituisco alcune immagini in un disegno e ho riscontrato quell'errore.
KCP

7

Do: Build> Clean Project

IMPORTANTE: assicurarsi di non avere errori dopo Clean Project nel riquadro dei messaggi (Alt + 0). Se trovi dei cerchi rossi con un punto esclamativo, devi rimuovere quegli errori nel tuo codice.

Principalmente questi errori sono correlati a @ string / o @ array /. Ripulisci il progetto e finisci!


7

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

Quello che faccio è:

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

Per me va bene.


7

Ho avuto difficoltà a risolvere questo da solo.

  • Assicurati di non avere errori nei file layout.xml.
  • Vai a Build> Clean project

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


6

Ho avuto lo stesso problema e la maggior parte delle volte è stato risolto da

  • Sincronizza progetto con file gradle
  • Fare Build -> Clean Project
  • Fare file -> cache non valide

Ma questa volta l'errore è persistito anche dopo aver fatto tutte queste cose e alla fine ho trovato il colpevole.

Il problema era in un file XML , dove ho dato un valore stringa normale per un tipo di risorsaandroid:id anziché un ID .

SBAGLIO

android:id="username"

CORREZIONE

android:id="@id/username"

Il disordine delle cose relative ai resourcesfile xml è una delle ragioni principali di questo errore. Attenzione al fatto che potrebbe non essere mostrato come errore nel file di layout xml.

NOTA

Nella maggior parte dei casi il compilatore mostra l'origine dell'errore nel messaggio. Prova a controllarlo prima di provare altre soluzioni


6

`Ho avuto lo stesso problema ed è stato 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.`

Questa è una buona risposta, anche se dovevo solo inserire '//' nel file gradle e selezionare risincronizza. Quindi tutti gli AS hanno riconosciuto l'importazione e mi hanno permesso di eseguire l'app.
Val

5

Questa notazione sembra funzionare bene.

android:id="@+id/viewID"

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


5

Stesso problema. Iniziato quando ho aggiunto alcune immagini nella mia cartella disegnabile e ho provato ad accedervi. Anche le immagini aggiunte avevano l'estensione con lettere maiuscole. Ciò sembra aver arrestato in modo anomalo la build, poiché anche se li ho rinominati, il messaggio era lo stesso e R era inaccessibile. Quello che ho fatto è stato, nel file .iml, ho cercato la cartella exclude e li ho rimossi (come sotto):

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

Dopo di che ho ricostruito il progetto e R è riapparso magicamente.


5

Esistono molte cause per questo errore.

  1. A volte si verifica per sostituire un file di immagine mantenendo lo stesso nome.
  2. Supponiamo che tu abbia eliminato un elemento dal tuo .xml di layout, <Button/>ma che sia comunque dichiarato in qualsiasi attività o frammento .java.
  3. Molti altri.

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

Se il problema non viene risolto, è necessario che si verifichino errori o errori di runtime oppure si è verificato un errore dovuto a un uso improprio delle risorse che potrebbe essere sia il file java che il file xml nel codice o nella progettazione che sta forzando l'arresto di Gradle perché (R ) il file di risorse non può indicizzare correttamente le tue risorse e devi ammetterlo.

Se il progetto è stato eseguito prima di aver apportato 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 suddividendole in un modulo più piccolo.

Ad esempio: se si sta rendendo visibile un elenco con un pulsante e si inseriscono i valori dell'elenco nell'adattatore, verificare innanzitutto se è possibile renderlo visibile oppure no, quindi verificare la presenza di errori dell'adattatore.


4

Questo è stato un grosso mal di testa per me. Nel mio caso l'errore è apparso dopo aver configurato "Google Play Services" in Android Studio (installazione + configurazione build.gradle). Questo a sua volta richiede minsdk> 7 ma l'errore non è molto chiaro al riguardo (in realtà un reclamo su questo appare solo come "info"). Ad ogni modo .. dopo aver modificato minsdk su 8 sia nel file manifest che nel file build.gradle e ricostruito il progetto, l'errore era scomparso.

Quindi .. un consiglio generale su questo, se posso generalizzare - probabilmente hai qualche problema nel tuo file manifest, o qualche altro file di configurazione, che impedisce una corretta compilazione. Prova a guardare molto attentamente il rapporto di errore, anche i messaggi intitolati "informazioni" per qualsiasi suggerimento su ciò che potrebbe essere ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.