Android之Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains

1 问题

用takePhoto去照相的时候特么的一打开就报这个错误

2020-04-09 21:33:49.124 19016-19016/com.appsinnova.android.keepshare E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.appsinnova.android.keepshare, PID: 19016
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appsinnova.android.keepshare/com.appsinnova.android.keepshare.account.TestActivity}: java.lang.reflect.UndeclaredThrowableException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3187)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3324)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2050)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:226)
        at android.app.ActivityThread.main(ActivityThread.java:7223)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:961)
     Caused by: java.lang.reflect.UndeclaredThrowableException
        at $Proxy0.onPickFromCaptureWithCrop(Unknown Source)
        at com.appsinnova.android.keepshare.account.TestActivity.onCreate(TestActivity.java:54)
        at android.app.Activity.performCreate(Activity.java:7378)
        at android.app.Activity.performCreate(Activity.java:7369)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3167)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3324) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2050) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:226) 
        at android.app.ActivityThread.main(ActivityThread.java:7223) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:961) 
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.jph.takephoto.permission.TakePhotoInvocationHandler.invoke(TakePhotoInvocationHandler.java:39)
        at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
        at $Proxy0.onPickFromCaptureWithCrop(Unknown Source) 
        at com.appsinnova.android.keepshare.account.TestActivity.onCreate(TestActivity.java:54) 
        at android.app.Activity.performCreate(Activity.java:7378) 
        at android.app.Activity.performCreate(Activity.java:7369) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3167) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3324) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2050) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:226) 
        at android.app.ActivityThread.main(ActivityThread.java:7223) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:961) 
     Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/images/20200409_213349.jpg
        at androidx.core.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:744)
        at androidx.core.content.FileProvider.getUriForFile(FileProvider.java:418)
        at com.jph.takephoto.uitl.TUriParse.getUriForFile(TUriParse.java:87)
        at com.jph.takephoto.uitl.TUriParse.getTempUri(TUriParse.java:56)
        at com.jph.takephoto.app.TakePhotoImpl.onPickFromCaptureWithCrop(TakePhotoImpl.java:380)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.jph.takephoto.permission.TakePhotoInvocationHandler.invoke(TakePhotoInvocationHandler.java:39) 
        at java.lang.reflect.Proxy.invoke(Proxy.java:1006) 
        at $Proxy0.onPickFromCaptureWithCrop(Unknown Source) 
        at com.appsinnova.android.keepshare.account.TestActivity.onCreate(TestActivity.java:54) 
        at android.app.Activity.performCreate(Activity.java:7378) 
        at android.app.Activity.performCreate(Activity.java:7369) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3167) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3324) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2050) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:226) 
        at android.app.ActivityThread.main(ActivityThread.java:7223) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:961) 

关键信息:

    Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/images/20200409_213349.jpg

2 解决办法

在file_paths.xml文件加入如下

<root-path name="root_path" path="."/>
<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-externalPath
        name="external"
        externalPath=".lock1hide" />
    <root-path name="root_path" path="."/>
</paths>
发布了1085 篇原创文章 · 获赞 704 · 访问量 314万+

猜你喜欢

转载自blog.csdn.net/u011068702/article/details/105422859