前言

如题

Android java.lang.IllegalArgumentException: Couldn’t find meta-data for provider with authority 你的包名
说明你没有配置 provider 或者配置了 没有配置对

我就是配置了 没有配置对

参考一下 配置

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

file_paths_public

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
        name="app_update_external"
        path="/" />
    <external-cache-path
        name="app_update_cache"
        path="/" />
    <external-path
        name="camera_pictures"
        path="." />

    <external-path
        name="external"
        path="/" />
</paths>

2022 适配7.0以上,FileProvider

 <!-- 适配7.0以上,fileprovider -->
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="包名.fileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"
                tools:replace="android:resource" />
        </provider>

file_path 配置

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="ysb_images" path=""/>
    <!--解决fileProvider无法读取外置sd卡问题-->
    <root-path name="ysb_ext_images" path=""/>
    <external-path name="ysb_extfiles" path=""/>
    <cache-path name="ysb_cachefiles" path=""/>
    <external-files-path name="ysb_extfiles_data" path=""/>
    <external-files-path name="Documents" path="Documents/"/>
    <external-cache-path name="ysb_cachefiles_data" path=""/>
    <external-files-path name="umeng_cache" path="umeng_cache/"/>op
</paths>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