fx - Fuchsia 开发命令

fx 是一组子命令的入口点,可简化许多与 Fuchsia 开发相关的任务。

它包含大量子命令。运行 fx help 可查看所有可用的子命令。 如果您使用 bash 或 zsh 作为 shell,请执行 scripts/fx-env.sh
以获取一些自动补全功能。

另请参阅影响所有子命令的全局选项和标志

fx 子命令

主要子命令

属于 fx 工作流的子命令。

命令 类别 说明
add-update-source 软件交付 将软件包服务器注册为设备的更新源
args build 手动编辑当前 build 目录的 args.gn
atomic-commit 其他 创建将以原子方式提交的一对更改。它会修改
bazel build 针对 Fuchsia 平台树运行实验性 Bazel build
bazel-tool build 在 Fuchsia Bazel 工作区中运行 bazel-tool 脚本。
bootfs-size-report 运行、检查和调试 根据 ZBI 生成未压缩大小报告
build build 运行 Ninja 以构建 Fuchsia
build-metrics 其他 管理 build 指标配置
build-profile 其他 管理 build 配置文件配置
cipd 源代码树 运行 cipd 命令行工具
clean build 清理当前的 Fuchsia build 工件
clean-build build 清理 build 目录,然后执行完整 build
cleandead build 删除 build 输出目录中过时的生成文件。
cleandead-build build 删除过时的生成文件,然后执行完整构建。
cmc build 组件清单编译器
cp 设备管理 将文件复制到目标设备/从目标设备复制文件
create-pb-zip 其他 根据 product_bundles.json 文件创建适合刷写的 pb.zip。
create 源代码树 搭建新项目
doc-checker 代码提交和审核 使用各种检查来检查 Markdown 文档。
exec 其他 读取当前 build 配置,然后执行
fargo build Fargo 是一个围绕 Cargo 的原型 Fuchsia 特定封装容器
fetch-build-artifacts build TODO(https://fxbug.dev/42139110):正在开发中。
flash 设备管理 刷写已连接的设备
flash-remote 其他 远程构建、提取和刷写 Fuchsia 映像到设备上,请参阅 https://fuchsia.dev/fuchsia-src/development/sdk/ffx/flash-a-device
格式代码 源代码树 对修改后的文件运行源格式化程序
gen build 针对 Fuchsia build 目录运行 gn gen
get-build-artifacts 内部 API 已弃用!已重命名为 list-build-artifacts
get-build-dir build 打印当前的 Fuchsia build 目录
get-device 设备发现 打印当前所选设备的名称
get-device-addr 设备发现 打印当前所选设备的 Fuchsia 地址
get-flash-source 内部 API 构建并返回一组所需的 build 制品
get-src-dir build 打印 Fuchsia 源代码目录(检出根目录,也称为“//”)
get-workspace-dir build 打印 Bazel 工作区目录
gn build 为 Ninja 生成 build 文件的元 build 系统
go build 管理 Go 源代码
helpdoc 文档 为 fx 子命令创建 Markdown 文档
host-tool 运行、检查和调试 运行 build 生成的主机工具
is-package-server-running 软件交付 检查软件包服务器是否正在运行
jiri 源代码树 用于多代码库开发的多用途工具。
jq 其他 jq 是一种用于在命令行中处理 JSON 的实用程序。
jq5 build 将 jq 的功能扩展到 json5 对象。
klog 运行、检查和调试 监听内核日志
list-boards build 列出可用于构建的板
list-build-artifacts 内部 API 构建并返回一组所需的 build 制品
list-devices 设备发现 列出附近的所有设备(不包括 zedboot 上的设备)
list-products build 列出可用于构建的商品
list-usb-disks 其他 列出已连接的 USB 磁盘
local-publish-platform 其他 将发布平台制品发布到本地 CIPD 实例。
日志 运行、检查和调试 显示来自目标设备的日志。
mdlint 代码提交和审核 Markdown 代码检查工具
merge-package-config 其他
metrics 其他 管理 FX 工具中的指标收集
mkzedboot 软件交付 制作 zedboot USB 密钥
mkzedboot-remote 软件交付 制作 zedboot USB 密钥
multi 其他 在多个 build 目录中运行 fx 命令。
netaddr 设备发现 获取正在运行的 Fuchsia 系统的地址
netboot 软件交付 运行 bootserver 以进行网络启动
netboot-remote 其他 远程构建、提取和网络启动
netls 设备发现 列出本地网络上正在运行的 Fuchsia 系统
ninja build 直接运行构建系统。请勿用于常规工作流。
ninjatrace2json build 在 chrome://tracing 中收集 Ninja 跟踪信息以供分析
node-names 设备管理 查找同一节点的其他名称
ota 软件交付 在已连接的设备上执行系统 OTA
qemu 运行、检查和调试 在 QEMU 中使用 FVM 磁盘启动 Fuchsia
rbe build 检查远程 build 配置
重新启动 设备管理 重新启动目标 Fuchsia 系统
repro build 在本地复制基础架构构建和测试的结果
rfc 源代码树 搭建新的 RFC
run-host-tests 测试 已弃用!在主机上构建和运行测试
run-in-build-dir build 在当前 build 目录的根目录下运行给定的命令
run-netboot 运行、检查和调试 通过网络启动在 QEMU 中运行的 Fuchsia
run-script 其他 运行自定义的命令组合,能够利用 fx -i(迭代模式)
scp 设备管理 使用 build ssh 配置调用 scp
sdk-deps 其他 列出目标的依赖项,以及依赖项是否位于 SDK 中
自建 build 构建运行 fx 主要工作流所需的最小主机依赖项
自测 测试 运行 fx 和子命令的测试
serial 设备管理 附加到串行控制台
serve 软件交付 启动更新服务器并连接到正在运行的 Fuchsia 设备
serve-remote 其他 从远程工作站提供服务
set build 设置 build 目录
set-build-dir build 设置其他 fx 命令使用的默认 build 目录
set-device 设备发现 设置要与之互动的默认设备
set-main-pb build 在多产品环境中设置要构建哪个产品包
setup-macos 其他 在 MacOS 应用防火墙中注册主机工具
setup-mcp-servers 其他
setup-ufw 其他 设置 Linux 防火墙规则,以允许 Fuchsia 设备和模拟器流量。
sftp 设备管理 使用 build ssh 配置调用 sftp
shell 设备管理 在目标设备中启动远程交互式 shell
ssh 设备管理 使用适用于 Fuchsia 设备的 SSH 密钥和配置调用 SSH。
状态 其他 打印有关开发者设置的相关信息
sync-to 源代码树 将本地 Fuchsia 源代码树同步到给定状态
syslog 运行、检查和调试 已弃用!fx 日志的已弃用别名
test 测试 所有 Fuchsia 测试(主机、目标和端到端)的入口点
testgen 测试 组件集成测试自动生成器
unset-device 设备发现 取消设置要交互的默认设备
update 软件交付 已弃用!fx ota 的已弃用别名
update-if-in-base 软件交付 检查软件包是否位于基本映像中,并根据需要更新设备
use build 重新使用由 fx set 设置的先前构建目录
供应商 其他 将命令转发到 vendor/*/scripts/devshell
wait 设备管理 等待 shell 变为可用状态

Contrib 子命令

由具有其他支持级别、所有权或同时具有这两者的项目成员贡献的子命令。contrib 目录中的 OWNERS 文件提供了指向支持每个脚本的成员的指针。

命令 类别 说明
add-host-test build 向 args.gn 添加了 GN 标签并重新生成
add-test build 向 args.gn 添加了 GN 标签并重新生成
arm-esr 其他 解码 ARM 异常综合征寄存器值
bazel2gn 源代码树 同步了在 BUILD.gn 和 BUILD.bazel 中双重构建的目标。
bindc 运行、检查和调试 运行绑定程序编译器和调试器
binutils 运行、检查和调试 提供预构建的 LLVM binutils 工具的快捷方式
bisect-rustc 其他
blobstats 运行、检查和调试 从 build 中计算一些 blobfs 统计信息
bt-snoop-from-snapshot 运行、检查和调试 从快照中提取侦听日志作为 pcap 格式的数据
build-main-pb build 构建当前默认产品包
check-deps build 检查区域中的依赖关系图
check-goldens 源代码树 检查 GN build 图中的所有黄金文件比较。
check-licenses 文档 分析给定软件包或目录的许可状态
cl 代码提交和审核 打印 Gerrit 代码审核网址,并尝试在用户的默认浏览器中打开该网址。
clang-tidy 源代码树 对指定文件运行 clang-tidy
clippy 其他 在锁定状态下,在 fx 环境中运行 Rust 辅助脚本
clippy 诊断
compdb build 不推荐
core-tests 测试 运行 Zircon 核心测试
覆盖率 测试 运行测试并导出覆盖率数据。
cpu-stats 运行、检查和调试 根据快照生成 CPU 统计信息报告
crosvm 运行、检查和调试 运行 crosvm
dis 诊断 转储 build 中二进制文件的反汇编。
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 软件交付 强制从 devhost 进行无线下载系统更新(会重新启动!)
模糊 运行、检查和调试 已弃用!在目标设备上运行模糊测试
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 build 获取所提供商品套装的输出路径
gnu 运行、检查和调试 提供预构建的 GNU 诊断工具的快捷方式
grep 源代码树 打印 Fuchsia 源代码中与指定模式匹配的行
gum 其他 gum 是一种用于向脚本添加互动功能的实用程序
iquery 其他
lint 源代码树 对修改后的文件运行源代码检查工具
list-owners 源代码树 查找与所提供路径对应的最近 OWNERS 文件,或
list-packages build 列出构建的软件包。
ls-buildid build 在 build 目录、签出和 Cloud Storage 中查找二进制文件
make-fuchsia-vol 其他 构建 Fuchsia 永久性磁盘
mkinstaller 软件交付 制作 Fuchsia 安装程序映像
mkinstaller-remote 软件交付 从远程 build 主机创建 Fuchsia 安装程序映像
move-docs 文档 用于将文档从一个位置批量移动到另一个位置的辅助工具
pending-commits 源代码树 查看尚未发布到全局集成的提交
pprof 运行、检查和调试 pprof 封装容器,可访问符号索引中的本地文件
publish 软件交付 发布一组软件包
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 运行、检查和调试 在 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 lint
size-check 其他 用于运行商品尺寸检查器的便捷封装容器。
冒烟测试 其他 在 fx 环境中运行 Python 辅助脚本
冒烟测试 测试 查找并运行受当前更改影响的测试。
snapshot 运行、检查和调试 从已连接的目标获取并解析快照。
sniff 运行、检查和调试 Fuchsia 数据包捕获和显示工具
sniff.py 其他
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-bazel-vendor-dir build 更新 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”