BVB BVB - 2 months ago 10
Android Question

Android Studio cannot resolve symbol but code executes correctly

I have recently created a library Jar file that I imported in my Android project. I am able to call functions and use classes that are present in this Jar file, but Android Studio keeps telling me that it cannot "resolve symbol" of the class I am using. Please see the screenshot below:

SDK class - cannot find symbol

Click here for full-size image

The code builds and executes successfully. The function

isThisThingWorking()
simply returns
true
, and that is just what
boolean blah
gets set to.

I have tried pressing the
Sync Project with Gradle Files
button and using the
Invalidate Caches / Restart...
option from Android Studio's
File
menu, but none of this solved the issue. What can I do to make the Android Studio IDE not display the
Cannot resolve symbol 'xxxSDK'
error?

BVB BVB
Answer

I found the issue - my SDK.jar was not generated correctly. It included .java files instead of .class files. This explains why the IDE was not able to find the SDK class. The package structure was still correct in the Jar, which is why the package name itself is not a red color. The code worked correctly, because the compiler knew to compile the .java files.

To solve the issue, I modified my build.gradle of my SDK project to include .class files, instead of .java files, when creating the Jar. Including this new Jar instead of the old Jar fixed the IDE issue.