【发布时间】:2015-04-20 13:18:54
【问题描述】:
我正在使用 NDK 开发 android 应用程序。我有两个项目。一个是我的原生库,它使用 NDK 并生成 .so 文件。
我正在使用 Android Studio,但禁用了自动构建并使用 ndk-build 启用了构建。我使用的是 Windows 7。
现在,在生成 .so 文件后,我将它们复制到我的主应用程序项目中,该项目还使用 ndk-build 编译 JNI 函数,我在其中调用我的库的函数。我希望我在这一点上是干净的。如果没有,我会根据要求提供更多详细信息。
现在我正在使用 Android Studio 在设备中运行我的应用程序,我可以在 java 代码中设置断点并调试该代码,但我无法调试 JNI 调用以及我在单独项目中拥有的本机代码。我需要在我的库代码中进行调试。那么有什么办法可以实现呢?
我看过 VisualGDB,但它是付费的。所以让我知道是否有任何替代方案可以完全满足我的调试要求。我搜索了很多但没有得到任何具体的解决方案。
我可以在 Android Studio 中看到附加到 android 进程的选项,我可以在其中看到我正在运行的设备,但我不确定如何使用它,因此我可以通过本机库代码进行调试(它位于单独的项目中,没有任何活动)。
如果需要更多细节,请告诉我
【问题讨论】:
-
AFAIK,在 android studio 中无法进行原生调试。顺便说一句,如果您在问题中添加一些格式并使其不那么“密集”,就会有更多人阅读它。
-
@JonasCz 其实就是现在,看下面妹子的回答
-
@Premal,我看到没有公认的答案,在从第二个项目的一个项目中调试 .so 时,是否有任何建议的解决方案有效?
标签: android android-studio android-ndk