FileProvider: java.lang.IllegalArgumentException: Name must not be empty

记录遇到过的搜索不到明确答案的问题。

错误日志

java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.IllegalArgumentException: Name must not be empty

2022-06-22 14:30:31.262 10824-10824/com.savekey.cloud E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.savekey.cloud, PID: 10824
    java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.IllegalArgumentException: Name must not be empty
        at android.app.ActivityThread.installProvider(ActivityThread.java:8173)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7709)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7573)
        at android.app.ActivityThread.access$2600(ActivityThread.java:260)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2435)
        at android.os.Handler.dispatchMessage(Handler.java:110)
        at android.os.Looper.loop(Looper.java:219)
        at android.app.ActivityThread.main(ActivityThread.java:8668)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
     Caused by: java.lang.IllegalArgumentException: Name must not be empty
        at androidx.core.content.FileProvider$b.c(FileProvider.java:766)
        at androidx.core.content.FileProvider.g(FileProvider.java:709)
        at androidx.core.content.FileProvider.d(FileProvider.java:635)
        at androidx.core.content.FileProvider.attachInfo(FileProvider.java:416)
        at android.app.ActivityThread.installProvider(ActivityThread.java:8168)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7709) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7573) 
        at android.app.ActivityThread.access$2600(ActivityThread.java:260) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2435) 
        at android.os.Handler.dispatchMessage(Handler.java:110) 
        at android.os.Looper.loop(Looper.java:219) 
        at android.app.ActivityThread.main(ActivityThread.java:8668) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109) 
2022-06-22 14:30:31.291 2366-23743/? E/HsmCoreServiceImpl: onTransact in code is: 102

过程:打开文件管理功能是需要使用到provider, 添加如下:

<!--        文件管理-->
 <provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="com.savekey.cloud.FileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
  </provider>


// 然后新增xml文件夹,新增file_paths文件,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <external-path
            name=""
            path="" />
    </paths>
</resources>

运行就报错上面的错误:

解决方案:file_paths文件中 name属性不能为空。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <external-path
            name="path"
            path="" />
    </paths>
</resources>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值