Android-Studio:调试JNI

时间:2016-10-19 14:57:41

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

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

在我做这个更改之前,当我开始调试我的应用程序时,AndroidStudio会打开一个" debug"带有显示来自java的日志的控制台的面板。

现在在更新和cpp集成之后,这个调试面板仍然打开,但现在我有两个选项卡,每个选项卡包含一个控制台(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而不是调试时,"运行"的控制台panel显示来自cpp和java的日志。只有在调试时,我才会收到日志。既不是来自cpp也不来自java。

1 个答案:

答案 0 :(得分:-1)

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

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