You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发谷歌服务文字检测App时遇@xml/provider_paths资源未找到错误

解决FileProvider报错:No resource found that matches '@xml/provider_paths'

嘿,这个问题我做图片识别类App的时候也踩过坑!你碰到的这个错误本质很简单——你的项目里还没创建FileProvider必须的路径配置文件,跟着下面的步骤走就能搞定:

1. 先确认Manifest里的Provider配置

首先得确保AndroidManifest.xml里的FileProvider配置是完整的(看你贴的代码应该已经加了,但再核对下):

<application
    ...>
    <!-- 其他配置 -->
    <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/provider_paths" /> <!-- 就是这里找不到文件! -->
    </provider>
</application>

这里的@xml/provider_paths就是报错的根源——系统找不到这个XML文件,因为你还没创建它。

2. 创建xml目录和配置文件

  • 打开你的Android项目,找到res目录,右键点击 → New → Android Resource Directory
  • 在弹出的窗口里,Resource type选择xml,点击OK,这样就生成了res/xml/目录
  • 接着在res/xml/目录下新建一个XML文件,命名为provider_paths.xml

3. 配置路径规则

根据你的App需求(比如共享相机拍摄的图片、外部存储文件),在provider_paths.xml里写入对应的路径配置。举个常用的例子,支持共享外部存储和应用内部存储的文件:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 共享外部存储根目录下的所有文件 -->
    <external-path name="external_storage" path="." />
    <!-- 共享应用内部存储的文件目录 -->
    <files-path name="internal_files" path="." />
    <!-- 如果是相机拍摄的图片,可以指定到DCIM目录,更安全 -->
    <external-files-path name="camera_photos" path="DCIM/" />
</paths>
  • name是给这个路径起的别名,避免暴露真实路径
  • path指定具体的目录,.表示该目录下的所有文件和子目录

4. 同步项目验证

做完上面的步骤后,点击Android Studio工具栏的Sync Project with Gradle Files按钮,等同步完成,这个报错就应该消失了。

另外提醒一句:如果你的项目用的是AndroidX,一定要用androidx.core.content.FileProvider;如果是老的Support库,才用android.support.v4.content.FileProvider,别搞混了哦!

内容的提问来源于stack exchange,提问作者Gene Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:17:32