Package Manager

Package Manager 是一个用于共享和管理可复用软件组件及资产,并支持跨平台应用程序和插件开发的工具。您可以使用它安装、更新和移除工程依赖项,例如:

  • Kanzi Engine 库和头文件

  • Kanzi Engine 插件

  • Kanzi Studio 插件

  • 资产包

备注

Package Manager 自 Kanzi 4.1 起可用。

安装 Package Manager

Kanzi 安装程序会在安装后的可选步骤中安装 Package Manager。请参阅 使用 Kanzi Package Manager 安装 Kanzi。

Package Manager 安装完成后,它已:

  • 安装 Conan 2.10.0。

  • 添加了 Conan 远程仓库:

    • kanzi-conan-external:官方 Kanzi 发布包

    • kanzi-community-packages:社区包

  • 添加 Kanzi 所需的 Conan 配置文件 (profile) 和配置。

  • 安装了 Package Manager Kanzi Studio 插件。

安装成功后,Package Manager 将出现在 Kanzi Studio 主菜单中。

../../_images/main-menu-package-manager-open.png

Kanzi Studio 的 Package Manager 插件

Kanzi Studio 的 Package Manager 提供了用于处理 Conan 仓库和包的图形界面。使用该插件,您无需手动使用命令行指令或编辑配置文件。

支持的包类型

该插件可识别不同的包类型,并按如下方式处理:

  • 将 Kanzi Engine 插件添加为工程依赖项。

  • 将 Kanzi Studio 插件添加为当前 Kanzi Studio 实例的依赖项。

  • 将资产包添加为当前 Kanzi Studio 实例的资产来源。

自动检测包

该插件会自动检测 packages.json 文件中的更改,并通知您 Kanzi Studio 工程的库需要进行哪些更新。

资产包中的 Kanzi Engine 插件

该插件允许您在资产包中将 Kanzi Engine 插件添加为依赖项。导入此类资产包时,Kanzi 会自动将所需的 Kanzi Engine 插件添加到工程中。

请参阅 使用 Package Manager Kanzi Studio 插件

支持 Package Manager 的应用程序模板

Kanzi Studio 应用程序模板支持两种提供 Kanzi Engine 及其依赖项的方式,您只需通过一个 CMake 设置即可在两者之间进行选择:

  • SDK 工作流 (默认)- 从您计算机上安装的 Kanzi SDK 解析 Kanzi Engine。

  • Package Manager 工作流 - 通过 Package Manager 将 Kanzi Engine 及其依赖项作为 Conan 包进行解析。

在配置工程时,使用 CMake 变量 KANZI_RESOLVER 选择工作流:

  • cmake (默认)使用已安装的 Kanzi SDK。

  • kpm 使用 Package Manager。

例如,要使用 Package Manager 工作流构建工程,请使用 -DKANZI_RESOLVER=kpm 配置工程。如果之后要切换工作流,请使用另一个值重新配置工程。

从 Kanzi 4.1 开始,此开关已内置于标准应用程序模板中,这些模板取代了早期版本中单独的 Conan 专用模板。

备注

在 Android 上,Kanzi Studio 工程带有等效的 Gradle 属性 kanzi.resolver (cmake 或 kpm);模板的 Gradle 构建使用相同的选择。

将工程迁移到更新的 Kanzi 版本

安装新版本的 Kanzi 后,您可以迁移工程以使用该版本。

要将工程迁移到更新的 Kanzi 版本:

  1. 安装更新的 Kanzi 版本。您可以将其与现有版本并行安装。

  2. 在更新的 Kanzi Studio 中打开您的工程。

  3. 如果较新版本包含破坏性更改,请按照该版本的迁移指南操作。请参阅 Kanzi 4.1.0 迁移指南。

当您打开使用早期版本 Kanzi Studio 创建的工程时,新版本 Kanzi Studio 会显示一个对话框,要求您确认迁移该工程。确认后,Kanzi Studio 会将工程更新到新版本。

备注

  • 迁移工程时,Kanzi Studio 会自动更新工程的 packages.json,使其从与 Kanzi Studio 所用版本相同的 Kanzi 版本获取依赖项。

  • 如果您发布了自己的 Kanzi Engine 插件或资产包,请在迁移之前针对新的 Kanzi 版本重新部署它们。否则,更新时将没有可供 packages.json 指向的匹配包。

已知问题

  • Package Manager 安装程序目前会覆盖 Conan 缓存中的 Conan 配置,其中包括 Conan 配置文件、模板和扩展。如果您的现有配置中有与 Kanzi 所需元素相同的元素,安装 Package Manager 时安装程序会覆盖这些元素。

  • Kanzi Package Manager 仅使用默认的 Conan 2 缓存路径,不配置自定义路径。如果您已安装 Conan 2 且未配置自定义缓存路径,则您将与 Kanzi Package Manager 共享该默认缓存。这种情况虽然少见,但可能导致包引用冲突,或使 Kanzi Package Manager 修改缓存中已有的内容。

排除问题

在某些情况下,Package Manager 安装程序可能会失败或无响应。如果发生这种情况:

  1. 清除您计算机上的 Conan 缓存,其位于 C:\Users\<admin>\.conan2\。

  2. 重新运行 Kanzi SDK 安装程序以重新安装 Package Manager。

另请参阅

使用 Package Manager Kanzi Studio 插件

使用 Package Manager 创建和部署资产包

使用 Package Manager 创建和部署 Engine 插件