构建和运行会话

会话是在启动时启动的第一个产品专用组件。会话组件负责打造产品的用户体验。

启动到会话

如需启动进入会话,请执行以下操作:

  1. 为了让会话在启动时运行,您需要使用会话的网址配置产品 build。确定会话的组件网址:

    
       fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm
    

    替换以下内容:

    • pkg-name:软件包名称
    • your_session.cm:会话的名称,包括 .cm 扩展名。

    如需了解详情,请参阅 fuchsia-pkg软件包名称

  2. 运行以下命令,在基础映像中添加 session_manageryour_session,配置 session_manager 以启动会话:

    
      fx set product.board \
         --with-base=//src/session/bin/session_manager \
         --with-base=//path/to/your/session \
         --args=product_config.session_url="fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm"
    

    fx list-productsfx list-boards 将显示可在 fx set 命令中使用的产品和主板的列表。如需详细了解 fx 命令,请参阅 fx 文档

  3. 重新构建并重新铺路设备。

    fx build
    fx ota
    

    这会使 session_manager 启动并启动您的会话。

有关构建会话组件的完整说明,请参阅编写 Hello World 会话

从命令行启动会话

在某些情况下,您不希望会话在启动时启动,但仍然希望能够从命令行启动会话。session_manager 需要运行才能启动会话。session_manager 目标可确保 session_manager 本身启动,但不会启动会话。

如需从命令行启动会话,请执行以下操作:

  1. 除会话目标之外,还应在基本依赖项集中添加 session_manager 目标。

    fx set product.board --with-base=//src/session/bin/session_manager --with=//path/to/your/session

    fx list-productsfx list-boards 将显示可在 fx set 命令中使用的产品和主板的列表。如需详细了解 fx 命令,请参阅 fx 文档

  2. 运行以下命令以重新构建并重新编译设备:

    fx build
    fx ota
    

    这会导致 session_manager 在未启动会话的情况下启动。

  3. 现在,您可以从命令行启动会话了。

    运行以下命令以启动会话:

    ffx session launch fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm

    如需详细了解 ffx session 命令,请运行 ffx session --help。如需详细了解 ffx,请参阅 ffx documentation