I have a really annoying problem since several days, after I tried to restore a previously working Android Studio project from a backup, after getting a new computer.
I have the "cannot resolve symbol" syntax highlighting problem with the classes from Android libraries such as android.support.v7.app
, android.support.v4.app
, and Google Play Services, which I have included as dependencies.
But, the project builds fine and I can run the App on phone with no problems.
I have verified whether these jar files exist under SDK installation - for e.g. "\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.0.1".
My problem is quite similar to the ones reported in below posts:
I have tried all the solutions provided in various stackoverflow discussions (i.e. Sync Gradle Project, Invalidate Cache/Restart, Clean/Rebuild, Deleting gradle generated files (.gradle, build, .idea directories etc.), downgrade to lower API and upgrade etc. But, no method is helpful.
I use Android Studio 1.3.2 and API 23. All build tools, support library etc. are up to date (tried with both v22.+ and v23.+ of the libraries).
Please do help if you have any other suggestions!
Extract from my build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '23.0.1'
defaultConfig {
applicationId "com.myapp.fun"
minSdkVersion 22
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:22.+'
compile 'com.android.support:appcompat-v7:22.+'
}
Screenshots of the problems can also be found below. I think Android Studio is not able to import the dependent libraries for syntax highlighting, although the compiler is able to include them and build successfully.
Screenshot:
The reason is because I had a '!' symbol in my project path. Apparently, as I learnt now, many Java programs fail due to this reason! :-)
I just renamed the path and it works fine now :-)
P.S.
Thank you @gabriele-mariotti for the gradlew clean
suggestion. In fact, that helped me find the real root cause. I was not able to run gradlew
from the terminal due to a RuntimeException
:
Could not determine wrapper version. at org.gradle.wrapper.GradleWrapperMain.wrapperVersion
But that helped me learn about the effect of '!' symbol on paths, and to the root cause of the problem. Thank you all!
You can trying:
Module Settings
, change the value of compile SDK version
(you can choose the minimum version number)Make sure you have imported:import android.support.v4.app.FragmentActivity
Open Module Settings
again and you should change back compile SDK version
, the original version number before you changed it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With