未找到 android.support.v4.content.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>

由于早期的 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'
        }
    }
}

原文由 Lim Thye Chean 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 849
2 个回答

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

原文由 Will Tang 发布,翻译遵循 CC BY-SA 3.0 许可协议

从 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>

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

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

原文由 Andre 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题