Ted
Ted

Reputation: 20184

Android Studio and android.support.v4.app.Fragment: cannot resolve symbol

I am trying out Android Studio instead of Eclipse. I install it and then start a completely new project and follow the wizard. I add no code of my own.

Then, I right-click to create a new component, a new Fragment:

enter image description here

and choose a new fragment:

enter image description here

and as soon as I do, I see compile errors:

enter image description here

... so I start googling and find out that I need to install and reference support library 4, and that I do. When I check the build.gradle (whatever that is, new to me coming from Eclipse), I see:

enter image description here

but I change that to

enter image description here

because they said so here. After recompiling and all that, the error is still there. I then reference the .jar-file directly, like this:

enter image description here

and again do recompile etc, but that doesn't help either.

This behaviour seems very strange to me. What am I missing here? This is the SDK Manager view:

enter image description here

Upvotes: 80

Views: 183555

Answers (25)

Marcos Correa
Marcos Correa

Reputation: 1

My problem was with Glide. Pasting this in build.gradle and execute "Sync project with gradle files" works perfectly:

dependencies {

  implementation 'com.github.bumptech.glide:glide:4.12.0'
  // Glide v4 uses this new annotation processor -- see https://bumptech.github.io/glide/doc/generatedapi.html
  annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

}

Hope this help someone.

Upvotes: 0

Kuya Lance
Kuya Lance

Reputation: 1

I'm currently using Android Studio Arctic Fox | 2020.3.1 Patch 3. I've tried the most upvoted answers here but sadly none worked for me. I looked down my ".idea/libraries" folder and saw no gradle file for "Fragments".

Here's how I fixed it:

I go to File > Project Structure > Dependencies > . There's a small "+" there to Add Dependency (or do Alt+Insert) > Library Dependency. Type on the search box of Step 1 the following: 'androidx.fragment' then hit Search. A list will show below a list of libraries and go click the first one, then Done. The window will disappear then click Apply. It will fetch Gradle Build Models then will automatically rebuild/update to your project.

Upvotes: 0

CCJ
CCJ

Reputation: 1751

2021 here -- if, like me, you sadly have to just get some new code working with legacy junk that hasn't been touched in five+ years and still uses the support libs AND can't be changed before the deadline, you might try taking a look in gradle.properties for:

android.useAndroidX=true
android.enableJetifier=true

and commenting them if present. Android Studio 4.1.2 inserts them in new projects by default and they seem to get in the way of using support libs. Not surprising given the names, but the fact that they get auto-added to new projects is a little obnoxious.

Upvotes: 6

Flovettee
Flovettee

Reputation: 1013

For me the cause of problem was broken class path:

Library Gradle: com.android.support:support-v4:28.0.0@aar has broken classes path:   
/Users/YOUR_USER/.gradle/caches/transforms-1/files-1.1/support-v4-28.0.0.aar/0f378acce70d3d38db494e7ae5aa6008/res

So only removing transforms-1 folder and further Gradle Sync helped.

Upvotes: 1

Gaurav kedia
Gaurav kedia

Reputation: 73

File -> "Invalidate caches/Restart" This worked for me.

Upvotes: 2

Owen Chen
Owen Chen

Reputation: 1720

DID NOT WORK:

I have already had the following dependency in my build.gradle

implementation 'com.android.support:support-v13:26.0.2'

I have tried all of the following,

  • Invalidate Caches/Restart
  • Sync project with gradle files
  • Clean project
  • Rebuild project
  • gradlew clean

But, none of them worked for me.

SOLUTION:

Finally, I solved it by deleting "/.idea/libraries", and then synced with gradle and built again.

Upvotes: 131

Divyanshu Kumar
Divyanshu Kumar

Reputation: 299

replace this line of code

import android.support.v4.app.FragmentActivity;

with

import androidx.fragment.app.FragmentActivity;

and you are done.

Upvotes: 29

Ankush Joshi
Ankush Joshi

Reputation: 426

Closing and Re-Importing project worked for me.

Upvotes: 1

Michael Miscampbell
Michael Miscampbell

Reputation: 11

I encountered this issue and tried everything including File > Invalidate Caches but nothing worked. The reason this issue was happening for me was because I had external projects that were using a different AppCompat version to my main gradle file.

After I updated all gradle files to be the same version the compile error went away.

Upvotes: 1

Nathania Sutedja
Nathania Sutedja

Reputation: 71

I'm using buck and it seems like by removing the /.idea/libraries in your project folder and sync gradle again works for me.

Upvotes: 7

Ranjitsingh Chandel
Ranjitsingh Chandel

Reputation: 1489

Android studio has option to manage dependencies. Follow path.

  1. Click on File, then select Project Structure
  2. Choose Modules "app"
  3. Click "Dependencies" tab
  4. Click on the + sign, choose Library Dependencies
  5. Select support-v4 or other libraries as needed and click OK

FYI check link stackoverflow.com/a/33414287/1280397

