2015-09-09 18 views
6

Ho un problema davvero fastidioso da diversi giorni, dopo che ho provato a ripristinare un progetto Android Studio in precedenza da un backup, dopo aver ottenuto un nuovo computer.Android Studio - Errori di evidenziazione della sintassi "Impossibile risolvere il simbolo" sebbene build sia ok

Ho la "non può risolvere simbolo" problema evidenziando sintassi con le classi di librerie Android come android.support.v7.app, android.support.v4.app, e Google Play Services, che ho incluso come dipendenze. Ma, il progetto si integra e posso eseguire l'app sul telefono senza problemi.

Ho verificato se questi file jar esistono sotto l'installazione dell'SDK - ad es. "\ SDK \ extra \ Android \ m2repository \ com \ Android \ supporto \ appcompat-v7 \ 23.0.1".

Il mio problema è molto simile a quelli riportati in seguito post:

  1. Android Studio says "cannot resolve symbol" but project compiles
  2. Android Studio cannot resolve symbol but code executes correctly
  3. Android Studio suddenly cannot resolve symbols

ho provato tutte le soluzioni fornite in varie discussioni StackOverflow (cioè Sync Gradle Project, Invalidate Cache/Restart, Clean/Rebuild, Eliminazione di file generati da gradle (.gradle, build, .id ea directory ecc.), eseguire il downgrade a API inferiori e aggiornare ecc. Tuttavia, nessun metodo è utile.

Io uso Android Studio 1.3.2 e API 23. Tutti gli strumenti di compilazione, la libreria di supporto ecc. Sono aggiornati (provato con v22. + E v23. + Delle librerie).

Si prega di aiuto se avete altri suggerimenti!

estratto dal mio build.gradle:

apply plugin: 'com.android.application' 
android { 
     compileSdkVersion 22 
     buildToolsVersion '23.0.1' 

defaultConfig { 
    applicationId "com.myapp.fun" 
    minSdkVersion 22 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 
dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:support-v4:22.+' 
    compile 'com.android.support:appcompat-v7:22.+' 
} 

Screenshots dei problemi può essere trovata qui sotto. Penso che Android Studio non sia in grado di importare le librerie dipendenti per l'evidenziazione della sintassi, sebbene il compilatore sia in grado di includerle e creare con successo.

Schermata: Syntax highlight and auto-complete issue

+0

tenta di utilizzare Gradle pulita –

+1

' 'com.android.support:support-v4:22. +'' È molto cattiva idea, si dovrebbe evitare di utilizzare '' + in dipendenze –

+0

Sì, sono d'accordo. Poco prima di prendere questo screenshot, avevo già provato con versioni di librerie precise ma il problema persisteva. –

risposta

3

Il motivo è perché ho avuto un '!' simbolo nel mio percorso del progetto. Apparentemente, come ho imparato ora, molti programmi Java falliscono a causa di questo motivo! :-)

Ho appena rinominato il percorso e funziona bene ora :-)


P.S.

Grazie @ gabriele-mariotti per il suggerimento gradlew clean. In effetti, questo mi ha aiutato a trovare la vera causa alla radice. Non ero in grado di eseguire gradlew dal terminale a causa di un RuntimeException:

Could not determine wrapper version. at org.gradle.wrapper.GradleWrapperMain.wrapperVersion 

Ma questo mi ha aiutato a imparare circa l'effetto di '!' simbolo sui percorsi e alla causa principale del problema. Grazie a tutti!

0

Si può provare:

Impostazioni
  • Open Module,
  • Change compile SDK version (si può scegliere il minimo), mentre il carico di Android gli aggiornamenti
  • è necessario importare:

    importazione andoird .suuport.v4.app.FragmentActivity

  • Aperto Module Settings a e dovresti cambiare il vecchio compile SDK version, la versione che era prima.

  • Basta attendere caricare gli aggiornamenti
Problemi correlati