【问题标题】:Android-Studio: Java logs missing when debugging JNIAndroid-Studio:调试 JNI 时缺少 Java 日志
【发布时间】:2016-10-19 14:57:41
【问题描述】:

在我将 AndroidStudio 更新到 2.2.1 并将我的项目更新为使用最新的 gradle (2.14.1) 和 gradle-plugin (2.2.1) 并实现了一些 cpp/jni 代码后,我在 AndroidStudio 中遇到了问题(CMakeList 设置)。

在我进行此更改之前,当我开始调试我的应用程序时,AndroidStudio 会打开一个“调试”面板,其中包含一个显示来自 java 的日志的控制台。

现在在更新和 cpp 集成之后,这个调试面板仍然打开,但现在我有 2 个选项卡,每个选项卡都包含一个控制台(1 个用于 cpp,1 个用于 java 输出)。但是 java 控制台停止显示我的任何 java 日志。 打印到此控制台的所有内容是: Connected to the target VM, address: 'localhost:8600', transport: 'socket'

在 cpp 控制台中,我得到了几行输出。这包含来自 apk 安装过程的日志($adb push ... $adb shell pm install ... $adb shell am start ...),还有一些日志告诉我它正在等待应用程序上线,然后启动 LLDB 服务器并最终将调试器附加到进程。

我可以在 java 和 cpp 中设置断点,只是 java 日志停止工作。

我感觉我遗漏了一些明显的东西。

希望有人以前见过这个问题,并能告诉我如何让我的 java 日志重新显示在其中一个控制台中。

[更新:] 当我只运行 apk 而不是调试时,“运行”面板的控制台会显示来自 cpp 和 java 的日志。只有在调试时,我没有得到任何日志。既不是来自cpp,也不是来自java。

【问题讨论】:

    标签: java android android-studio gradle java-native-interface


    【解决方案1】:

    好的。调试时,我可以在“logcat”-console(“Android Monitor”-tab)中看到我的 java 和 cpp 日志。我确实将过滤器设置为“详细”和“仅显示选定的应用程序”。 当然还需要选择应用程序(“Android Monitor”面板顶部的下拉菜单)。

    我认为这更像是一种解决方法,而不是我的问题的答案。 如果我能在调试面板中看到日志会更好,因此它们在 cpp 和 java 之间是分开的)。

    【讨论】:

    • StackOverflow 不是论坛。如果您想添加信息,请不要误用答案 - 改为编辑查询问题!
    • 你可能是对的。另一方面,我发布的答案可能是我的问题的答案。例如在调试 JNI 时,使用 logcat 控制台可能是日志的唯一选项。好吧,我不能确定,所以把它作为答案可能是错误的。无论如何,感谢您指出这一点,而不仅仅是在没有消息的情况下投反对票...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多