【发布时间】:2018-04-10 16:23:38
【问题描述】:
我手机存储中的一些文件夹包含如下文件:
- dzG럫saᡑῑ.sg
- 존Ὣ 졼).sg
因此,当我尝试使用 File.listFiles() 函数从该文件夹中读取文件时,我的应用程序崩溃了:
在应用程序中检测到 JNI 错误:输入无效修改 UTF-8: 非法起始字节......字符串:'dzG럫saᡑῑ.sg'
我发现是哪个应用创建了它们,但这并不重要,例如,如果其他用户的手机内存中有类似的文件,我不能只要求他们删除它
我只是想避免应用崩溃
即使 try...catch 也无济于事(导致 JNI/LINUX/C++ 出错):
try {
... = dir.listFiles();
} catch (RuntimeException e) {
//
}
那么我该如何解决这个问题呢?
同样的问题File.listFiles crashes for invalid UTF-8 characters
但是用签名apk回答不好,它与这个问题有什么关系? 还有其他解决方案吗?
似乎调试 apk 是自动签名的(带有调试证书):
从 IDE 运行或调试项目时,Android Studio 使用由 Android SDK 工具。第一次运行或调试项目时 Android Studio,IDE 会自动创建调试密钥库和 $HOME/.android/debug.keystore 中的证书,并设置密钥库 和密钥。
【问题讨论】:
-
你有解决这个问题的办法吗?
-
如果你有解决方案,请在这里分享...
-
@user924 你解决了吗?如何?请在这里分享..