user3381665
user3381665

Reputation: 1141

package android.support.v4.app does not exist ; in Android studio 0.8

I've recently updated the android studio IDE to 0.8 to work with the new android L SDK. To start I imported a finished android project that receives no errors in the older version of android studio. In version 0.8 i lines such as

import android.support.v4.app.Fragment;
get: Support cannot be resolved causing the rest of the code to have errors. The logcat returns 101 instances of

Error:(8, 30) error: package android.support.v4.app does not exist

1 for each time I call the support library in an import statement.

I've tried

not entirely sure what's left to do.

Upvotes: 69

Views: 178210

Answers (17)

tony gil
tony gil

Reputation: 9554

Solved adding implementation "androidx.core:core-ktx:1.6.0" to build.gradle (Module app)

Upvotes: 0

DSA
DSA

Reputation: 47

SOLUTION TO error: package android.support.v4.content does not exist import android.support.v4.content.FileProvider;

using jetify helped to solve .

from @ jcesarmobile' s post --- >#2832

Error: "package android.support.* does not exist" This error occurs when some Cordova or Capacitor plugin has old android support dependencies instead of using the new AndroidX equivalent. You should report the issue in the plugin repository so the maintainers can update the plugin to use AndroidX dependencies.

As workaround you can also patch the plugin using jetifier

npm install jetifier

npx jetify

npx cap sync android

Upvotes: 0

Fahmid
Fahmid

Reputation: 180

March 9th 2023

If you're using Ionic/Angular, this worked for me:

cd android
./gradlew clean
cd ..
npx jetify

Hope it helps.

Upvotes: 1

Sahil bakoru
Sahil bakoru

Reputation: 662

If none of these solution worked, you need to jetify your project to fully support AndroidX. Try

npm i -D jetifier

then run

npx jetify

you could find more details here : https://github.com/michalchudziak/react-native-geolocation/issues/39#issuecomment-514566895 ,this should fix the issues. Let me know if this worked.

and also make sure to add below in gradle.properties

android.useAndroidX=true

android.enableJetifier=true

Upvotes: 1

Shashwat Gupta
Shashwat Gupta

Reputation: 5264

// run this commend - its fixed everything

ionic cordova plugin add cordova-plugin-androidx-adapter

Upvotes: 5

Kevin
Kevin

Reputation: 2406

Add this to build.gradle:

allprojects {
    repositories {
        google()
    }
}
dependencies {
    implementation "com.android.support:support-core-utils:28.0.0"
}

*Must have minSdkVersion 14 (or higher)

Upvotes: 0

Ali Kleit
Ali Kleit

Reputation: 3649

My solution was creating a project with Use legacy support library option checked. after the project creation is successfully completed, just delete the src folder in the app directory and copy the src folder from your main project. Finally, Sync project with Gradle files.

Upvotes: 0

Niklesh Lalwani
Niklesh Lalwani

Reputation: 501

None of the above solutions worked for me. What finally worked was:

Instead of

import android.support.v4.content.FileProvider;

Use this

import androidx.core.content.FileProvider;

This path is updated as of AndroidX (the repackaged Android Support Library).

Upvotes: 39

Paul McCarthy
Paul McCarthy

Reputation: 890

For me the problem was caused by a gradle.properties file in the list of Gradle scripts. It showed as gradle.properties (global) and refered to a file in C:\users\.gradle\gradle.properties. I right-clicked on it and selected delete from the menu to delete it. It deleted the file from the hard disk and my project now builds and runs. I guess that the global file was overwriting something that was used to locate the package android.support

Upvotes: 0

dolcom
dolcom

Reputation: 1

In my case the problem was solved by appending the string cordova.system.library.2=com.android.support:support-v4:+ to platforms/android/project.properties file

Upvotes: 0

Praveen
Praveen

Reputation: 408

Delete

/.idea/libraries

Then sync gradle to build project.

Upvotes: 11

Jack
Jack

Reputation: 1855

In my case the error was on a module of my project.I have resolved this with adding