Upvotes: 4

Scott Barta
Scott Barta

Reputation: 80030

The symptom of this problem is usually that the build works fine from the command line (which means your build.gradle file is set up right) but you get syntax highlighting errors in the IDE. Follow This Steps To Solve The Problem: Click on Tools from the toolbar usually at the top part of your IDE, and then navigate to Android then navigate to Sync Project with Gradle Files button. We realize it's less than ideal that the IDE can't just take care of itself instead of forcing you to manually sync at the right time; we're tracking progress on this in https://code.google.com/p/android/issues/detail?id=63151

Upvotes: 101

Rana Ranvijay Singh
Rana Ranvijay Singh

Reputation: 6165

I was facing the same issue. As it turns out in my build.gradle file there was this :

configurations {
    all*.exclude group: 'com.android.support'
}

Removing that fixed my issue. So guys, if doing all that and still your issue is not fixed, look for any exclude keywords in your gradle file.

Upvotes: 1

Uddhav P. Gautam
Uddhav P. Gautam

Reputation: 7636

Do sth. modification (just to gradle sync) over app level build.gradle and sync. Again, redo what you changed in build.gradle and sync. It should fix your problem.

Upvotes: 1

kaiser
kaiser

Reputation: 1009

For everyone who comes to this thread and builds with maven: add support-v4 dependency and build to download the repo.

Then add the library manuelly to your project:

Project Structure -> Libraries -> Add

And move to you're repo for the correct jar file: C:\Users\XXXXXXX\.m2\repository\com\google\android\support-v4\r7\support-v4-r7.jar

Upvotes: 1

user5259011
user5259011

Reputation: 61

1> File -> invalidate caches 2> Build-> Rebuild

its work for me

Upvotes: 6

Rohit Mandiwal
Rohit Mandiwal

Reputation: 10462

"File" -> "Invalidate Caches..."

worked for me.

Upvotes: 12

Michael Yang
Michael Yang

Reputation: 1433

For me : Build->Clean Project solved this question

Upvotes: 3

Dennis K
Dennis K

Reputation: 1878

To downplay the "magic" of this issue a little bit. You need an Internet connection after you make those changes. If for some reason required libraries cannot by downloaded, instead of giving an appropriate message (like "Failed to fetch libraries") you will simply get the same build error. Was struggling with this for an hour before realizing that my company's VPN blocked the repo.

Upvotes: 1

raddevus
raddevus

Reputation: 9087

I'm running the most current version of AndroidStudio to date (11/10/2015) -- v1.4 (build AI-141.2288178, built on September 28, 2015) and I built my project and everything worked fine. Then after a few hours of my computer being inactive I came back, edited some code that had nothing to do with the support libraries and started seeing :

cannot resolve symbol 'fragmentactivity' and I was seeing red highlighted items related to fragmentactivity in the AndroidStudio editor.

The solution was to simply do a

Build...Rebuild Project...

I only mention this so others might see it and know it is happening out there.

Upvotes: 5

Suresh Parmar
Suresh Parmar

Reputation: 823

Try this may will help you.Go to "File" -> "Invalidate Caches...", and select "Invalidate and Restart" option to fix this.

Upvotes: 54

Pedro Gonzalez
Pedro Gonzalez

Reputation: 1459

enter image description hereI found a shortcut: File - Project Structure - Tab:Dependencies Click on the green + sign, select support-v4 (or any other you need), click OK.

now go to your gradle file and see that is been added

Upvotes: 7

superarts.org
superarts.org

Reputation: 7238

I found that if you have comments in your build.gradle it may break when you try to add a new support library. So make sure you check your build.gradle and see if it looks alright manually.

Upvotes: 0

Lam Do
Lam Do

Reputation: 518

I got the same problem since I updated to latest version of Android Studio 0.3.7. So you can try with my stuffs.

Ensure you have updated to latest version Android Support Repository - 3 Android Support Library - 19

As your attachment picture above, you did it already. Then adding the following setting to your build.gradle

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
}

One more thing: Please make sure your Android SDK is targeting to right SDK folder

Upvotes: 11

Ted
Ted

Reputation: 20184

Hrrm... I dont know how many times this has happend so far: I test, try, google, test again and mess around for hours, and when I finally give up, I go to my trusted Stackoverflow and write a detailed and clear question.

When I post the question, switch over to the IDE and boom - error gone.

I can't say why its gone, because I change absolutely nothing in the code except for that I already tried as stated above. But all of a sudden, the compile error is gone!

In the build.gradle, it now says:

dependencies {
    compile "com.android.support:appcompat-v7:18.0.+"
}

which initially did not work, the compile errors did not go away. it took like 30 min before the IDE got it, it seems... hmm...

=== EDIT === When I view the build.gradle again, it has now changed and looks like this:

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile "com.android.support:appcompat-v7:18.0.+"
}

Im not really sure what the appcompat is right now.

Upvotes: 1

Related Questions