android - 如何在Android studio中为预构建库设置本地cpp源路径

标签 android debugging native prebuild

我创建了一个应用程序,其中包含我们的源代码作为 native 库(so 文件)。我能够进入它,并且到目前为止,使用此代码一切正常。

这个 native 库链接到另一个 native 库,该库是在另一台计算机上预先构建的,我将其复制到 jni-abi-文件夹中。我已经在与我的项目并行的不同文件夹中检查了该 so 文件的 svn 存储库,并且还需要能够对其进行调试。

当我现在进行中断时,我可以在调用堆栈中看到方法名称,因此我假设可以加载符号,但 Android Studio 不知道在哪里可以找到源文件。

在 Visual Studio 下,当我进行中断时,我可以在符号路径中指定符号,然后会出现一个错误,我应该导航到相应的源文件。然后我只需要导航到该文件夹​​,它就可以工作了。

如何使用 Android Studio 完成此操作 - 我安装了最新版本 3.2.1。

最佳答案

我终于找到了解决办法。

  1. 我从同事那里得到了一个剥离版本,他基本上给了我他的 apk 中被剥离的版本。现在他直接给了我构建版本(我认为它位于中间目录左右的某个位置,只需搜索库的名称)。
  2. 在运行\编辑配置\调试器\LLDB启动命令下,原始源目录可以映射到我的计算机上的源目录,这是不同的。要实现此目的,请输入“settings set target.source-map or-dir cur-dir”

应该有办法从so文件中找出原始源目录,但我现在不知道。

我希望这可以帮助别人

关于android - 如何在Android studio中为预构建库设置本地cpp源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53371914/

相关文章:

android - 尽管有 configChanges 设置,onDestroy 在轮换时被调用

android - ADT 是否支持 Java 7 API

android - Android 中应用程序关闭后语言设置为默认值

r - 如何编辑和调试R库源代码

c++ - webrtc native 应用程序中的每个对等点是否需要单独的 rtc::Runnable 线程和 PeerConnectionFactory 对象?

java - 访问存储在java中内存位置的数据

安卓 WebView : Override Contextual Action Bar

visual-studio - 未添加断点 blazor wasm 项目 Visual Studio 2019 16.10.1 sdk 5.0.301

debugging - 如何在 Visual Studio Code 中调试 C++ 代码

javascript - 为什么我的笑脸解析代码调用原生 javascript 函数?