找不到android.support.v4.content.FileProvider

Lim*_*ean 19 java android android-fileprovider

我正在尝试升级可运行的旧应用程序以支持Android API 26,而我需要使用的功能之一是android.support.v4.content.FileProvider-但未找到。

    <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>
Run Code Online (Sandbox Code Playgroud)

由于早期的Android构建,gradle文件似乎很简单。是否像添加依赖项一样简单?我环顾四周,有些人建议添加一个我不了解的multidex。任何帮助表示赞赏,谢谢!

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'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 81

从AndroidX(重新包装的Android支持库)开始,路径是androidx.core.content.FileProvider这样,所以更新的提供程序标记将是:

<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>
Run Code Online (Sandbox Code Playgroud)

Android支持库现在位于 androidx.*包层次结构中。

android.* 现在保留给内置的Android系统库。


Dee*_*sar 39

代替

import android.support.v4.content.FileProvider;
Run Code Online (Sandbox Code Playgroud)

尝试导入

import androidx.core.content.FileProvider;
Run Code Online (Sandbox Code Playgroud)

  • 这对 Ionic 5 和 Capacitor 有帮助 (10认同)

Wil*_*ang 14

添加compile 'com.android.support:support-v4:26.1.0'到app 模块中的build.gradle文件。

  • 我遇到了同样的问题并通过实现“com.android.support:support-core-utils:28.0.0”解决了 (4认同)

小智 14

使用以下命令解决了我的问题:

npm install jetifier --save
npx jetify
npx cap sync
Run Code Online (Sandbox Code Playgroud)


小智 10

改成

public class FileProvider extends androidx.core.content.FileProvider {
}
Run Code Online (Sandbox Code Playgroud)


Has*_*tar 7

我将其替换为较新的版本,即androidx.core.content.FileProvider

这对我有用。


小智 5

安卓版

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)