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 產生未壓縮大小報表
build 版本 執行 Ninja 來建構 Fuchsia
build-and-upload 版本 建構並上傳至 GCS。
build-metrics 其他 管理建構指標設定
build-profile 其他 管理建構設定檔
cipd 來源樹狀結構 執行 cipd 指令列工具
clean 版本 清除目前的 Fuchsia 建構構件
clean-build 版本 清除建構目錄,然後執行完整建構
cleandead 版本 刪除建構輸出目錄中過時的生成檔案。
cleandead-build 版本 刪除過時的生成檔案,然後執行完整建構作業。
cleanrepo 版本 移除 amber-files/ 中已發布的存放區。
cleanrepo-build 版本 移除 amber-files/ 中已發布的存放區,並執行完整建構。
cmc 版本 元件資訊清單編譯器
cp 裝置管理 將檔案複製到/複製目標裝置
create-pb-zip 其他 根據 product_bundles.json 檔案,建立適合刷機的 pb.zip。
create 來源樹狀結構 建構新專案
debug 執行、檢查及偵錯 啟動目標端 zxdb 偵錯工作階段
doc-checker 提交及審查程式碼 使用各種檢查功能,檢查 Markdown 文件。
emu 執行、檢查及偵錯 模擬裝置並與其互動 (轉送至 ffx emu)。
exec 其他 讀取目前的建構設定,然後執行
fargo 版本 Fargo 是 Fuchsia 專用的 Cargo 包裝函式原型
fetch-build-artifacts 版本 TODO(https://fxbug.dev/42139110): under construction.
flash 裝置管理 刷新連結裝置
flash-remote 其他 從遠端建構、擷取 Fuchsia 映像檔,並將其刷入裝置,詳情請參閱 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device
format-code 來源樹狀結構 透過 SHAC 對修改過的檔案執行來源格式設定工具
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 執行、檢查及偵錯 監聽核心記錄
lint 來源樹狀結構 透過 SHAC 對修改過的檔案執行靜態分析檢查
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 系統的位址
netls 探索裝置 列出區域網路上執行中的 Fuchsia 系統
ninja 版本 直接執行建構系統。請勿用於一般工作流程。
ninjatrace2json 版本 收集 Ninja 追蹤記錄資訊,以便在 chrome://tracing 中分析
node-names 裝置管理 找出相同節點的其他名稱
ota 軟體推送 在連結裝置上執行系統 OTA
qemu 執行、檢查及偵錯 使用 FVM 磁碟在 QEMU 中啟動 Fuchsia
rbe 版本 檢查遠端建構設定
reboot 裝置管理 重新啟動目標 Fuchsia 系統
repro 版本 在本機複製基礎架構建構和測試結果
resultstore 版本 管理建構 ResultStore 設定。ResultStore 是一項服務
rfc 來源樹狀結構 建立新 RFC 的鷹架
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 版本 設定建構目錄
set-build-dir 版本 設定其他 fx 指令使用的預設建構目錄
set-device 探索裝置 設定預設互動裝置
set-main-pb 版本 設定要在多產品環境中建構的產品組合
setup-firewall 其他 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。
setup-ufw 其他 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器流量。
sftp 裝置管理 使用建構 SSH 設定叫用 SFTP
shell 裝置管理 在目標裝置中啟動遠端互動式殼層
ssh 裝置管理 使用 Fuchsia 裝置的安全殼層金鑰和設定叫用安全殼層。
status 其他 列印開發人員設定的相關資訊
sync-to 來源樹狀結構 將本機 Fuchsia 來源樹狀結構同步至指定狀態
syslog 執行、檢查及偵錯 已淘汰!fx 記錄的已淘汰別名
測試 測試 所有 Fuchsia 測試 (主機、目標和端對端) 的進入點
testgen 測試 元件整合測試自動產生器
unset-device 探索裝置 取消設定要互動的預設裝置
update 軟體推送 已淘汰!fx ota 的別名已淘汰
update-if-in-base 軟體推送 檢查套件是否位於基本映像檔中,並視需要更新裝置
use 版本 重複使用 fx set 先前設定的建構目錄
vendor 其他 將指令轉送至 vendor/*/scripts/devshell
wait 裝置管理 等待殼層可用
worktree 來源樹狀結構 管理 Fuchsia 工作樹

Contrib 子指令

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

指令 類別 說明
add-host-test 版本 在 args.gn 中新增 GN 標籤,然後重新產生
add-test 版本 在 args.gn 中新增 GN 標籤,然後重新產生
代理 開發人員工具 管理 AI 程式設計代理設定、權限和開發人員工作流程。
arm-esr 其他 解碼 ARM 例外狀況症候群暫存器值
bazel2gn 來源樹狀結構 同步處理 BUILD.gn 和 BUILD.bazel,以便在兩者中雙重建構目標。
bindc 執行、檢查及偵錯 執行繫結程式編譯器和偵錯工具
binutils 執行、檢查及偵錯 提供預先建構 LLVM binutils 工具的捷徑
bisect-rustc 其他
blobstats 執行、檢查及偵錯 從建構作業計算部分 blobfs 統計資料
bt-snoop-from-snapshot 執行、檢查及偵錯 從快照擷取窺探記錄,並以 pcap 格式資料呈現
build-main-pb 版本 建構目前的預設產品組合
build-zbi 核心 發布產品 ZBI,以便刷寫至開發用裝置。
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 版本 反組譯建構作業中的指定二進位檔。
download-baseline 其他 找出指定建構工具最近一次成功的範例建構作業,並下載相關指標。
download-metrics 其他 從 CAS 下載指標構件。
download-rust-toolchain 工具鍊 從 toolchain.ci 下載 Rust 工具鍊至最新綠色版本
dtsfmt 來源樹狀結構 dtsfmt 是用於格式化裝置樹狀架構來源 (.dts) 檔案的公用程式。
dupefinder 執行、檢查及偵錯 回報記憶體快照資料中的重複分配。
enable-ffx-usb 其他 啟用 ffx USB 通訊協定支援
exec-host-tests 測試
extract-metrics 其他 從 Fuchsia 效能結果中擷取指標。
extract-pprof 執行、檢查及偵錯 從 inspect.json 擷取 pprof 資料
extract-zbi 其他
fastboot 裝置管理 透過 fastboot 通訊協定直接與裝置的系統啟動載入程式互動
fetch-toolchain 版本 從 CAS 下載工具鍊並列印操作說明
ffx 其他 執行 ffx:Fuchsia 裝置的開發人員工具。
fidlcat 執行、檢查及偵錯 已淘汰,請改用「ffx debug fidl」
fidldoc 說明文件 生成 FIDL 說明文件
fidltags 其他 為 .fidl 檔案產生標記
find-owner 其他
flash-kola 其他 將 Fuchsia 刷入具有未修改系統啟動載入程式的 Kola 板。
force-ota-from-devhost 軟體推送 已淘汰!fx ota 的別名已淘汰
fuzz 執行、檢查及偵錯 已淘汰!在目標裝置上執行模糊測試
gc 軟體推送 在目標上執行垃圾收集套件 (重新啟動!)
gen-cargo 其他 在 fx 環境中執行 Rust 輔助指令碼
gen-cargo 來源樹狀結構 產生 Rust Cargo.toml 輸出檔案的符號連結
gen-watchman-config 開發人員工具 產生 .watchmanconfig 檔案,以便與 jj 搭配使用
gerrit-split-cl 提交及審查程式碼 將 CL 鏈提交至 Gerrit
gerrit-submit 提交及審查程式碼 將 CL 鏈提交至 Gerrit
get-main-pb-path 版本 取得指定產品組合的輸出路徑
gum 其他 gum 是為指令碼新增互動功能的公用程式
iquery 其他
lint 來源樹狀結構 已淘汰:請改用 fx lint
list-owners 來源樹狀結構 尋找與指定路徑最接近的 OWNERS 檔案,或
list-packages 版本 列出建構的套件。
llvm 執行、檢查及偵錯 提供預先建構 Clang / LLVM 工具的捷徑
ls-buildid 版本 在建構目錄、檢出和 Google Cloud 中尋找二進位檔
make-fuchsia-vol 其他 建構 Fuchsia 永久磁碟
min-owners 來源樹狀結構 建議由最少數量的程式碼擁有者審查修訂版本。
mkinstaller 軟體推送 製作 Fuchsia 安裝映像檔
mkinstaller-remote 軟體推送 從遠端建構主機建立 Fuchsia 安裝程式映像檔
move-docs 說明文件 可將文件從某個位置批次移至另一個位置的輔助工具
pending-commits 來源樹狀結構 查看尚未發布至全域整合的修訂版本
perf-analyze 執行、檢查及偵錯 獨立效能分析工具
pprof 執行、檢查及偵錯 pprof 包裝函式,可存取符號索引中的本機檔案
發布 軟體推送 發布一組套件
qemu-cipd-ensure 其他 產生 CIPD 檔案,下載目前的 QEMU 套件。
readme_fuchsia 說明文件 剖析、格式化及驗證 README.fuchsia 檔案
refresh-bazel-compdb 其他
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-link 其他 在 fx 環境中執行 Rust 輔助指令碼
rustdoc-link 說明文件 連結 Rust 程式碼產生的說明文件。取代 fx rustdoc
set-petal 來源樹狀結構 設定 jiri 來管理特定 petal
set-relay 其他 將單一位元組寫入 |tty|,啟動外部繼電器的狀態。
setup-go 其他 設定 Go 開發作業的檢出。
setup-jj 開發人員工具 設定 jj 工具 (如已安裝),以便與 Fuchsia 搭配使用。
setup-usb-ethernet 其他 設定 USB CDC 乙太網路的 udev 規則
show-package 軟體推送 列出套件內容
shush 來源樹狀結構 使用 allow 屬性或編譯器建議的修正方式,忽略 Rust Lint
size-check 其他 執行產品大小檢查工具的便利包裝函式。
smoke-test 其他 在 fx 環境中執行 Python 輔助指令碼
smoke-test 測試 找出並執行受目前變更影響的測試。
snapshot 執行、檢查及偵錯 從連結的目標取得並剖析快照。
sniff 執行、檢查及偵錯 Fuchsia 封包擷取和顯示工具
sniff.py 其他
sync-from-stem 來源樹狀結構 將整合和依附元件同步至與 fuchsia.git 狀態相符的狀態
system-status 裝置管理 取得系統狀態摘要
test-category 測試 查詢及查看已設定的測試類別資訊。
test-stats 測試 查詢及計算測試統計資料。
test-stats.py 測試 查詢及計算測試統計資料。
triage 執行、檢查及偵錯 產生錯誤條件報表,並套用 Google 專屬規則。
update-3p-owners 來源樹狀結構 更新 third_party 依附元件的 OWNERS 檔案
update-bazel-vendor-dir 版本 更新 Bazel 供應商目錄,納入所有必要的 Bazel 依附元件。
update-rustc-third-party 來源樹狀結構 更新 rustc_library 和 rustc_binary third_party 依附元件
zbi_json_to_d3js.py 其他
zedmon 其他 執行 zedmon 用戶端
zxdb 執行、檢查及偵錯 已淘汰,請使用「ffx debug connect」