ChatGPT解决这个技术问题 Extra ChatGPT

Android Studio suddenly cannot resolve symbols

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

https://i.stack.imgur.com/YACON.jpg

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

https://i.stack.imgur.com/ZzJDV.jpg

Every single Android Studio update breaks projects, I'm sick of it already. Why can't they hold on and release a usable version.
Before cleaning or removing any file, read this answer first. It may solve your problem. stackoverflow.com/a/19223269/513413
"Invalidate Caches / Restart" worked for me.
Had the same problem and fixed with the answer on this SO post stackoverflow.com/a/30828772/1550233
accept this answer so users won't delete anything manually stackoverflow.com/a/22901534/7767664

S
Siddharth

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.


Worked for me on 0.5.9
For me, I had a power failure when android studios 0.8.2 was loading and it will not recognise any of my java imports and everything was just red. This worked for me, thanks!
I am using android studio 1.0.2, when i opened my project, i was full of red errors. i solved it by android studio-->file-->invalidate chaches/restart. when my project restarted it worked..no red errors
Android Studio 1.1.0. I also had a power failure, and this did the trick.
This now should be the correct answer. I confirmed with Android Studio 1.4 final.
S
Scott Barta

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.


This worked for me. I was going nuts with this, a full day of trying to figure it out! Thanks for the answer.
For me it was enough to delete the libraries folder in .idea and the press sync project with gradle.
I have the same problem with 0.8.9 and tried all solutions listed here with no luck :(
Didn't work for me in AndroidStudio 1.2 RC. This is a nightmare.
This is still happening in 2018 and your answer was helpful. I wish this was fixed though... Happened in AS 3.1.1.
S
Satan Pandeya

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


Worked for me on Android Studio 3.5.3
Worked for Android Studio 4.x
works in 2022 also :-) , like a charm.
M
Mathieu de Brito

Android Studio 1.3

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

I did nothing else and it worked for me.


Where can I find module settings?
@bendaf Right click your module in the explorer and select "Open Module Settings"
These settings can also be found in File --> Project Structure --> Properties
P
Post Impatica

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.


Worked for me! Thanks! Using canary build 1.0RC 1. Using minifyEnabled true or minifyEnabled false and not defining proguardFiles.
Also don't forget that AndroidLibrary projects don't run proguard stackoverflow.com/a/10992604/665823 .
A
Aenon

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


A
Amir Uval

https://i.stack.imgur.com/FOWhs.png

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


D
David T.

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.


K
Kevin Grant

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 -

Cloned fresh repository (no Android studio files are in repo) Built debug project from command line ( ./gradlew clean assembleDebug ) 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.


i don't know what was the problem but gradle clean assembleDebug works and eveything is fine for now
D
DmitryDzz

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!


Worked for me too. (Android Studio 0.6.0 on Elementary OS)
P
Panos

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


M
Manu

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.


C
Community

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


C
CKP78

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.


G
Gagandeep Singh

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


v
varghesekutty

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


R
Rémy DAVID

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]


A
Adrien Cadet

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.


F
Fakher

try to change your build.gradle with these value:

android { compileSdkVersion 18 buildToolsVersion '21.0.1'

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

J
JDOaktown

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


s
surlac

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).


E
Eduardo Cobuci

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.


C
Community

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.

Multi flavor app based on multi flavor library in Android Gradle


B
Blaze Gawlik

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.


C
Clement Osei Tano

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.


h
hiddeneyes02

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.


f
fullmoon

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

import android.content.SharedPreferences.Editor;

and symbol is cool now.


C
Community

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.