集成器开发套件 (IDK) 归档文件包含开始构建和运行 Fuchsia 程序所需的 Fuchsia 特定库、FIDL 接口和工具。
此 IDK 是 Fuchsia 平台的公开定义。它有意独立于特定的 build 环境,旨在帮助将 Fuchsia 集成到特定开发者环境中的集成和工程生产团队。例如,它不包含任何 build 系统,不偏好任何工具链,也不提供标准非 Fuchsia 库(例如用于加密或图形的库)。 相反,它会提供准确描述其各个部分的元数据,以便通过特定工具和支持库处理和扩充 IDK,从而打造端到端的开发体验。
大多数希望为 Fuchsia 构建应用的开发者都不需要直接处理 IDK。相反,它们会使用转换后的版本,例如在支持特定语言运行时的开发环境和生态系统中。 希望添加对 Fuchsia 支持的开发环境维护者是 IDK 的主要受众群体。如需了解如何处理此 IDK,请参阅集成核心 SDK。
因此,Fuchsia IDK 代表了 Fuchsia 平台开发者与使用 Fuchsia 的其他开发者之间的合约。虽然该合约是绝对必要的,因为此 IDK 包含 Fuchsia 特有的位,但它并不足够,还需要其他“合约”来补充。 Fuchsia IDK 在这方面与 Fuchsia 平台类似:高度可组合和可扩展,关注点清晰分离。
结构
从现在开始,IDK 归档的根目录将称为 //。
元数据
元数据以 JSON 文件的形式存在于整个 IDK 中。
此 IDK 中的每个元素都有自己的元数据文件:例如,FIDL 库 //fidl/fuchsia.foobar 的元数据编码在 //fidl/fuchsia.foobar/meta.json 中。
每个元数据文件都遵循 //meta/schemas 下提供的 JSON 架构;例如,FIDL 库的元数据文件符合 //meta/schemas/fidl_library.json。架构充当元数据的文档,可用于简化 IDK 提取流程。请参阅了解元数据。
文档
常规文档可在 IDK 分发版中的 //docs 下找到,也可在线访问 fuchsia.dev/fuchsia-src/docs/development/idk。某些 IDK 元素也会直接在 IDK 中托管的路径下提供文档。
目标预构建
目标预构建件托管在 //arch/<architecture> 下。这包括适用于每种可用架构的完整 sysroot。
源库
IDK 包含大量 FIDL 库(位于 //fidl 下)以及一些 C/C++ 库(位于 //pkg 下)的源代码。如需了解详情,请参阅编译 C/C++。
主机工具
您可以在 //tools 下找到多个主机端工具。
这包括用于构建程序、部署到设备、调试等的工具。有关如何使用这些工具的一些信息可在 //docs 下找到。具体而言:
图片
//device 包含描述与给定 IDK 版本匹配的设备配置的元数据。
此元数据包含可铺砌到上述设备的映像的指针。
如需了解如何与运行 Fuchsia 的设备互动,请参阅使用设备。