Android 上的本机调试

Native debug on Android

自从我上次需要在 Android 上调试任何本机应用程序已经有几年了。在四处寻找之后,我发现 this Google 引用指的是 gdbservergdbclient.py

我在NDK中找到了前者

$NDK/prebuilt/android-arm[64]/gdbserver/gdbserver

而SDK中的后者

$SDK/development/scripts/gdbclient.py

当我去 运行 我遇到的 python 脚本时:

$ python gdbclient.py
Traceback (most recent call last):
  File "gdbclient.py", line 27, in <module>
    import gdbrunner
ImportError: No module named gdbrunner

我这辈子都找不到任何关于 gdbrunner 是什么的信息。我也没有在 [S/N]DKs.

中找到对它的任何其他引用

有什么想法吗?是否有另一种方法可以调试不依赖于此脚本的 Android 的本机组件?

恐怕我在 NDK 中忽略了它。我一定一直在使用旧版本。 gdbrunner 包位于

$NDK/python-packages/gdbrunner

以及其他有用的东西。

你可以试试这个:

1.in app/build.gradle:

在依赖标签:

releaseCompile project(path: ':youModuleName', configuration: 'release')
debugCompile project(path: ':youModuleName', configuration: 'debug')

2.in youModule/build.gradle:

在 android 标签:

publishNonDefault true

演示:

https://github.com/sunalong/JNIDemo