android-FileProvider-name不能为空

android-FileProvider-name不能为空,android,Android,我的清单中有以下文件提供程序: <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.android.provider.DataSharing-1" android:exported="false" android:grantUriPermissions="true">

我的清单中有以下文件提供程序:

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="com.android.provider.DataSharing-1"
        android:exported="false"
        android:grantUriPermissions="true">

        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/paths"/>

    </provider>
我如何解决这个问题?我在哪里错过了指定名称

编辑:

res/xml/path.xml

<paths xmlns:android="http://schemas.android.com/apk/res/android">

    <files-path android:name="my_images" android:path="images/"/>
</paths>

path.xml
文件的属性中删除
android:
前缀。它应该是这样的:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="my_images" path="images/"/>
</paths>


(您可能也可以去掉
xmlns:android
位,因为它没有被使用,尽管我有它,可能是因为Eclipse在创建文件时把它放在了那里…

对我来说没有任何效果。因此,我从Android Studio关闭了该项目,然后删除了.gradle和.idea文件,然后它开始像一个符咒一样工作:)首先,这是当局的问题。您应该使用applicationId为应用程序提供.fileprovider或fileprovider,然后它就可以工作了。希望这可能会对某人有所帮助

在我的例子中,xml文件被保存为文件名_V21.xml,这就产生了问题。我将路径文件重命名为filename.xml解决了问题。

我不确定这是一个有效的机构名称(
-1
使我暂停)。但是,我认为您真正的问题在于元数据--post
res/xml/path.xml
@commonware我需要发布我如何在代码中使用FileProvider吗?@commonware我尝试删除'-1'。它仍然有同样的问题。以前,我有你说的“名称”和“路径”。但后来我发现了一个错误:Android属性缺少名称空间前缀。好吧,它起作用了。我删除了xmlns。。以及路径和名称中的“android:”。谢谢@Jake hwo ur path.xml看起来怎么样?我也一样
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="my_images" path="images/"/>
</paths>