Android Studio 3.1: Erroneous unresolved references in editor
AndroidAndroid StudioKotlinAndroid Studio-3.1Android Problem Overview
I'm running Ubuntu 17.10, and I've just updated Android Studio from version 3.0.1 to 3.1. Here's the version information in Help -> About:
Android Studio 3.1
Build #AI-173.4670197, built on March 22, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-37-generic
Unfortunately, while the IDE was able to resolve android-specific references before in my (first ever) Kotlin project, in the new version it appears unable to. Here's a screenshot showing what I mean:
In Android Studio 3.1, it's claiming that core Android functions such as setContentView()
don't exist, and keeps prompting me to create an abstract function for it - which I clearly don't want to do. However, if I hit the build button, I get a BUILD SUCCESSFUL in 8s
.
Why is my editor doing this, and how I get get Android-related functions and classes to resolve correctly again?
- Build → Clean and then Build → Rebuild doesn't help.
- File → Invalidate Caches and Restart doesn't help either
- Neither does a manual Gradle sync.
- A different project that's written in Java instead of Kotlin works fine.
- Link to the project I'm experiencing issues with (it's open-source)
Android Solutions
Solution 1 - Android
- Exit Studio.
- Delete .idea/ (seems to me that's most important), build/, app/build directories.
- Start Studio
- Set Settings -> Build -> Gradle settings back (last stable Gradle local distribution in my case).
- Clean&rebuild project.
Helps me.
Solution 2 - Android
Delete {projectDir}/.idea/libraries
, then go to File -> Sync Project with Gradle Files.
Solution 3 - Android
I had the same problem on Android Studio 3.2.1.
The solution was to use stable 'com.android.tools.build:gradle:3.2.1', not alpha...
In the project build.gradle change the version like the code below (or if there is a newer stable version)
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
If this doesn't solve your problem than in File >> choose Invalidate caches/Restart... and on the next dialog choose Invalidate and Restart
Solution 4 - Android
I had a very similar issue:
Layout resources (ie: activity_view.xml) that worked fine would all of a sudden not be detected or show up in the autocomplete lists, etc.
I tried all these "delete .idea folder/invalidate caches/restart Android studio" solutions and nothing worked..
Solution that worked:
Turned out that an import statement of the entire R package (import android.R
) had at some point been added to the import statements and was somehow creating the issue (for specific layout resources only for some bizarre reason)
Removing import android.R
instantly resolved the issue, and putting it back recreated it instantly as well.
Hope that helps any that come across this post for the same/similar reason
Solution 5 - Android
I had the same problem. None of the "fixes" listed above helped.
Just run in a terminal:
./gradlew --stop
./gradlew --rerun-tasks assemble{flavour}
For example:
./gradlew --stop
./gradlew --rerun-tasks assembleDevDebug
Solution 6 - Android
Make sure you have not import android.R in any of your activities/fragments. This can happened when Android Studio tries to convert code from Java to Kotlin.
Delete this line and try to run your project.
Solution 7 - Android
I tried all the solutions proposed here but they did not work. What worked for me was to disable and then re-enable the Kotlin plugin.
Solution 8 - Android
Goto File->Invalidate Cache/Restart works for me
Solution 9 - Android
It helped when I deleted Android Studio and installed again. The advices above didn't help.
Solution 10 - Android
What worked for me was to change the kotlin-gradle-plugin version to the same version of Kotlin plugin used in the IDE.
That is, in your top level build.gradle, find kotlin-gradle-plugin and change the version to the same version of IDE Kotlin plugin.
The IDE Kotlin plugin version can be found in File -> Settings -> Plugins -> Kotlin
Solution 11 - Android
For me this step works :
I) Delete .idea folder from the android studio
II) Go to File > Invalidated caches/ Restarts
III) It will ask you to confirm and click on invalidate and restart.
IV) Go to Build > Clean project
V) Go to Build > Rebuild project
Try with this.
Happy Coding..!
Solution 12 - Android
If it happens to you after refactoring, and you've tried all the mentioned below (I will elaborate the list in a moment), try going to the class which has unresolved references and delete all its imports. Then do the imports again, making sure you import the correct classes.
I tried the following which didn't worked for me:
- Invalidate Cache and restart Android Studio
- Delete .build, app/build, and .idea
- Sync Gradle files
- Enable and Disable the Kotlin plugin.
- Clean/Rebuild project
- Restart my pc (MacOS).
Solution 13 - Android
What helped me was Using AS 3.6.3 I go to build.gradle (module: app) change the buildToolsVersion from "29.0.3" to "28.0.3" sync my project and it worked
I think there was something wrong with the 29.0.3 version.
I uninstall the 29.0.3 version and install it again and use it. 29.0.3 version is working perfectly for me
Solution 14 - Android
Read till the end :)
Surprisingly after so many answers, none of them worked for me. I figured out the issue was with the android tools version and gradle distribution.
I upgraded classpath from
'com.android.tools.build:gradle:3.6.1'
to 'com.android.tools.build:gradle:4.0.1'
and also upgraded distributionUrl from
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
to distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
So, if clean/build, invalidating cache, deleting .idea doesn't work for you. Please try upgrading (or downgrading if your recent change caused this issue) these versions.
Solution 15 - Android
I tried every other solution given here or anywhere else, what helped me was changing the way my plugins were in the gradle file.
I changed it to this format:
plugins{
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'com.google.gms.google-services'
}
After this, invalidated caches and restarted, rebuilt the project and all was fine. Amazing how this simple nothing results in a colossal error.