工作階段是指在啟動時啟動的首個產品專屬元件。工作階段元件負責建構產品的使用者體驗。
啟動至工作階段
如要啟動工作階段,請按照下列步驟操作:
如要讓工作階段在啟動時執行,您必須使用工作階段的網址設定產品版本。找出工作階段的元件網址:
fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm請將下列內容替換為:
- pkg-name:套件名稱
- your_session.cm:工作階段名稱,包括
.cm副檔名。
詳情請參閱「
fuchsia-pkg」和「套件名稱」。更新
//local/BUILD.gn以加入product_assembly_overrides。import("//build/assembly/developer_overrides.gni") assembly_developer_overrides("custom_session") { base_packages = [ "//path/to/your/session" ] platform = { session = { enabled = true } } product = { session = { url = "fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm" } } }執行下列指令,在基礎映像檔中加入
your_session,並設定您在//local:custom_session中定義的設定值。fx set product.board --assembly-override=//local:custom_sessionfx list-products和fx list-boards會顯示可在fx set指令中使用的產品和電路板清單。如要進一步瞭解fx指令,請參閱 fx 說明文件。重新建構並重新鋪設裝置。
fx build fx ota這會導致
session_manager啟動並啟動工作階段。
如需建立工作階段元件的完整說明,請參閱「撰寫 Hello World 工作階段」。
透過指令列啟動工作階段
在某些情況下,您可能不希望工作階段在啟動時啟動,但仍希望能夠透過指令列啟動工作階段。session_manager 需要處於執行狀態才能啟動工作階段。session_manager 目標可確保 session_manager 本身啟動,但不會自動啟動工作階段。
如要透過指令列啟動工作階段,請按照下列步驟操作:
使用
autolaunch將//local/BUILD.gn更新為product_assembly_overrides。import("//build/assembly/developer_overrides.gni") assembly_developer_overrides("custom_session") { base_packages = [ "//path/to/your/session" ] platform = { session = { enabled = true autolaunch = false } } product = { session = { url = "fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm" } } }除了工作階段目標外,還要在基礎依附元件集中新增
session_manager目標。fx set product.board --assembly-override=//local:custom_sessionfx list-products和fx list-boards會顯示可在fx set指令中使用的產品和電路板清單。如要進一步瞭解fx指令,請參閱 fx 說明文件。執行下列指令,重新建構並重新鋪設裝置:
fx build fx ota這會導致
session_manager在未啟動工作階段的情況下啟動。您現在可以透過指令列啟動工作階段。
執行下列指令啟動工作階段:
ffx session launch fuchsia-pkg://fuchsia.com/pkg-name#meta/your_session.cm如要進一步瞭解
ffx session指令,請執行ffx session --help。如要進一步瞭解ffx,請參閱ffx documentation。