dependencies {
    implementation 'com.android.support:support-v4:20.0.+'
}

this dependency in gradle of corresponding module

Upvotes: 4

user3799575
user3799575

Reputation: 217

[for some reasons this answer is related to Eclipse, NOT Android Studio!]

Have you tried setting the support libraries to your class path? This link from the Android Developer's website has some info on how to do that.

Try following these steps from the website:

Create a library project based on the support library code:

  • Make sure you have downloaded the Android Support Library using the SDK Manager.
  • Create a library project and ensure the required JAR files are included in the project's build path:

    • Select File > Import.
    • Select Existing Android Code Into Workspace and click Next.
    • Browse to the SDK installation directory and then to the Support Library folder. For example, if you are adding the appcompat project, browse to /extras/android/support/v7/appcompat/.
    • Click Finish to import the project. For the v7 appcompat project, you should now see a new project titled android-support-v7-appcompat.
    • In the new library project, expand the libs/ folder, right-click each .jar file and select Build Path > Add to Build Path. For example, when creating the the v7 appcompat project, add both the android-support-v4.jar and android-support-v7-appcompat.jar files to the build path.
    • Right-click the library project folder and select Build Path > Configure Build Path.
    • In the Order and Export tab, check the .jar files you just added to the build path, so they are available to projects that depend on this library project. For example, the appcompat project requires you to export both the android-support-v4.jar and android-support-v7-appcompat.jar files.
    • Uncheck Android Dependencies.
    • Click OK to complete the changes.
  • You now have a library project for your selected Support Library that you can use with one or more application projects.

    • Add the library to your application project:
    • In the Project Explorer, right-click your project and select Properties.
    • In the category panel on the left side of the dialog, select Android.
    • In the Library pane, click the Add button.
    • Select the library project and click OK. For example, the appcompat project should be listed as android-support-v7-appcompat.
    • In the properties window, click OK.

Upvotes: 10

colm.anseo
colm.anseo

Reputation: 22037

@boernard 's answer solves this from the Android Studio IDE, but if you want to understand what's happening under the covers, it's a simple gradle build file update:

You can edit the build.gradle file from within the IDE (left pane: Gradle Scripts -> build.gradle (Module: app)) or use the raw path (<proj_dir>/app/build.gradle) and add/update the following dependency section:

dependencies {
    //
    // IDE setting pulls in the specific version of v4 support you have installed:
    //
    //compile 'com.android.support:support-v4:21.0.3'

    //
    // generic directive pulls in any available version of v4 support:
    //
    compile 'com.android.support:support-v4:+'
}

Using the above generic compile directive, allows you to ship your code to anyone, provided they have some level of the Android Support Libraries v4 installed.

Upvotes: 39

ubuntudroid
ubuntudroid

Reputation: 3999

tl;dr Remove all unused modules which have a dependency on the support library from your settings.gradle.

Long version:

In our case we had declared the support library as a dependency for all of our modules (one app module and multiple library modules) in a common.gradle file which is imported by every module. However there was one library module which wasn't declared as a dependency for any other module and therefore wasn't build. In every few syncs Android Studio would pick that exact module as the one where to look for the support library (that's why it appeared to happen randomly for us). As this module was never used it never got build which in turn caused the jar file not being in the intermediates folder of the module.

Removing this library module from settings.gradle and syncing again fixed the problem for us.

Upvotes: 2

Andrew Niken
Andrew Niken

Reputation: 624

IN ECLIPSE LUNA I ve resolved this issue by using contet menu on my Project : ANdroid Tools > Add support Library ...

Upvotes: 1

Bernhardt Scherer
Bernhardt Scherer

Reputation: 1848

Ok, so I had the same problem and found a solution in a udacity forum:

In Android Studio:

  1. Right click on your projects "app" folder and click on -> module settings
  2. Click on the "dependencies" tab
  3. Click on the + sign to add a new dependency and select "Library Dependency"
  4. Look for the library you need and add it

Upvotes: 114

Related Questions