Android Studio improvvisamente non è in grado di risolvere i simboli


207

Android Studio 0.4.2 funzionava bene e oggi l'ho aperto e quasi tutto era rosso e il completamento automatico aveva smesso di funzionare. Guardo le importazioni e sembra che AS mi stia dicendo che non riesce a trovare android.support.v4 all'improvviso (offrendomi la possibilità di rimuovere le importazioni non utilizzate). ( android.support.v7 sembra andare bene però).

Cose che ho provato:

  • Ricostruzione del progetto
  • Pulizia del progetto
  • Sincronizzazione con i file Gradle
  • Chiusura del progetto, chiusura di AS e riavvio / riapertura
  • File> Cache / Riavvio non validi
  • Esaminando Lint, non ho visto nulla di ovvio
  • Il doppio controllo di tutte le librerie di supporto è aggiornato nel gestore SDK
  • Esaminando il mio Build.gradle, sebbene non ci siano cambiamenti ed è lo stesso del solito, il modo in cui funzionava tutto il tempo.

Qui è nel caso sia rilevante:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Quando premo "Sincronizza con Gradle" e apro "Impostazioni progetto", viene visualizzato un errore rosso che mi dice che ho riferimenti duplicati alla libreria e rimuovo quelli inutilizzati. inserisci qui la descrizione dell'immagine

Il mio progetto si compila e funziona bene ma ho davvero bisogno che il completamento automatico funzioni !! Qualcuno ha qualche suggerimento?

inserisci qui la descrizione dell'immagine


66
Ogni singolo aggiornamento di Android Studio interrompe i progetti, ne sono già stufo. Perché non riescono a resistere e rilasciare una versione utilizzabile.
Konrad Morawski,

3
Prima di pulire o rimuovere qualsiasi file, leggi prima questa risposta. Potrebbe risolvere il tuo problema. stackoverflow.com/a/19223269/513413
Hesam

16
"Cache / riavvio non validi" ha funzionato per me.
Eagle_Eye,

1
Avuto lo stesso problema e fissato con la risposta su questo SO postare stackoverflow.com/a/30828772/1550233
johnw182

accettare questa risposta così agli utenti tutto ciò non elimina manualmente stackoverflow.com/a/22901534/7767664
user924

Risposte:


238

Hai già elencato la maggior parte delle cose che potrebbero essere utili, ma potresti provare:

  • Esci da Android Studio
  • Eseguire il backup del progetto
  • Elimina tutti i file .iml e la cartella .idea
  • Riavvia Android Studio e reimporta il tuo progetto

A proposito, i messaggi di errore che vedi nella finestra di dialogo Struttura del progetto sono per la maggior parte fasulli.

AGGIORNARE:

Android Studio 0.4.3 è disponibile nel canale di aggiornamento di Canary e, si spera, dovrebbe risolvere la maggior parte di questi problemi. Potrebbero esserci problemi persistenti; se li vedi in 0.4.3, faccelo sapere e provi a fornirci una serie affidabile di passaggi da riprodurre in modo che possiamo assicurarci di aver curato tutti i percorsi del codice.


3
Questo ha funzionato per me. Stavo andando fuori di testa con questo, una giornata intera di tentativi di capirlo! Grazie per la risposta.
Patrick Kafka, il

25
Per me è stato sufficiente eliminare la cartella delle librerie in .idea e il progetto di sincronizzazione della stampa con gradle.
Gabriel Ittner,

2
Ho lo stesso problema con 0.8.9 e ho provato tutte le soluzioni elencate qui senza fortuna :(
Rémy DAVID

3
Non ha funzionato per me in AndroidStudio 1.2 RC. Questo è un incubo
RED_

7
Questo sta ancora accadendo nel 2018 e la tua risposta è stata utile. Vorrei che questo fosse risolto anche se ... È successo in AS 3.1.1.
Demogorii,

302

Nessuna delle cose menzionate qui in precedenza ha funzionato per me. Ma poi ho trovato questa voce di menu nel menu file Invalidate Caches/Restartche sembra aver risolto il problema.

Non so davvero cosa sia successo in background, ma quando Android Studio è stato riavviato la barra di stato ha detto Indexing...per circa un minuto che apparentemente ha fatto meraviglie.

Per riferimento sto usando Android Studio 0.5.4.


2
Ha funzionato per me su 0.5.9
Father Stack,

19
Per me, ho avuto un'interruzione di corrente durante il caricamento di Android Studios 0.8.2 e non riconoscerà nessuna delle mie importazioni Java e tutto era rosso. Questo ha funzionato per me, grazie!
Simon,

2
Sto usando Android Studio 1.0.2, quando ho aperto il mio progetto, ero pieno di errori rossi. l'ho risolto con Android Studio -> file -> invalidate chaches / restart. quando il mio progetto è stato riavviato ha funzionato ... nessun errore rosso
SoftEye,

4
Android Studio 1.1.0. Ho anche avuto un'interruzione di corrente e questo ha funzionato.
Phito,

2
Questa ora dovrebbe essere la risposta corretta. Ho confermato con Android Studio 1.4 final.
Davideas,

58

Passa attraverso il link e ha funzionato per me.

1.) Scegli l'opzione File dal menu sul lato superiore sinistro di Android Studio.

