作者:黄勋佩淑青宜合 | 来源:互联网 | 2023-05-21 12:49
我正在使用NDK开发Android应用程序.我有两个项目.一个是我的本机库,它使用NDK并生成.so文件.
我正在使用Android Studio,但是使用ndk-build禁用自动构建和启用构建.我使用的是Windows 7.
现在生成.so文件后,我复制了我的主应用程序项目中的那些,它也使用ndk-build编译JNI函数,我在其中调用我的库的函数.我希望到目前为止我很干净.如果没有,那么我会根据要求提供更多细节.
现在我正在使用Android Studio在设备中运行我的应用程序,我可以在java代码中设置断点并调试该代码,但我无法调试JNI调用以及我在单独项目中的本机代码.我需要在我的库代码中调试.有没有办法实现这个目标?
我见过VisualGDB,但付费.所以让我知道是否有任何替代方案来满足我的调试要求.我已经搜索了很多但没有得到任何具体的解决方案.
我可以看到Android Studio中的选项附加到android进程,我可以看到我的运行设备,但我不知道如何使用它,所以我可以通过本机库代码进行调试(这是在没有任何活动的单独项目中).
如果需要更多详细信息,请与我们联系
1> Sistr..:
在Android Studio 2.0预览中,该过程有点不同(我认为更容易):
安装"LLDB":进入工具 - > Android-> SDK管理器,然后进入"SDK工具"选项卡,确保选中"LLDB"(通常在列表末尾附近)
选择一个/"Debug"变体:在AS的左下角,单击"Build Variants",默认调试变量称为"Debug"
选择本机配置:运行按钮的左侧(绿色三角形),默认本机配置称为"app-native"
设置断点
通过单击运行按钮右侧的小错误启动调试中的应用程序.
如果它不起作用,请检查您的本机配置是否选择了调试类型"Hybrid":在播放按钮的右侧,单击小三角形,选择"编辑配置",选择"app-native"配置,进入在"Debugger"选项卡中选择"Debug type:Hybrid".