Android Studio - la syntaxe 'ne peut pas résoudre le symbole' souligne les erreurs même si build est ok
j'ai un problème vraiment ennuyeux depuis plusieurs jours, après que j'ai essayé de restaurer un projet studio Android précédemment en travail à partir d'une sauvegarde, après avoir obtenu un nouvel ordinateur.
j'ai le " ne peut pas résoudre le symbole " syntaxe mettant en évidence le problème avec les classes des bibliothèques Android telles que android.support.v7.app
, android.support.v4.app
, et les services Google Play, que j'ai inclus comme dépendances.
Mais, le projet se construit bien et je peux lancer L'application sur téléphone sans aucun problème.
j'ai vérifié si ces fichiers jar existent sous l'installation SDK - par exemple"sdkextrasandroidm2repositorycomandroidsupportappcompat-v723.0.1".
mon problème est assez similaire à ceux rapportés dans les billets ci-dessous:
- Android Studio dit "ne peut pas résoudre le symbole" mais le projet compile
- Android Studio ne peut pas résoudre le symbole mais le code s'exécute correctement
- Android Studio soudainement ne peut pas résoudre les symboles
j'ai essayé toutes les solutions fournies dans diverses discussions stackoverflow (i.e. Sync Gradle Project, invalid Cache/Restart, Clean/Rebuild, Deleting gradle generated files (.Grad, construire, .répertoires d'idées, etc.), de le rétrograder à la baisse de l'API et de mise à niveau, etc. Mais, aucune méthode n'est utile.
J'utilise Android Studio 1.3.2 et API 23. Tous les outils de construction, bibliothèque de soutien, etc. sont à jour (essayé avec les deux v22.+ et v23.+ des bibliothèques).
s'il vous Plaît aider si vous avez d'autres suggestions!
extrait de ma construction.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.+'
}
des captures d'écran des problèmes peuvent également être trouvées ci-dessous. Je pense que Android Studio N'est pas en mesure d'importer les bibliothèques dépendantes pour la mise en évidence de la syntaxe, bien que le compilateur est capable de les inclure et construire avec succès.
3 réponses
la raison est que j'ai eu un !' symbole dans mon chemin de projet. Apparemment, comme je l'ai appris maintenant, beaucoup de programmes Java échouent à cause de cette raison! :- )
je viens de renommer le chemin et il fonctionne très bien maintenant: -)
P. S.
Merci @gabriele-mariotti pour la suggestion gradlew clean
. En fait, ça m'a aidé à trouver la vraie cause. Je n'ai pas pu courir gradlew
de le terminal en raison d'un RuntimeException
:
Could not determine wrapper version. at org.gradle.wrapper.GradleWrapperMain.wrapperVersion
mais cela m'a aidé à apprendre sur l'effet de '! symbole de des chemins, et à la cause racine du problème. Merci à vous tous!
Vous pouvez essayer:
- Open
Module Settings
, changez la valeur decompile SDK version
(vous pouvez choisir le numéro de version minimum) - attendre que Android Studio finisse de rafraîchir
-
assurez-vous que vous avez importé:
import android.support.v4.app.FragmentActivity
-
ouvrir
Module Settings
de nouveau et vous devez revenir en arrièrecompile SDK version
, le numéro de version originale avant de le changer. - attendre que Android Studio finisse de rafraîchir
j'ai eu ce même problème avec deux bibliothèques dans notre projet, com.koushikdutta.ion et uk.co.senab.photoview qui sont utilisés tout au long de notre projet multi-app, mais sont déclarés comme des dépendances au fond d'un projet de bibliothèque. Les symptômes étaient comme ceci:
- je pouvais parfaitement compiler et exécuter l'application
- L'IDE a obstinément refusé de trouver les classes de ces les bibliothèques et aucune navigation vers leur code source n'était possible, beaucoup d'erreurs (barres rouges) étaient associées à toutes les classes qui les utilisaient; les usages de classe étaient surlignés en rouge, aucune suggestion de code, vous l'appelez.
ma solution est la suivante: tout d'abord, fermez Android Studio. Puis:
cd <your-project-folder>
mv .idea/ .idea-old/
mv <projectname>.iml <projectname>.iml-old
ré-ouvrez Android Studio mais sélectionnez l'option"Ouvrir un projet Android Studio existant". Attendre que le projet soit réparé et profiter parfaite propreté.