fx - Fuchsia 開發指令

fx 是一組子指令的進入點,可簡化許多與 Fuchsia 開發相關的工作。

其中包含大量子指令。執行 fx help 即可查看所有可用的子指令。 如果您使用 bash 或 zsh 做為殼層,請提供 scripts/fx-env.sh
來源,取得一些自動完成功能。

另請參閱會影響所有子指令的全域選項和旗標

fx 子指令

主要子指令

屬於 fx 工作流程的子指令。

指令 類別 說明
add-update-source 軟體推送 將存放區套件伺服器註冊為裝置的更新來源
args 版本 手動編輯目前建構目錄的 args.gn
atomic-commit 其他 建立一組變更,以原子方式提交。這會修改
bazel 版本 為 Fuchsia 平台樹執行實驗性 Bazel 建構作業
bazel-tool 版本 在 Fuchsia Bazel 工作區中執行 bazel-tool 指令碼。
bootfs-size-report 執行、檢查及偵錯 從 ZBI 產生未壓縮大小報表
建構 版本 執行 Ninja 建構 Fuchsia
build-metrics 其他 管理建構指標設定
build-profile 其他 管理建構設定檔設定
cipd 來源樹狀結構 執行 cipd 指令列工具
清除 版本 清除目前的 Fuchsia 建構構件
clean-build 版本 清除建構目錄,然後執行完整建構作業
cleandead 版本 刪除建構輸出目錄中過時的產生檔案。
cleandead-build 版本 刪除過時的產生檔案,然後執行完整建構作業。
cmc 版本 元件資訊清單編譯器
cp 裝置管理 將檔案複製到/複製目標裝置
create-pb-zip 其他 根據 product_bundles.json 檔案建立適合刷機的 pb.zip。
建立 來源樹狀結構 架構新專案
doc-checker 提交及審查程式碼 使用各種檢查方式查看 Markdown 文件。
exec 其他 讀取目前的建構設定,然後執行
fargo 版本 Fargo 是 Cargo 的原型,專為 Fuchsia 打造
fetch-build-artifacts 版本 TODO(https://fxbug.dev/42139110):建構中。
flash 裝置管理 刷新連結裝置
flash-remote 其他 從遠端建構、擷取及刷新 Fuchsia 映像檔到裝置上,請參閱 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device
format-code 來源樹狀結構 對修改過的檔案執行來源格式化工具
gen 版本 對 Fuchsia 建構目錄執行 gn gen
get-build-artifacts 內部 API 已淘汰!已重新命名為「list-build-artifacts
get-build-dir 版本 列印目前的紫紅色建構目錄
get-device 探索裝置 列印目前所選裝置名稱
get-device-addr 探索裝置 列印目前所選裝置的 Fuchsia 位址
get-flash-source 內部 API 建構並傳回所需的一組建構構件清單
get-src-dir 版本 列印 Fuchsia 來源目錄 (結帳根目錄,又稱「//」)
get-workspace-dir 版本 列印 Bazel 工作區目錄
gn 版本 產生 Ninja 建構檔案的中繼建構系統
go 版本 管理 Go 原始碼
helpdoc 說明文件 為 fx 子指令建立 Markdown 文件
host-tool 執行、檢查及偵錯 執行建構作業產生的主機工具
is-套件-server-running 軟體推送 檢查套件伺服器是否正在執行
jiri 來源樹狀結構 多用途工具,適用於多存放區開發作業。
jq 其他 jq 是一種公用程式,可在指令列上操控 JSON。
jq5 版本 擴充 jq 的功能,適用於 json5 物件。
klog 執行、檢查及偵錯 監聽核心記錄
list-boards 版本 列出可用的建構主面板
list-build-artifacts 內部 API 建構並傳回所需的一組建構構件清單
list-devices 探索裝置 列出所有鄰近裝置 (不包括 zedboot 上的裝置)
list-products 版本 列出可供建構的產品
list-usb-disks 其他 列出已連接的 USB 磁碟
local-publish-platform 其他 將平台構件發布至本機 CIPD 執行個體。
記錄 執行、檢查及偵錯 顯示目標裝置的記錄。
mdlint 提交及審查程式碼 Markdown linter
merge-套件-config 其他
metrics 其他 在 FX 工具中管理指標收集作業
mkzedboot 軟體推送 製作 zedboot USB 金鑰
mkzedboot-remote 軟體推送 製作 zedboot USB 金鑰
multi 其他 在多個建構目錄中執行 fx 指令。
netaddr 探索裝置 取得執行中 Fuchsia 系統的位址
netboot 軟體推送 執行開機伺服器以進行網路開機
netboot-remote 其他 遠端建構、擷取及網路啟動
netls 探索裝置 列出區域網路中正在執行的 Fuchsia 系統
ninja 版本 直接執行建構系統。請勿用於一般工作流程。
ninjatrace2json 版本 在 chrome://tracing 中收集 Ninja 追蹤資訊以供分析
節點名稱 裝置管理 找出同一節點的其他名稱
ota 軟體推送 在連結裝置上執行系統 OTA
qemu 執行、檢查及偵錯 使用 FVM 磁碟在 QEMU 中啟動 Fuchsia
rbe 版本 檢查遠端建構設定
重新啟動 裝置管理 重新啟動目標 Fuchsia 系統
repro 版本 在本機複製基礎架構建構和測試的結果
rfc 來源樹狀結構 Scaffold new RFCs
run-host-tests 測試 已淘汰!在主機上建構及執行測試
run-in-build-dir 版本 在目前建構目錄的根層級執行指定指令
run-netboot 執行、檢查及偵錯 透過 Netboot 在 QEMU 中啟動 Fuchsia
run-script 其他 執行自訂指令組合,可善用 fx -i (疊代模式)
scp 裝置管理 使用建構的 SSH 設定叫用 scp
sdk-deps 其他 列出目標的依附元件,以及依附元件是否位於 SDK 中
自行建構 版本 建構執行 fx 主要工作流程所需的最低主機依附元件
自我測試 測試 執行 fx 和子指令的測試
serial 裝置管理 連結至序列主控台
serve 軟體推送 啟動更新伺服器,並附加至正在執行的 Fuchsia 裝置
serve-remote 其他 從遠端工作站提供服務
設定 版本 設定建構目錄
set-build-dir 版本 設定其他 fx 指令使用的預設建構目錄
set-device 探索裝置 設定預設互動裝置
set-main-pb 版本 在多產品環境中設定要建構的產品套裝組合
setup-macos 其他 在 MacOS 應用程式防火牆中註冊主機工具
setup-ufw 其他 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。
sftp 裝置管理 使用建構的 SSH 設定叫用 sftp
shell 裝置管理 在目標裝置中啟動遠端互動式殼層
ssh 裝置管理 使用 Fuchsia 裝置的 SSH 金鑰和設定叫用 SSH。
狀態 其他 列印開發人員設定的相關資訊
sync-to 來源樹狀結構 將本機 Fuchsia 來源樹狀結構同步至指定狀態
syslog 執行、檢查及偵錯 已淘汰!fx log 的舊別名
測試 測試 所有 Fuchsia 測試 (主機、目標和端對端) 的進入點
testgen 測試 元件整合測試自動產生器
unset-device 探索裝置 取消設定預設互動裝置
更新 軟體推送 已淘汰!fx ota 的舊別名
update-if-in-base 軟體推送 檢查套件是否位於基礎中,並視需要更新裝置
使用 版本 重複使用 fx set 設定的先前建構目錄
vendor 其他 將指令轉送至 vendor/*/scripts/devshell
wait 裝置管理 等待殼層可用

Contrib 子指令

由專案成員貢獻的子指令,這些成員具有其他層級的支援、擁有權或兩者兼具。 contrib 目錄中的 OWNERS 檔案會提供指標,指向支援各個指令碼的成員。

指令 類別 說明
add-host-test 版本 在 args.gn 中新增 GN 標籤並重新產生
add-test 版本 在 args.gn 中新增 GN 標籤並重新產生
arm-esr 其他 解碼 ARM 例外狀況綜合症暫存器值
bazel2gn 來源樹狀結構 針對同時在兩者中雙重建構的目標,同步處理 BUILD.gn 和 BUILD.bazel。
bindc 執行、檢查及偵錯 執行繫結程式編譯器和偵錯工具
binutils 執行、檢查及偵錯 提供預建 LLVM binutils 工具的捷徑
bisect-rustc 其他
blobstats 執行、檢查及偵錯 從建構作業計算一些 blob 統計資料
bt-snoop-from-snapshot 執行、檢查及偵錯 從快照擷取監聽記錄,做為 pcap 格式的資料
build-main-pb 版本 建構目前的預設產品組合
check-deps 版本 檢查區域中的依附元件圖表
check-goldens 來源樹狀結構 檢查 GN 建構圖中的所有黃金檔案比較。
check-licenses 說明文件 分析指定套件或目錄的授權狀態
cl 提交及審查程式碼 列印 Gerrit 審查網址,並嘗試在使用者預設瀏覽器中開啟。
clang-tidy 來源樹狀結構 對指定檔案執行 clang-tidy
clippy 其他 在鎖定狀態下的 fx 環境中執行 Rust 輔助指令碼
clippy 診斷
compdb 版本 不再使用
core-tests 測試 執行 Zircon 核心測試
涵蓋率 測試 執行測試並匯出涵蓋範圍資料。
cpu-stats 執行、檢查及偵錯 從快照產生 CPU 統計資料報表
crosvm 執行、檢查及偵錯 執行 crosvm
dis 診斷 傾印建構作業中二進位檔的反組譯。
dupefinder 執行、檢查及偵錯 從堆積傾印中回報重複的配置。
exec-host-tests 測試
extract-pprof 執行、檢查及偵錯 從 inspect.json 擷取 pprof 資料
extract-zbi 其他
fastboot 裝置管理 透過 Fastboot 通訊協定直接與裝置的開機載入程式互動
ffx 其他 執行 ffx - Fuchsia 裝置的開發人員工具。
fidlcat 執行、檢查及偵錯 已淘汰,請改用「ffx debug fidl」
fidldoc 說明文件 生成 FIDL 說明文件
fidltags 其他 為 .fidl 檔案產生標記
find-owner 其他
flash-kola 其他 將 Fuchsia 刷入系統啟動載入程式未修改的 Kola 板。
force-ota-from-devhost 軟體推送 從開發主機強制執行無線系統更新 (會重新啟動!)
fuzz 執行、檢查及偵錯 已淘汰!在目標裝置上執行模糊測試
g-review 提交及審查程式碼 對目前的提交內容執行 Gemini 審查
gc 軟體推送 在目標上進行垃圾回收 (重新啟動!)
gce 其他 Google Compute Engine 指令
gdb 執行、檢查及偵錯 執行 GNU 偵錯工具 GDB。
gen-cargo 其他 在 fx 環境中執行 Rust 輔助指令碼
gen-cargo 來源樹狀結構 產生 Rust Cargo.toml 輸出檔案的符號連結
gerrit-split-cl 提交及審查程式碼 將 CL 鏈提交至 Gerrit
gerrit-submit 提交及審查程式碼 將 CL 鏈提交至 Gerrit
get-main-pb-path 版本 取得所提供產品組合的輸出路徑
gnu 執行、檢查及偵錯 提供預先建構的 GNU 診斷工具捷徑
grep 來源樹狀結構 列印 Fuchsia 來源中符合指定模式的行
gum 其他 gum 是一種公用程式,可為指令碼新增互動功能
iquery 其他
lint 來源樹狀結構 對修改過的檔案執行來源 Lint 檢查
list-owners 來源樹狀結構 找出與所提供路徑對應的最近 OWNERS 檔案,或
list-packages 版本 列出建構的套件。
ls-buildid 版本 在建構目錄、簽出和雲端儲存空間中尋找二進位檔
make-fuchsia-vol 其他 建構 Fuchsia 永久磁碟
mkinstaller 軟體推送 製作 Fuchsia 安裝程式映像檔
mkinstaller-remote 軟體推送 從遠端建構主機製作 Fuchsia 安裝程式映像檔
move-docs 說明文件 可將大量文件從一個位置移至另一個位置的輔助工具
pending-commits 來源樹狀結構 查看尚未發布至全球整合的提交內容
pprof 執行、檢查及偵錯 pprof 包裝函式,可存取符號索引中的本機檔案
發布 軟體推送 發布一組套件
qemu-cipd-ensure 其他 產生 CIPD 檔案,下載目前的 QEMU 套件。
refresh-bazel-compdb 其他
refresh-bazel-compdb-bin.py 其他
remove-update-source 軟體推送 取消將存放區套件伺服器註冊為裝置的更新來源
roll-compiler 其他
run-boot-test 執行、檢查及偵錯 執行 ZBI 測試
run-boot-test.py 其他
run-e2e-tests 測試 執行端對端測試
run-in-build 執行、檢查及偵錯 在建構目錄中執行指令
run-recovery 執行、檢查及偵錯 在 qemu 中啟動 Fuchsia 系統復原
run-zbi-test-remote 執行、檢查及偵錯 遠端建構 ZBI 測試、擷取並執行
rust-3p-outdated 其他 在鎖定狀態下的 fx 環境中執行 Rust 輔助指令碼
rust-3p-outdated 診斷
rustdoc 其他 在 fx 環境中執行 Rust 輔助指令碼
rustdoc-link 其他 在 fx 環境中執行 Rust 輔助指令碼
rustdoc-link 說明文件 Rust 程式碼的生成說明文件連結。取代 fx rustdoc
rustdoc 說明文件 為 Rust 程式碼生成說明文件
rustfmt 其他 在 fx 環境中執行 Rust 輔助指令碼
rustfmt 來源樹狀結構 設定 Rust 程式碼格式
set-petal 來源樹狀結構 設定 jiri 來管理特定花瓣
set-relay 其他 將單一位元組寫入 |tty|,啟動外部繼電器的狀態。
setup-go 其他 設定 Go 開發的結帳程序。
setup-usb-ethernet 其他 設定 USB CDC 乙太網路的 udev 規則
show-package 軟體推送 列出套件內容
shush 來源樹狀結構 使用允許或編譯器建議的修正方式,讓 Rust Lint 保持靜默
size-check 其他 方便執行產品尺寸檢查工具的包裝函式。
smoke-test 其他 在 fx 環境中執行 Python 輔助指令碼
smoke-test 測試 找出並執行受目前變更影響的測試。
快照 執行、檢查及偵錯 從已連結的目標取得並剖析快照。
sniff 執行、檢查及偵錯 Fuchsia 封包擷取和顯示工具
sniff.py 其他
sync-from-stem 來源樹狀結構 將整合和依附元件同步至與 fuchsia.git 狀態相符的狀態
system-status 裝置管理 取得系統狀態摘要
test-rustdoc 測試 在所有 Rust 目標上執行「fx rustdoc」
test-stats 測試 查詢及計算測試統計資料。
test-stats.py 測試 查詢及計算測試統計資料。
分流 執行、檢查及偵錯 使用 Google 專屬規則生成錯誤狀況報告。
unarchive-package 軟體推送 以 FAR 格式取消封存 Fuchsia 套件封存檔
update-3p-owners 來源樹狀結構 更新 third_party 依附元件的 OWNERS 檔案
update-bazel-vendor-dir 版本 更新 Bazel 供應商目錄,納入所有必要的 Bazel 依附元件。
update-rust-3p-outdated 來源樹狀結構 使用 crates.io 的最新版本更新外部 Rust 依附元件
update-rustc-third-party 來源樹狀結構 更新 rustc_library 和 rustc_binary 第三方依附元件
zbi_json_to_d3js.py 其他
zedmon 其他 執行 zedmon 用戶端
zxdb 執行、檢查及偵錯 已淘汰,請改用「ffx debug connect」