2.) Selezionare l'opzione: "Cache non valida / Riavvia .." Si aprirà una finestra di dialogo.

3.) Fare clic sul primo pulsante con l'opzione: "Invalidate and Restart"

4.) Chiuderà lo studio e lo riavvierà. Inizia l'indicizzazione del progetto.

Ha risolto il mio problema:

File -> Cache / Riavvio non valido -> Invalido e Riavvia

Fonte: https://www.youtube.com/watch?v=FX_gCTpqhwM



Ha funzionato per me su Android Studio 3.5.3
flawyte

13

Android Studio 1.3

  1. Apri le Impostazioni del modulo
  2. Fai clic sul modulo nel menu Moduli
  3. Nella scheda delle proprietà , imposta la compatibilità di origine e la compatibilità di destinazione sulla versione java.

Non ho fatto nient'altro e ha funzionato per me.


Dove posso trovare le impostazioni del modulo?
Bendaf,

3
@bendaf Fai clic con il pulsante destro del mouse sul modulo in Explorer e seleziona "Apri le impostazioni del modulo"
Jason Robinson,

Queste impostazioni si trovano anche in File -> Struttura del progetto -> Proprietà
ChumiestBucket,

10

Per me era una voce di build "progaurd" nel mio build.gradle. Ho rimosso l'intera sezione di build, quindi ho eseguito una risincronizzazione e risolto il problema.


Ha funzionato per me! Grazie! Usare canary build 1.0RC 1. Usare minifyEnabled trueo minifyEnabled falsenon definire proguardFiles.
Kalem,

Inoltre, non dimenticare che i progetti AndroidLibrary non corrono Proguard stackoverflow.com/a/10992604/665823 .
Kalem,

4

Sto usando Android Studio 3.1.4 e ho riscontrato questo problema quando mi sono spostato dal mio ramo di sviluppo con un obiettivo API inferiore a un altro ramo con API API target. Ho provato la prima soluzione che ha funzionato ma è piuttosto complicata, mentre la seconda soluzione non ha risolto il problema.

La mia soluzione Quando il problema si è ripresentato, ho provato a modificare leggermente il mio file di gradle dell'app in modo che AS mi chiedesse di sincronizzare i file, e questo ha funzionato. Quindi ho eliminato la modifica.

Suppongo che anche "Sincronizza progetto con i file di livello" potrebbe funzionare, ma non l'ho provato da solo

Spero che sia d'aiuto


3

C'è una soluzione molto più semplice integrata in Android Studio e di solito funziona per me senza la necessità di alcuna soluzione di forza bruta menzionata in altre risposte, quindi dovresti provare prima: inserisci qui la descrizione dell'immagine

fai clic sul simbolo "gradle" sul lato destro di Android Studio, quindi sullo strumento "Aggiorna tutti i progetti Gradle".


2

Ho pensato di buttarlo anche lì:

la cosa che ha funzionato per me stava cambiando la mia variante di build in una variante che funzionava in precedenza. Per qualche ragione l'avevo cambiato prima (e ho dimenticato il perché).

in entrambi i casi, la cosa migliore da fare è cercare di ricordare cosa hai cambiato quel giorno (potrebbe essere qualcosa di lieve come la pulizia o tornare a un precedente commit git) ... ecc.

aiuta anche a provare a risincronizzare il gradle e forzare una ricostruzione.


1

Stamattina alle prese con lo stesso problema per un paio d'ore. Costruire il mio progetto dalla riga di comando sembra aver fatto il trucco per me.

Passi esatti -

  1. Nuovo repository clonato (nessun file di studio Android è in repository)
  2. Progetto di debug creato dalla riga di comando (./gradlew clean assembleDebug)
  3. Apri Android Studio, importa il progetto

Per verificare se ha funzionato, cerca nella cartella esplled-bundles dei tuoi progetti, ispeziona una libreria e trova il file classes.jar. Se è espandibile, allora tutto andrà bene.

modifica - Ho scoperto che dopo aver eseguito una pulizia in Android Studio, si è rotto di nuovo. Quindi, se devi pulire, dovrai ripetere questo processo.


non so quale sia stato il problema, ma il grado di pulizia pulito assemblatoDebug funziona e tutto va bene per ora
Killer

1

Nessuno di questi metodi mi ha aiutato in Android Studio 0.5.8.

La mia soluzione era eliminare la directory ~ / .AndroidStudioPreview (in Ubuntu). Siamo spiacenti, non ho idea di dove si trovi in ​​altri sistemi operativi. Questa directory memorizza i file temporanei e le impostazioni di Android Studio, quindi ho perso tutte le mie impostazioni. Ma funziona!


Ha funzionato anche per me. (Android Studio 0.6.0 su SO elementare)
rogeriolino il

1

Un altro modo è scaricare JDK 1.7 e cambiare il percorso da Android Studio nel messaggio di errore .. e scegliere la cartella Home contenuta nella cartella Jdk 1.7


