[android] Error "package android.support.v7.app does not exist"

I am new to android development, and I have been using the command line tools to create an android project. I followed all the instructions given in the tutorial at android developers. However, they are focused more on IDE users.

When I tried extending my MainActivity class from ActionBarActivity instead of just Activity, it threw the following error.

error: package android.support.v7.app does not exist

It was complaining about this import statement.

import android.support.v7.app.ActionBarActivity;

I made sure to visit the SDK manager, and it says Android Support Library is installed. I am truly stumped on this one, and I would really appreciate any help you guys could give me.

This might help: http://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html

This question is related to android android-support-library

The answer is


If you are using latest Android Studio, then v7 libraries contradict with AndroidX, only you have to do is:

In Project files go in gradle.properties
Find out android.useAndroidX=true then set it to android.useAndroidX=false
Find out android.enableJetifier=true then set it to android.enableJetifier=false
Rebuild your project, all will working fine.


Switching to AndroidX helped me: import androidx.appcompat.app.AppCompatActivity;


It is 2020 December. The same problem came to me in a different way. When I was going to Deploy in google play store, it said I have to create the bundle higher than android v28 and I updated my projects Compile using Android Version 30 (in Xamarin Android project properties). It was not possible to do it with the same error (Android support library has no support for V7). I tried everything mentioned above and was not working and here is what worked for me. I was using this in splashactivity.cs

using Android.Support.V7.App;

And it is the one giving the trouble and i changed it into V4

using Android.Support.V4.App;

then AppCompatActivity was underlined red and I had to get androidx appcompat app as follows

using AndroidX.AppCompat.App;

Now it is working and it may help someone else too.


I'm a beginner but what I did for my code to work was to import androidx hence replacing the android.v7 then I erased the support.v7 line and my code worked. I'm sorry I couldn't explain in more technical terms but that's what worked for me. Actually the Java codes were codes I copied from an old tutorial hence the error encountered. Hope this helps.


try to copy C:\Program Files\Java\jdk1.8.0_121 && C:\Program Files\Java\jre1.8.0_121 from other working PC then all (clean && rebuild)


I just got this error today and this is how I fixed.

  • On my build output, I double click on the class with the error.
  • After the class opened, I expanded the imports section and deleted existing imports with errors.
  • I then hovered my mouse near the errors which were:RecyclerView,LinearLayoutManager, and FragmentTransaction and chose Alt+Enter to import appropriate classes.

Note: in my case, the error occured after I migrated one of my old projects to androidx and so imports hard to be androidx related. I am using android studio.

Note: You may run into other issues, so everytime I run into an error, I check other called classes and makes sure their imports are correct. What I do mostly is press ctrl+shift+R, and put the old import in the first field and the correct import on the second field and then replace all. This way, I replace all imports that in the project at once.

You can use ctrl+shift+f to find where imports are used.


If you are using SDK 28 or higher, you need to migrate to AndroidX library.

With Android Studio 3.2 and higher, you can migrate an existing project to AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.


If you have a problem with dependencies when download a new version, try...

FILE....MANAGE IDE SETTINGS...RESTORE DEFAULT SETTINGS

Si tienes un problema con las dependencias cuando actualizas a una nueva versiĆ³n..intenta..

FILE..MANAGE IDE SETTINGS...RESTORE DEFAULT SETTINGS



For what it's worth:

I ran in to this issue when using Xamarin, even though I did have the Support packages installed, both the v4 and the v7 ones.

It was resolved for me by doing Build -> Clean All.


Using Android Studio you have to add the dependency of the support library that was not indicated in the tutorial

dependencies {

    implementation 'com.android.support:appcompat-v7:22.0.0'
}

After Rebuild the project issue resolved..


If the issue reported from MainActivity.java then replace

import android.support.v7.app.AppCompatActivity;

with

import androidx.appcompat.app.AppCompatActivity;

If your app is AndroidX, This response may apply to your problem:

npm install --save-dev jetifier
npx jetify (may take a while)
npx react-native run-android

For those who migrated to androidx, here is a list of mappings to new packages: https://developer.android.com/jetpack/androidx/migrate#class_mappings

Use implementation 'androidx.appcompat:appcompat:1.0.0'

Instead support library implementation 'com.android.support:appcompat-v7:28.0.0'


First of all check if your project is using androidx or android support library. Check gradle.properties file:

android.useAndroidX=true

android.enableJetifier=true

If it contains the above lines, it is using androidx with an old code from some old tutorial.

In build.gradle (module:app)

Use

implementation 'androidx.appcompat:appcompat:1.0.0'

Instead of

compile 'com.android.support:appcompat-v7:28.0.0'

Also in MainActivity.java : Use

import androidx.appcompat.app.AppCompatActivity;

instead of :

import android.support.v7.app.AppCompatActivity;

For AndroidX implement following lib in gridle

implementation 'androidx.palette:palette:1.0.0'

and import following class in activity -

import androidx.palette.graphics.Palette;

for more info see class and mapping for AndroidX https://developer.android.com/jetpack/androidx/migrate/artifact-mappings https://developer.android.com/jetpack/androidx/migrate/class-mappings