Android 如果我使用 C 代码,Studio 无法调试

Android Studio can't debug if I use C code

Android 如果我通过 JNI 使用 C 代码,Studio 无法启动调试器。 运行 它通常运行良好,但调试器甚至无法启动,无论我是在调试 Kotlin 还是 C 代码。

它抛出一条消息Debugger process finished with exit code 127. Rerun 'app' 它给我的唯一细节是 com.intellij.execution.ExecutionFinishedException: Execution finished.

我在这里设置了一个简单的 github 存储库来复制错误:https://github.com/perojas3/Android-JNI-debug-bug-example。它只是调用 C 代码来获取字符串,然后将其显示在 toast 中。

我在这里设置了一个小的 youtube 视频来展示错误的发生方式:https://youtu.be/8jIL5yqP7m8

我现在正在使用 Manjaro Linux。

我也有这个问题。 我能够 运行 并正常调试我的代码,但由于某种原因,我在 运行 处于调试模式时开始遇到此崩溃:

Debugger process finished with exit code 127

在 Android Studio 的设置和编辑配置、清除缓存、重新启动 Android Studio 和计算机以及许多其他操作之后,没有任何帮助。

我为此苦苦挣扎,而且在任何地方都没有关于它的讨论这一事实让我很恼火,所以在升级到 Android Studio 后没有在线信息以及之前对它发生的感觉4.2,让我觉得这可能是 Android Studio 的新 4.2 版本中提出的一个新问题。

所以,我决定下载 Android Studio 4.1.3 并试一试。它像魔术一样工作,我终于可以调试我的代码了:)

我遇到了同样的问题,安装 libncurses5 包解决了。

如果使用 Ubuntu:sudo apt install libncurses5 并再次启动调试器(不需要 android 工作室重新启动)。