android.support.v4.content.FileProvider not found

77,953

Solution 1

add compile 'com.android.support:support-v4:26.1.0' to build.gradle file in app module.

Solution 2

As of AndroidX (the repackaged Android Support Library), the path is androidx.core.content.FileProvider so the updated provider tag would be:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>

Android Support Libraries are now in the androidx.* package hierarchy.

android.* is now reserved to the built-in Android System Libraries.

Solution 3

Instead of

import android.support.v4.content.FileProvider;

Try importing

import androidx.core.content.FileProvider;

Solution 4

I replaced it with the newer version, which is : androidx.core.content.FileProvider

This worked for me.

Solution 5

Using the following commands solved my issue:

npm install jetifier --save
npx jetify
npx cap sync
Share:
77,953
Lim Thye Chean
Author by

Lim Thye Chean

Virtual GS studio develops and publishes multimedia eBooks, retro games and children applications for iOS and Android devices.

Updated on July 09, 2022

Comments

  • Lim Thye Chean
    Lim Thye Chean about 2 years

    I am trying to upgrade a working old app to support Android API 26, and one of the thing I need to use is android.support.v4.content.FileProvider - but it was not found.

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>
    

    Due to the early Android build, the gradle file seems simple. Is it as simple as adding a dependency? I have look around and some suggested adding a multidex which I don't understand. Any help is appreciated, thank you!

    android {
        compileSdkVersion 26
        buildToolsVersion '26.0.2'
    
        defaultConfig {
            applicationId "virtualgs.spaint"
            minSdkVersion 22
            targetSdkVersion 26
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }