我正在尝试在模拟器上运行我的应用程序。它曾经工作,但现在它没有正确加载。我得到的调试错误是:
static = libcore.io.Posix
Exception = {android.system.ErrnoException@3564}
当我右键单击Exception行和Copy Value时,我得到:
android.system.ErrnoException: stat failed: ENOENT (No such file or directory)
我的应用程序没有任何已编程的文件,因此异常必须与系统所需的内容相关。
回顾LogCat我得到了ENOENT的匹配,以前的几行是:
com.google.process.location W/art? Suspending all threads took: 7.795ms
com.google.process.location I/art? Background partial concurrent mark sweep GC freed 2094(165KB) AllocSpace objects, 0(0B) LOS objects, 40% free, 3MB/5MB, paused 9.486ms total 274.854ms
com.google.process.location I/GCoreUlr? DispatchingService.onCreate()
com.google.process.location I/GCoreUlr? WorldUpdater received intent Intent { act=com.google.android.location.reporting.ACTION_UPDATE_WORLD cmp=com.google.android.gms/com.google.android.location.reporting.service.DispatchingService (has extras) } with receiverAction android.location.PROVIDERS_CHANGED
com.google.process.location E/copresGcore? Couldn't load settings: /data/data/com.google.android.gms/files/copresence_settings: open failed: ENOENT (No such file or directory)
我看不到它无法读取/写入的文件。我没有任何文件IO编程,但我使用sqlite3,也许到系统找不到数据库文件。
为了缓解此错误一段时间我在Android Studio中创建了一个新项目。关闭AS并将我的源文件复制到新的AS项目中。然后当我运行新项目时,错误消失了。经过几个小时的编程和编辑后,它又回来了。
我已经在互联网上寻找解决方案2天,但没有成功。任何帮助将不胜感激。
进一步详情:
如果我在模拟器或设备上运行(不调试)应用程序
如果我在模拟器或设备上运行/调试它会崩溃同样的libcore异常
部分结论:它与调试有关。
我以为我遇到过一种解决方法:
这工作一次然后出现了libcore错误。这种解决方法并不好,即使它有效,因为编辑运行/周期太长。
我认为唯一的方法是断断谷歌来源以确定它的除外情况。我花了很多时间在互联网上搜索如何做到这一点没有成功。如果有人能指出我的相关文章,我将不胜感激。
答案 0 :(得分:29)
我提出了Android开源项目问题126510.jcossi的评论... @ gmail.com给出了答案。我打开了“Java异常断点”并选中了“任何异常”。这在重新启动项目时导致了问题。我似乎应用程序可能不仅使用异常处理错误。因此,如果您使用“任何例外”,请务必记住尽快再次禁用它。
答案 1 :(得分:0)
这个答案给了我很多帮助,但我发现我必须取消选中框右侧的其他一些字段。
似乎这应该是Android Studio中的一个错误 - 使用提供的功能会禁用调试器,没有明显的原因或警告。