starbeamrainbowlabs
starbeamrainbowlabs

Reputation: 6106

Android Studio 3.1: Erroneous unresolved references in editor

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?

Upvotes: 105

Views: 88559

Answers (20)

user2841235
user2841235

Reputation: 1

In my case, after trying many of the above solutions, I found an import that ended in .R

import android.os.Build.VERSION_CODES.R

Deleting it solved the problem. Somewhat similar to SmokeyTBear's answer above.

Upvotes: 0

Mohamed Noordin
Mohamed Noordin

Reputation: 166

This may help you:
Copy and remove the code files that couldn't be resolved and the code files that cause the unresolved reference errors from the project, then paste them again into the project. Didn't help? Try copying the contents of the files, remove the files, create new ones, and then paste the file contents in. Yes, it could be easy as that!

Upvotes: 0

kqvanity
kqvanity

Reputation: 100

I turns out that I restructured my application's file structure, without updating the packages per each file accordingly! In my case Android Studio conveniently gave me a warning hint for the fully-qualified package name to be renamed reflecting the new change, which resolved individual warnings one at a time! Erasing the build directory also helped out with bootstraped files e.g., Theme being more of catch-all solution.

Upvotes: 0

Cristhian Gracia
Cristhian Gracia

Reputation: 16

I solved it upgrading the gradle version to 3.6.4 in project module

classpath 'com.android.tools.build:gradle:3.6.4'

and upgrade version in gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Images reference Step 1 Step 2

Upvotes: 0

Davide
Davide

Reputation: 3472

I removed all cached filed from

HOME/.gradle/ -> cache/ and .tmp/

HOME/.android/ -> cache/

from project folder -> .gradle/

Upvotes: 2

Pai-Hsiang Huang
Pai-Hsiang Huang

Reputation: 372

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

enter image description here

Upvotes: 3

Luis
Luis

Reputation: 143

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.

Upvotes: 0

Rajkiran
Rajkiran

Reputation: 16191

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.

Upvotes: 0

shafeeq
shafeeq

Reputation: 1589

Goto File->Invalidate Cache/Restart works for me

Upvotes: 6

Adriatik Gashi
Adriatik Gashi

Reputation: 362

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.

enter image description here

Upvotes: 8

petprog
petprog

Reputation: 11

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

Upvotes: 0

SmokeyTBear
SmokeyTBear

Reputation: 129

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


Upvotes: 10

Anna
Anna

Reputation: 532

It helped when I deleted Android Studio and installed again. The advices above didn't help.

Upvotes: 2

Richard Miller
Richard Miller

Reputation: 616

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

Upvotes: 0

dbog
dbog

Reputation: 166

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

Upvotes: 12

Diego Palomar
Diego Palomar

Reputation: 7061

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.

Upvotes: 2

Dimitar
Dimitar

Reputation: 779

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

1 step

2 step

Upvotes: 16

Pranav P
Pranav P

Reputation: 1815

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

Upvotes: 2

Keif
Keif

Reputation: 983

Delete {projectDir}/.idea/libraries, then go to File -> Sync Project with Gradle Files.

Upvotes: 87

Slava Glushenkov
Slava Glushenkov

Reputation: 1518

  1. Exit Studio.
  2. Delete .idea/ (seems to me that's most important), build/, app/build directories.
  3. Start Studio
  4. Set Settings -> Build -> Gradle settings back (last stable Gradle local distribution in my case).
  5. Clean&rebuild project.

Helps me.

Upvotes: 124

Related Questions