从26.0.1版本开始,DevEco Studio支持批量导入和批量移除基于CMake工程构建生成的so库。若当前工程引用了其他工程模块构建的so库,开发者在当前工程中批量导入so库后,可直接查看so库的源码,实现代码阅读、断点调试与问题定位等功能,避免在多个工程间来回切换,提升开发效率。
导入其他工程模块so库时,DevEco Studio根据so库的CMake工程的构建信息,将so库的源码关联到当前工程。
CMake工程的构建目录中需包含compile_commands.json文件、CMake File API的请求文件、CMake File API的响应文件,具体说明如下:
文件 | 说明 |
|---|---|
compile_commands.json | 编译数据库文件,用于记录每个源文件的编译命令、头文件路径和宏定义。 存放路径:构建目录/compile_commands.json。 |
CMake File API的请求文件 | 用来通知CMake在配置阶段所需的构建信息。 存放路径:构建目录/.cmake/api/v1/query/codemodel-v2。 |
CMake File API的响应文件 | 由CMake在配置阶段自动生成,以.json格式文件描述构建系统的结构信息,提供给DevEco Studio解析,实现代码阅读、断点调试与问题定位等功能。 存放路径:构建目录/.cmake/api/v1/reply/。 |
执行如下命令生成compile_commands.json文件和codemodel的相关文件:
mkdir build_ohos
cmake -E make_directory build_ohos/.cmake/api/v1/query cmake -E touch build_ohos/.cmake/api/v1/query/codemodel-v2
cmake -S entry/src/main/cpp -B build_ohos -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE="deveco安装目录/deveco-studio/sdk/default/openharmony/native/build/cmake/ohos.toolchain.cmake" -G Ninja
cmake --build build_ohos








