Android Studio suddenly cannot resolve symbols

AndroidImportGradleAndroid Studio

Android Problem Overview


Android Studio 0.4.2 was working fine and today I opened it and almost everything was red and the auto-completion had stopped working. I look at the imports and AS seems to be telling me it can't find android.support.v4 all of a sudden (offering me the option to remove the unused imports). (android.support.v7 seems to be fine though).

Things I have tried:

  • Rebuilding the project
  • Cleaning the project
  • Syncing with Gradle Files
  • Closing the Project, closing AS and relaunching / reopening
  • File > Invalidate Caches / Restart
  • Examining Lint, didn't see anything obvious
  • Double checking all support libraries are up to date in the SDK manager
  • Examining my Build.gradle, although no changes and it's the same as usual, the way it was working all the time.

Here it is in case it's relevant:

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')
}

When I hit "Sync with Gradle" and open "Project Settings" I get a red error telling me I have duplicate library references and to remove the unused ones.. enter image description here

My project compiles and runs fine but I really need the autocomplete working!! Does anyone have any suggestions?

enter image description here

Android Solutions


Solution 1 - Android

None of the things mentioned earlier here did actually work for me. But then I found this menu entry in the file menu Invalidate Caches/Restart which appears to have fixed the problem.

I don't really know what happened in the background but when Android Studio started up again the status bar said Indexing... for a minute or so which apparently did wonders.

For reference I'm using Android Studio 0.5.4.

Solution 2 - Android

You've already gone down the list of most things that would be helpful, but you could try:

  • Exit Android Studio
  • Back up your project
  • Delete all the .iml files and the .idea folder
  • Relaunch Android Studio and reimport your project

By the way, the error messages you see in the Project Structure dialog are bogus for the most part.

UPDATE:

Android Studio 0.4.3 is available in the canary update channel, and should hopefully solve most of these issues. There may be some lingering problems; if you see them in 0.4.3, let us know, and try to give us a reliable set of steps to reproduce so we can ensure we've taken care of all code paths.

Solution 3 - Android

Go through the link and it worked for me.

1.) Choose File option from menu on left top side of android studio.

2.) Select the option : "Invalidate Cache/ Restart.." It will open an dialog.

3.) Click on the first button with option : "Invalidate and Restart"

4.) It will close the studio and restart it. Start indexing of the project.

It resolved my problem:

> File -> Invalidate Cache/ Restart -> Invalidate and Restart

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

Solution 4 - Android

Android Studio 1.3

  1. Open Module Settings
  2. Click on your module under Modules menu
  3. In the properties tab, set the Source Compatibility and Target Compatibility to your java version.

I did nothing else and it worked for me.

Solution 5 - Android

For me it was a "progaurd" build entry in my build.gradle. I removed the entire build section, then did a re-sync and problem solved.

Solution 6 - Android

I'm using Android Studio 3.1.4 and I was experiencing such issue when moving from my develop branch with a lower api target to another branch with target api Oreo. I tried the first solution which worked but it is quite tricky, while the second solution did not solve the problem.

My Solution When the problem popped back again I have tried to modify slightly my app gradle file enough to AS to ask me to sync files, and that did the trick. Then I deleted the change.

I guess that "Sync Project with Gradle Files" might work as well but I haven't tried it myself

Hope it helps

Solution 7 - Android

There is a far easier solution built into Android Studio, and it usually works for me without needing any brute force solution mentioned in other answers - so you should try this first: enter image description here

click on the "gradle" symbol on the right side of Android Studio, and then on the "Refresh all Gradle projects" tool.

Solution 8 - Android

Thought i'd throw this out there too:

the thing that worked for me was changing my build variant back to a variant that was working previously. For some reason i had changed this before (and i forgot why).

either way, the best thing to do is to try to remember what you changed that day (it could be something as minor as cleaning, or going back to a previous git commit)...etc.

it also helps to try to resync gradle and force a rebuild.

Solution 9 - Android

Struggled with the same problem for a couple hours this morning. Building my project from command line seems to have done the trick for me.

Exact steps -

  1. Cloned fresh repository (no Android studio files are in repo)
  2. Built debug project from command line ( ./gradlew clean assembleDebug )
  3. Open Android Studio, import project

To check if it worked, look in your projects exploded-bundles folder, inspect a library and find the classes.jar. If it is expandable, then everything is going to be ok.

edit - I found after doing a clean within Android studio, it broke again. So if you have to clean, you will need to do this process again.

Solution 10 - Android

None of these methods helped me in Android Studio 0.5.8.

My solution was to delete ~/.AndroidStudioPreview directory (in Ubuntu). Sorry, I have no idea where is it in other OS. This directory stores temporary files and Android Studio settings, so I missed all my settings. But it works!

Solution 11 - Android

Another way is to download JDK 1.7 and change the path from Android Studio in the error message..and choose Home folder who is contained in Jdk 1.7 folder

Solution 12 - Android

Got the same problem today. Fixed it by changing the jdk location in the project structure from \java\jdk1.7.0_05 to \java\jdk1.7.0_25 (which I didn´t know existed until now).

I´m using Android Studio 0.8.6.

Solution 13 - Android

I fixed this by removing the settings.gradle from my module subproject. It's a Java Gradle project with it's own settings.gradle file that somehow it screws it up.

Thanks to this guy: https://stackoverflow.com/a/33978721/425238

Solution 14 - Android

I tried cleaning the project and then invalidating the cache, neither of which worked. What worked for me was to comment out all my dependencies in build.gradle (app), then sync, then uncomment the dependencies again, then sync again. Bob's your uncle.

Solution 15 - Android

I faced similar problem but I followed following steps in my case :-

