fx - Fuchsia 開發指令

fx 是一系列子指令的進入點,可簡化許多與 Fuchsia 開發相關的任務。

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

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

fx 子指令

主要子指令

fx 工作流程中的子指令。

指令 類別 說明
add-update-source 軟體推送服務 將存放區套件伺服器註冊為裝置的更新來源
args 版本 手動編輯目前建構目錄的 args.gn
bazel 版本 為 Fuchsia 平台樹狀結構執行實驗性 Bazel 建構作業
bazel-tool 版本 在 Fuchsia Bazel 工作區中執行 bazel-tool 指令碼。
bootfs-size-report 執行、檢查及偵錯 從 ZBI 產生未壓縮大小報表
build 版本 執行 Ninja 來建構 Fuchsia
build-metrics 其他 管理建構指標設定
build-profile 其他 管理建構設定檔設定
cipd 來源樹狀圖 執行 cipd 指令列工具
clean 版本 清除目前的 Fuchsia 建構構件
clean-build 版本 清理建構目錄,然後執行完整建構作業
cleandead 版本 刪除建構輸出目錄中過時的產生檔案。
cleandead-build 版本 刪除過時的產生檔案,然後執行完整建構作業。
cmc 版本 元件資訊清單編譯器
cp 裝置管理 將檔案複製到/複製自目標裝置
create-pb-zip 其他 根據 product_bundles.json 檔案建立適合用於刷新的 pb.zip。
create 來源樹狀圖 建構新專案
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 版本 列印目前的 Fuchsia 建構目錄
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 執行個體。
log 執行、檢查及偵錯 顯示目標裝置的記錄。
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 版本 收集 Ninja 追蹤資訊,以便在 chrome://tracing 中進行分析
node-names 裝置管理 找出同一個節點的其他名稱
ota 軟體推送服務 在已連結的裝置上執行系統 OTA
qemu 執行、檢查及偵錯 使用 FVM 磁碟在 QEMU 中啟動 Fuchsia
rbe 版本 檢查遠端建構設定
重新啟動 裝置管理 重新啟動目標 Fuchsia 系統
repro 版本 在本機複製基礎架構建構和測試的結果
rfc 來源樹狀圖 Scaffold 新的 RFC
run-host-tests 測試 已淘汰!在主機上建構及執行測試
run-in-build-dir 版本 在目前建構目錄的根目錄中執行指定指令
run-netboot 執行、檢查及偵錯 透過網路啟動在 qemu 中啟動 Fuchsia
run-script 其他 執行自訂指令組合,可充分利用 fx -i (迭代模式)
scp 裝置管理 使用建構 SSH 設定叫用 scp
sdk-deps 其他 列出目標的依附元件,以及依附元件是否位於 SDK 中
自行建構 版本 建構最少的主機依附元件,以便執行 FX 主要工作流程
自我測試 測試 執行 fx 和子指令的測試
serial 裝置管理 連結至序列主控台
serve 軟體推送服務 啟動更新伺服器,並連結至執行中的 Fuchsia 裝置
serve-remote 其他 透過遠端工作站提供服務
set 版本 設定建構目錄
set-build-dir 版本 設定其他 fx 指令使用的預設建構目錄
set-device 探索裝置 設定要與之互動的預設裝置
setup-macos 其他 在 macOS 應用程式防火牆註冊主機工具
setup-ufw 其他 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器的流量。
sftp 裝置管理 使用建構 SSH 設定檔叫用 sftp
shell 裝置管理 在目標裝置中啟動遠端互動式殼層
ssh 裝置管理 使用 Fuchsia 裝置的 SSH 金鑰和設定,叫用 SSH。
狀態 其他 列印開發人員設定的相關資訊
symbolize 執行、檢查及偵錯 已淘汰,請改用「ffx debug symbolize」
sync-to 來源樹狀圖 將本機 Fuchsia 來源樹狀結構同步至特定狀態
syslog 執行、檢查及偵錯 已淘汰!fx 記錄的舊版別名
測試 測試 所有 Fuchsia 測試 (主機、目標和端對端) 的進入點
testgen 測試 元件整合測試自動產生器
unset-device 探索裝置 取消設定要互動的預設裝置
update 軟體推送服務 已淘汰!fx ota 的舊版別名
update-if-in-base 軟體推送服務 檢查套件是否在基礎中,並在必要時更新裝置
use 版本 重複使用 fx set 先前設定的建構目錄
供應商 其他 將指令轉送至 vendor/*/scripts/devshell
wait 裝置管理 等待殼層可用

貢獻子指令

由擁有其他支援層級或擁有權 (或兩者皆有) 的專案成員提供的子命令。contrib 目錄中的 OWNERS 檔案會提供指向支援每個指令碼的成員的指標。

指令 類別 說明
add-host-test 版本 在 args.gn 和 regen 中新增 GN 標籤
add-test 版本 在 args.gn 和 regen 中新增 GN 標籤
arm-esr 其他 解碼 ARM 例外症候群註冊值
bazel2gn 來源樹狀圖 針對在兩者中雙重建構的目標,同步處理 BUILD.gn 和 BUILD.bazel。
bindc 執行、檢查及偵錯 執行繫結程式編譯器和偵錯工具
binutils 執行、檢查及偵錯 提供預先建構的 LLVM binutils 工具捷徑
bisect-rustc 其他
blobstats 執行、檢查及偵錯 計算建構作業中的部分 blobfs 統計資料
bt-snoop-from-snapshot 執行、檢查及偵錯 從快照中擷取 snoop 記錄,並以 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 統計資料報表
dis 診斷 將建構作業的二進位檔解析內容傾印。
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 軟體推送服務 從 devhost 強制執行無線系統更新 (重新啟動)
fuzz 執行、檢查及偵錯 已淘汰!在目標裝置上執行模糊測試
gc 軟體推送服務 在目標上執行垃圾回收套件 (重新啟動)
gce 其他 Google Compute Engine 指令
gdb 執行、檢查及偵錯 執行 GNU Debugger (GDB)。
gen-cargo 其他 在 fx 環境中執行 Rust 輔助指令碼
gen-cargo 來源樹狀圖 產生 Rust Cargo.toml 輸出檔案的符號連結
gerrit-split-cl 程式碼提交和審查 將 CL 鏈結提交至 Gerrit
gerrit-submit 程式碼提交和審查 將 CL 鏈結提交至 Gerrit
get-main-pb 版本 列印目前主要產品套裝組合的標籤
get-main-pb-path 版本 取得提供的產品組合輸出路徑
gnu 執行、檢查及偵錯 提供預先建構的 GNU 診斷工具捷徑
grep 來源樹狀圖 在 Fuchsia 來源中列印符合指定模式的文字行
init-partition-tables 其他 執行 bootserver 以初始化分區表
iquery 其他
lint 來源樹狀圖 在已修改的檔案上執行來源 Linter
list-owners 來源樹狀圖 找出與提供路徑相符的最近 OWNERS 檔案,或
list-packages 版本 列出已建構的套件。
ls-buildid 版本 在建構目錄、檢出作業和雲端儲存空間中尋找二進位檔
make-fuchsia-vol 其他 建構 Fuchsia 永久磁碟
mkinstaller 軟體推送服務 製作 Fuchsia 安裝程式映像檔
mkinstaller-remote 軟體推送服務 從遠端建構主機製作 Fuchsia 安裝程式映像檔
move-docs 說明文件 輔助工具,可將文件批次移動至其他位置
pending-commits 來源樹狀圖 查看尚未發布至全球整合項目的修訂版本
power-digest 執行、檢查及偵錯 匯總 Power Broker 的檢查電源事件
power-viz 執行、檢查及偵錯 匯總 Power Broker 的檢查電源事件
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 測試 執行 e2e 測試
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 以管理特定 petal
set-relay 其他 將單一位元組寫入 |tty|,以啟動外部中繼的狀態。
setup-go 其他 設定 Go 開發的檢查作業。
setup-usb-ethernet 其他 設定 USB CDC 乙太網路的 udev 規則
show-package 軟體推送服務 列出套件內容
shush 來源樹狀圖 使用允許或編譯器建議的修正內容,讓 Rust 檢查器保持沉默
size-check 其他 方便的包裝函式,可用於執行產品尺寸檢查工具。
模擬測試 其他 在 fx 環境中執行 Python 輔助指令碼
模擬測試 測試 找出並執行受目前變更影響的測試。
快照 執行、檢查及偵錯 從已連結的目標取得並剖析快照。
sniff 執行、檢查及偵錯 Fuchsia 封包擷取和顯示工具
sniff.py 其他
symbol-index 版本 (已淘汰) 操作符號索引檔案
sync-from-stem 來源樹狀圖 將整合和依附元件同步至與 fuchsia.git 狀態相符的狀態
system-status 裝置管理 取得系統狀態摘要
test-rustdoc 測試 在所有 Rust 目標上執行「fx rustdoc」
test-stats 測試 查詢及計算測試統計資料。
test-stats.py 測試 查詢及計算測試統計資料。
triage 執行、檢查及偵錯 產生錯誤情況的報表,並套用 Google 專屬規則。
unarchive-package 軟體推送服務 解封 FAR 格式的 Fuchsia 套件封存檔
update-3p-owners 來源樹狀圖 更新第三方依附元件的 OWNERS 檔案
update-rust-3p-outdated 來源樹狀圖 使用 crates.io 最新版本更新外部 Rust 依附元件
update-rustc-third-party 來源樹狀圖 更新 rustc_library 和 rustc_binary 第三方依附元件
validate-sdk 版本 嘗試根據核心 SDK 建構幾個已知的 SDK 外部開放原始碼存放區
wipe-partition-tables 其他 執行 bootserver 來清除分區表
zbi_json_to_d3js.py 其他
zedmon 其他 執行 Zedmon 用戶端
zxdb 執行、檢查及偵錯 已淘汰,請改用「ffx debug connect」