1.安装其他项目到可扩展SDK
原生的可扩展SDK通常仅带有少量工具和库。最小的SDK开始时几乎是空的,并且是按需填充的。有时,你必须将额外的项目明确地安装到SDK中。如果需要这些额外的项目,则可以先使用devtool search命令搜索这些项目。 例如,假设需要链接到libGL,但不确定哪个配方提供libGL。可以使用以下命令来查找:
$ devtool search libGL mesa
只要知道OpenGL API的开源实现的recie(即本示例中的mesa),就可以直接安装它:
$ devtool sdk-install mesa
默认情况下,devtool sdk-install命令假定该项目可从你的SDK提供程序以预构建的形式获得。如果该项目不可用,并且可以从源代码构建该项目,可以添加“-s”选项,如下所示:
$ devtool sdk-install -s mesa
需要知道的是,从源代码构建项目要比安装预构建器件花费的时间更长。另外,如果要添加到SDK的项目不存在配方,则必须使用devtool add命令添加该项目。
2.将更新应用到已安装的可拓展SDK
如果使用的是偶尔更新的已安装的可扩展SDK(例如第三方SDK),则需要手动将更新pull down到已安装的SDK中。
使用如下命令,更新已安装的SDK:
$ devtool sdk-update
上述命令假定你的SDK提供程序已通过SDK_UPDATE_URL变量为你设置了默认更新URL,如Providing Updates to the Extensible SDK After Installation部分所述。如果SDK提供程序未设置该默认URL,则需要在命令中自行指定,如下所示:
$ devtool sdk-update path_to_update_directory
注意:
URL需要专门指向已发布的SDK,而不是要下载和安装的SDK安装程序。
3.创建具有其他组件的衍生SDK
首先,需要生成一个包含自定义库的SDK。如下是一个很好的例子,如果你是厂商,客户使用你的SDK来构建自己特定于平台的软件,而这些客户需要具有自定义库的SDK。在这种情况下,可以按照以下步骤,基于当前安装的SDK生成衍生SDK:
- 安装一个可拓展SDK,并以此为基础生成你的衍生SDK。
- SDK环境配置脚本。
- 使用devtool add命令添加所需的额外库或其他组件。
- 运行devtool build-sdk命令。
上述步骤将recipes添加到工作区,并构造一个新的SDK安装程序,其中包含这些配方和生成的二进制组件。recipes进入已构建的派生SDK的各自的隔离层中,从而使工作区干净,并可供用户添加自己的配方。