1).inside project under .idea folder open modules.xml. 2).check if there are two entries for same iml file. 3).delete one of duplicate entry and close android studio or build gradle file again.

In my case it worked. Hope it helps

Solution 16 - Android

I got it solved by setting JDK. I got a pop up saying that Setup JDK when I placed mouse over the error.

Solution 17 - Android

I had the same problem, none of the solutions listed here worked. The problem was my source files where not inside the right folder.

The directory structure MUST be :

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

Solution 18 - Android

I have finally figured out what causes this issue.

Actually, you should avoid pushing .idea/libraries folder to your repository. It creates weird stuff in Android Studio which tends to remove all downloaded libraries.

If you have commit history, just recreate all missing library files and avoid them to be committed again. Otherwise, just remove whole .idea folder and reimport it into AS.

Solution 19 - Android

try to change your build.gradle with these value:

android { compileSdkVersion 18 buildToolsVersion '21.0.1'

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

Solution 20 - Android

I tried everything listed here. Then I checked my androidmanifest.xml I'd had some stoopid mismatched due to folder renames & package renames.

Solution 21 - Android

In my multi-module project, the problem was that version of "com.android.support:appcompat-v7" in module A was "22.0.0", but in B - "22.2.0".

Solution: make sure

  1. version of common libraries is same among modules.
  2. each of modules compiles without any errors (try to build each of them from CLI).

Solution 22 - Android

Be aware that the name of files and specially folders can result in this error. For instance, if you have a folder "Helpers" and the package for files in this folder is "com.whatever.helpers" it won't result in any compilation error but will cause the Android studio fail to load the symbols in that folder. One typical reason for that is when you name a folder with first capital letter, commit it on Git and later change the folder name to all lower case. The Git system won't recognize the change resulting in a discrepancy between the local and remote repositories that only the new repository clones will be affect by.

Solution 23 - Android

Another very subtle cause:

Multi-flavor library should be compiled in specific way than a normal single-flavored. Otherwise it silently produces cannot resolve symbols error.

https://stackoverflow.com/questions/24860659/multi-flavor-app-based-on-multi-flavor-library-in-android-gradle

Solution 24 - Android

I had a much stranger solution. In case anyone runs into this, it's worth double checking your gradle file. It turns out that as I was cloning this git and gradle was runnning, it deleted one line from my build.gradle (app) file.

dependencies {
     provided files(providedFiles)

Obviously the problem here was to just add it back and re-sync with gradle.

Solution 25 - Android

I had a similar problem when I rebuilt an aar file and replaced the older one in my project with the new one. I went through all the solutions here and none solved my issue. I later realised that minifyEnabled had been set to true in the library project which effectively removed a lot of dead code that was not being used in the library project.

My solution was to set minifyEnabled to false in the library project, assemble the aar, copied it into my project, invalidated caches and synced the grade project and everything worked fine.

Solution 26 - Android

None of these solutions worked for me. I had to uninstall Android Studio all together, then remove all Android Studio related files (user files), then reinstall it again.

Solution 27 - Android

I use shared preferences, but Android Studio complained about Editor symbol. Then, I added

import android.content.SharedPreferences.Editor;

and symbol is cool now.

Solution 28 - Android

Please check if you have a project path which has special characters like ! (exclamation mark).

In a similar problem that I experienced, this was the root cause - since many Java applications seem not to tolerate such special characters (For e.g. doing a 'gradlew clean' from the terminal would fail and throw a RunTimeException.). None of the other solutions posted online had helped me. But, once I had removed the ! from the path and did a clean build, Android Studio magically worked.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDaniel WilsonView Question on Stackoverflow
Solution 1 - AndroidVictor HäggqvistView Answer on Stackoverflow
Solution 2 - AndroidScott BartaView Answer on Stackoverflow
Solution 3 - AndroidManmohan SoniView Answer on Stackoverflow
Solution 4 - AndroidMathieu de BritoView Answer on Stackoverflow
Solution 5 - AndroidPost ImpaticaView Answer on Stackoverflow
Solution 6 - AndroidAenonView Answer on Stackoverflow
Solution 7 - AndroidAmir UvalView Answer on Stackoverflow
Solution 8 - AndroidDavid T.View Answer on Stackoverflow
Solution 9 - AndroidKevin GrantView Answer on Stackoverflow
Solution 10 - AndroidDmitryDzzView Answer on Stackoverflow
Solution 11 - AndroidPanosView Answer on Stackoverflow
Solution 12 - Androidopened_eyes_mediaView Answer on Stackoverflow
Solution 13 - AndroidwhitebrowView Answer on Stackoverflow
Solution 14 - AndroidCKP78View Answer on Stackoverflow
Solution 15 - AndroidGagandeep SinghView Answer on Stackoverflow
Solution 16 - AndroidvarghesekuttyView Answer on Stackoverflow
Solution 17 - AndroidRémy DAVIDView Answer on Stackoverflow
Solution 18 - AndroidAdrien CadetView Answer on Stackoverflow
Solution 19 - AndroidFakherView Answer on Stackoverflow
Solution 20 - AndroidJDOaktownView Answer on Stackoverflow
Solution 21 - AndroidsurlacView Answer on Stackoverflow
Solution 22 - AndroidEduardo CobuciView Answer on Stackoverflow
Solution 23 - AndroidWindRiderView Answer on Stackoverflow
Solution 24 - AndroidBlaze GawlikView Answer on Stackoverflow
Solution 25 - AndroidClement Osei TanoView Answer on Stackoverflow
Solution 26 - Androidhiddeneyes02View Answer on Stackoverflow
Solution 27 - AndroidfullmoonView Answer on Stackoverflow
Solution 28 - AndroidJim CView Answer on Stackoverflow