我正在尝试调试(从Windows)Android应用程序中提供的本机库(使用NDK v13b构建)。该库是在Android Studio之外构建的,它不使用Gradle(使用CMake)。
我的库是用调试构建的; Studio中的调试配置是Hybrid,我给出了相应的符号目录。要“导入”我的库,我只需将项目目录中的.so
和.jar
文件复制到适当的位置(libs
为JAR,jniLibs
为SO )。
当库是在单独的机器(Linux)上构建的时候,只要我重新映射源位置(即使用settings set target.source-map
),我就可以一步一步地完成任务。
但是,当我在Windows系统上构建库时,一步一步不再有效。
我注意到了使用“内置Linux”或“内置Windows”库进行调试时的行为差异。使用from-Linux进行调试时,LLDB命令image list
表示库路径位于初始构建目录中。但是,在调试来自Windows的时,它位于C:\Users\foo\.lldb\module_cache\remote-android\.cache...
。这个版本的库似乎被删除了。
为什么这种行为的差异? 我怎样才能1.在模块缓存中使用我的库的原始副本,或者2.直接使用构建库?
谢谢,