1

Oggi ho lo stesso problema. Risolto il problema modificando la posizione jdk nella struttura del progetto da \java\jdk1.7.0_05a \java\jdk1.7.0_25(che non sapevo esistesse fino ad ora).

Sto usando Android Studio 0.8.6.



1

Ho provato a pulire il progetto e quindi a invalidare la cache, nessuno dei quali ha funzionato. Ciò che ha funzionato per me è stato commentare tutte le mie dipendenze in build.gradle (app), quindi sincronizzare, quindi decommentare di nuovo le dipendenze, quindi sincronizzare di nuovo. Bob e `tuo zio.


0

Ho riscontrato un problema simile ma ho seguito i seguenti passaggi nel mio caso: -

1) Progetto .inside nella cartella .idea open modules.xml. 2). Controlla se ci sono due voci per lo stesso file iml. 3) .eliminare una voce duplicata e chiudere Android Studio o creare nuovamente il file Gradle.

Nel mio caso ha funzionato. Spero che sia d'aiuto


0

Ho risolto impostando JDK. Ho ricevuto un pop-up che diceva che ho installato JDK quando ho posizionato il mouse sull'errore.


0

Ho avuto lo stesso problema, nessuna delle soluzioni elencate qui ha funzionato. Il problema era che i miei file sorgente non erano nella cartella giusta.

La struttura delle directory DEVE essere:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]


0

Ho finalmente capito cosa causa questo problema.

In realtà, dovresti evitare di spingere la .idea/librariescartella nel tuo repository. Crea cose strane in Android Studio che tende a rimuovere tutte le librerie scaricate.

Se si dispone della cronologia di commit, è sufficiente ricreare tutti i file di libreria mancanti ed evitare che vengano nuovamente commessi. Altrimenti, basta rimuovere l'intera .ideacartella e reimportarla in AS.


0

prova a cambiare build.gradle con questi valori:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

0

Uso le preferenze condivise, ma Android Studio si è lamentato del simbolo dell'Editor. Quindi ho aggiunto

import android.content.SharedPreferences.Editor;

e il simbolo è fantastico ora.


0

Controlla se hai un percorso di progetto che ha caratteri speciali come! (punto esclamativo).

In un problema simile che ho riscontrato , questa è stata la causa principale, dal momento che molte applicazioni Java sembrano non tollerare caratteri così speciali (ad esempio fare una pulizia graduale dal terminale fallirebbe e lanciare una RunTimeException.). Nessuna delle altre soluzioni pubblicate online mi aveva aiutato. Ma, una volta rimosso il! dal percorso e ha fatto una build pulita, Android Studio ha funzionato magicamente.


0

Ho provato tutto ciò che è elencato qui. Poi ho controllato il mio androidmanifest.xml che avevo avuto alcuni errori di corrispondenza a causa dei nomi delle cartelle e dei nomi dei pacchetti.


0

Nel mio progetto multi-modulo, il problema era che la versione di "com.android.support:appcompat-v7" nel modulo A era "22.0.0", ma in B - "22.2.0".

Soluzione : assicurarsi che
1. la versione delle librerie comuni sia la stessa tra i moduli.
2. ciascuno dei moduli viene compilato senza errori (provare a crearli ciascuno dalla CLI).


0

Essere consapevoli del fatto che il nome dei file e specialmente delle cartelle può causare questo errore. Ad esempio, se si dispone di una cartella "Helpers" e il pacchetto per i file in questa cartella è "com.whatever.helpers" non si verificherà alcun errore di compilazione ma si eviterà che Android Studio non carichi i simboli in quella cartella . Un motivo tipico di ciò è quando si nomina una cartella con la prima lettera maiuscola, la si impegna su Git e successivamente si cambia il nome della cartella in tutte le lettere minuscole. Il sistema Git non riconoscerà la modifica risultante in una discrepanza tra i repository locali e remoti su cui saranno interessati solo i nuovi cloni del repository.



0

Ho avuto una soluzione molto più strana. Nel caso in cui qualcuno si imbatta in questo, vale la pena ricontrollare il tuo file gradle. Si è scoperto che mentre stavo clonando questo git e Gradle stava correndo, ha eliminato una riga dal mio file build.gradle (app).

dependencies {
     provided files(providedFiles)

Ovviamente il problema qui era semplicemente aggiungerlo nuovamente e risincronizzare con Gradle.


0

Ho avuto un problema simile quando ho ricostruito un file aar e ho sostituito quello più vecchio nel mio progetto con quello nuovo. Ho esaminato tutte le soluzioni qui e nessuna ha risolto il mio problema. In seguito mi sono reso conto che minifyEnabled era stato impostato su true nel progetto della libreria che ha effettivamente rimosso un sacco di codice morto che non veniva utilizzato nel progetto della libreria.

La mia soluzione era impostare minifyEnabled su false nel progetto della libreria, assemblare l'aar, copiarlo nel mio progetto, invalidare le cache e sincronizzare il progetto di valutazione e tutto ha funzionato bene.

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.