我创建了一个应用程序,其中包含我们的源代码作为 native 库(so 文件)。我能够进入它,并且到目前为止,使用此代码一切正常。
这个 native 库链接到另一个 native 库,该库是在另一台计算机上预先构建的,我将其复制到 jni-abi-文件夹中。我已经在与我的项目并行的不同文件夹中检查了该 so 文件的 svn 存储库,并且还需要能够对其进行调试。
当我现在进行中断时,我可以在调用堆栈中看到方法名称,因此我假设可以加载符号,但 Android Studio 不知道在哪里可以找到源文件。
在 Visual Studio 下,当我进行中断时,我可以在符号路径中指定符号,然后会出现一个错误,我应该导航到相应的源文件。然后我只需要导航到该文件夹,它就可以工作了。
如何使用 Android Studio 完成此操作 - 我安装了最新版本 3.2.1。
最佳答案
我终于找到了解决办法。
- 我从同事那里得到了一个剥离版本,他基本上给了我他的 apk 中被剥离的版本。现在他直接给了我构建版本(我认为它位于中间目录左右的某个位置,只需搜索库的名称)。
- 在运行\编辑配置\调试器\LLDB启动命令下,原始源目录可以映射到我的计算机上的源目录,这是不同的。要实现此目的,请输入“settings set target.source-map or-dir cur-dir”
应该有办法从so文件中找出原始源目录,但我现在不知道。
我希望这可以帮助别人
关于android - 如何在Android studio中为预构建库设置本地cpp源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53371914/