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” |