目录

批量导入和批量移除so库

从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的相关文件:

  1. 在工程目录内创建构建目录,如build_ohos。

    mkdir build_ohos

  2. 创建CMake File API的请求文件。

    cmake -E make_directory build_ohos/.cmake/api/v1/query
    cmake -E touch build_ohos/.cmake/api/v1/query/codemodel-v2

  3. CMake配置。

    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

  4. 编译。

    cmake --build build_ohos

  5. 构建目录结构如下。

批量导入so库

  1. 点击左侧导航栏的Project展开工程目录,将需要导入的so库文件复制到模块的libs目录下。

  2. 点击File > Sync and Refresh Project进行工程同步。

  3. 在External Libraries上右键,点击Import Source Code of .so Library。

  4. 点击.so Mapping File尾部的文件夹图标,打开文件资源管理器。

  5. 选择CMake项目的配置描述文件codemodel-v2-xxxx.json(文件路径为构建目录路径/.cmake/api/v1/reply/codemodel-v2-xxxx.json),点击OK。

  6. 工具自动解析并展示匹配的so库,可选择单个或多个so库,也可在搜索栏输入关键字搜索,勾选后点击OK。

  7. 导入完成后,点击OK确认。

  8. 点击File > Sync and Refresh Project进行工程同步, 等待索引完成。

批量移除so库

  1. 点击左侧导航栏的Project展开工程目录,在External Libraries上右键,点击Remove SO。

  2. 在弹出的对话框中,列表仅展示已成功导入的so库,可直接勾选或通过搜索框过滤,选中需移除的so库,点击OK。

  3. 移除操作完成后,点击OK确认。

  4. 同步工程

    点击File,选择Sync and Refresh Project进行工程同步,然后等待索引完成。