AndroidUtilCode 获取存储卡信息异常

f3temu5u  于 9个月前  发布在  Android
关注(0)|答案(2)|浏览(116)

描述 Bug

某些Android设备上会出现 SDCardUtils.getSDCardInfo() 后报错

  • AndroidUtilCode 的版本:utilcodex:1.31.1
  • 出现 Bug 的设备型号:非品牌手机,OEM设备
  • 设备的 Android 版本:API 22

相关代码

  1. SDCardUtils.getSDCardInfo()

异常堆栈

  1. java.lang.IllegalArgumentException: Invalid path: /mnt/usb_storage/USB_DISK0
  2. at android.os.StatFs.doStat(StatFs.java:46)
  3. at android.os.StatFs.<init>(StatFs.java:39)
  4. at com.blankj.utilcode.util.FileUtils.getFsTotalSize(FileUtils.java:1415)
  5. at com.blankj.utilcode.util.UtilsBridge.getFsTotalSize(UtilsBridge.java:305)
  6. at com.blankj.utilcode.util.SDCardUtils$SDCardInfo.<init>(SDCardUtils.java:177)
  7. at com.blankj.utilcode.util.SDCardUtils.getSDCardInfo(SDCardUtils.java:94)
  8. at UsbPathGetter.getWholePaths(UsbPathGetter.java:54)
xhv8bpkk

xhv8bpkk1#

我们碰到相似的问题,原因是外置SD卡坏掉了,在调用到getSDCardInfo的时候就会抛这个异常。建议把IllegalArgumentException抓一下吧。我这用的版本是1.30.6.

  1. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Invalid path: /storage/sdcard1
  2. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.os.StatFs.doStat(StatFs.java:51)
  3. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.os.StatFs.<init>(StatFs.java:41)
  4. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at com.blankj.utilcode.util.FileUtils.getFsTotalSize(FileUtils.java:1415)
  5. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at com.blankj.utilcode.util.UtilsBridge.getFsTotalSize(UtilsBridge.java:305)
  6. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at com.blankj.utilcode.util.SDCardUtils$SDCardInfo.<init>(SDCardUtils.java:177)
  7. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at com.blankj.utilcode.util.SDCardUtils.getSDCardInfo(SDCardUtils.java:68)
  8. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at com.blankj.utilcode.util.SDCardUtils.getMountedSDCardPath(SDCardUtils.java:116)
  9. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
  10. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5939)
  11. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: ... 8 more
  12. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: Caused by: android.system.ErrnoException: statvfs failed: ENOENT (No such file or directory)
  13. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at libcore.io.Linux.statvfs(Native Method)
  14. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at libcore.io.BlockGuardOs.statvfs(BlockGuardOs.java:333)
  15. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.system.Os.statvfs(Os.java:570)
  16. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: at android.os.StatFs.doStat(StatFs.java:49)
  17. 2023-02-17 09:19:36.588 2865 2865 E AndroidRuntime: ... 19 more
展开查看全部
eqoofvh9

eqoofvh92#

Please accept this pull request as soon as possible.

@Blankj

相关问题