手机存储空间中的某些文件夹包含以下文件:
因此,当我尝试使用File.listFiles()
函数从此文件夹中读取文件时,我的应用程序崩溃了:
应用程序中的JNI检测错误:输入无效修改的UTF-8: 非法启动字节......字符串:'dzG럫saᡑῑ.sg'
我发现哪个应用创建了它们,但没关系,例如,如果其他用户的手机内存中有相似的文件,我不能让他们删除它
我只是想避免应用崩溃
即使尝试... catch也无济于事(导致JNI / LINUX / C ++出错):
try {
... = dir.listFiles();
} catch (RuntimeException e) {
//
}
那我该如何解决这个问题?
同样的问题File.listFiles crashes for invalid UTF-8 characters
但是回复签名apk并不好,它甚至与这个问题有什么关系? 还有其他解决方案吗?
似乎debug apk自动签名(带有调试证书):
从IDE,Android Studio运行或调试项目时 使用生成的调试证书自动为您的APK签名 Android SDK工具。第一次运行或调试项目时 Android Studio,IDE自动创建调试密钥库和 $ HOME / .android / debug.keystore中的证书,并设置密钥库 和密码。
答案 0 :(得分:0)
作为API> = 26的解决方法,您可以使用DirectoryStream