fx - Fuchsia 开发命令

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

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

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

fx 子命令

主要子命令

fx 工作流程中的子命令。

命令 类别 说明
add-update-source 软件交付 将开发主机注册为目标的更新源
args build 手动修改当前 build 目录的 args.gn
bazel build 针对 Fuchsia 平台树运行实验性 Bazel 构建
bazel-tool build 在 Fuchsia Bazel 工作区中运行 bazel-tool 脚本。
bootfs-size-report 运行、检查和调试 从 ZBI 生成未压缩的大小报告
build build 运行 Ninja 以构建 Fuchsia
build-metrics 其他 管理构建指标配置
cipd 源代码树 运行 cipd 命令行工具
干净 build 清理当前的 Fuchsia build 工件
clean-build build 清理 build 目录,然后执行完整构建
Cleandead build 删除 build 输出目录中过时生成的文件。
cleandead-build build 删除过时的已生成文件,然后执行完整构建。
cmc build 组件清单编译器
cp 设备管理 将文件复制到目标设备/从目标设备复制文件
create-pb-zip 其他 根据 product_bundles.json 文件创建 pb.zip。创建的压缩文件将
创建 源代码树 基架新项目
文档检查工具 代码提交和审核 通过各种检查来检查 Markdown 文档。
exec 其他 读取当前的构建配置,然后执行
Fargo build Fargo 是围绕 Cargo 的 Fuchsia 专用原型封装容器
fetch-build-artifacts build TODO(https://fxbug.dev/42139110):正在开发中。
闪光灯 设备管理 并(可选)铺砌联网设备
flash-remote 其他 远程构建、提取 Fuchsia 映像并将其刷写到设备上,请参阅 https://fuchsia.dev/fuchsia-src/develop/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-addr 设备发现 输出当前所选设备的 Fuchsia 地址
get-flash-source 内部 API 构建并返回包含一组所需构建工件的列表
get-src-dir build 输出 Fuchsia 源目录(签出根目录,也称为“//”)
get-workspace-dir build 输出 Bazel 工作区目录
gn build 元构建系统,为 Ninja 生成 build 文件
前往 build 管理 Go 源代码
goma_auth build 为 Goma 分布式编译客户端设置身份验证
goma_ctl build 控制本地 Goma 分布式编译客户端
帮助文档 文档 为 fx 子命令创建 Markdown 文档
主机工具 运行、检查和调试 运行在 YAML 文件中嵌入的
is-package-server-running 软件交付 检查软件包服务器是否正在运行
jiri 源代码树 适用于多代码库开发的多用途工具。
jq 其他 jq 是一个在命令行中处理 JSON 的实用程序。
jq5 build 将 jq 的功能扩展到 json5 对象。
klog 运行、检查和调试 监听内核日志
列表板 build 用于构建清单板
list-build-artifacts 内部 API 构建并返回包含一组所需构建工件的列表
list-devices 设备发现 列出附近的所有设备(不包括 zedboot 上的设备)
列出商品 build 列出可用于构建的产品
list-usb-disks 其他 列出已挂接的 USB 磁盘
日志 运行、检查和调试 显示来自目标设备的日志。
mdlint 代码提交和审核 Markdown linter
merge-package-config 其他
metrics 其他 在 FX 工具中管理指标收集
mkzedboot 软件交付 制作 zedboot USB 密钥
mkzedboot-remote 软件交付 制作 zedboot USB 密钥
其他 跨多个 build 目录运行 fx 命令。
netaddr 设备发现 获取运行中的紫红色系统的地址
netboot 软件交付 运行 bootserver 以进行网络启动
netboot-remote 其他 远程构建、提取和 netboot
Netls 设备发现 在本地网络上运行紫红系统的列表
忍者 build 来运行构建系统请勿用于常规工作流。
ninjatrace2json build 在 chrome://tracing 中收集 Ninja 轨迹信息以进行分析
node-names 设备管理 查找同一节点的其他名称
ota 软件交付 在已连接的设备上执行系统 OTA
铺路 软件交付 运行 bootserver 以便铺路
pave-remote 其他 远程构建、提取和铺砌
pave-zedboot 软件交付 运行用于铺路 zedboot 的 bootserver
pave-zedboot-remote 其他 远程构建、提取和铺垫 zedboot
Qemu 运行、检查和调试 使用 FVM 磁盘在 qemu 中启动 fuchsia
重新启动 设备管理 重新启动目标 Fuchsia 系统
重现 build 在本地复制基础架构构建和测试的结果
rfc 源代码树 基架新 RFC
run-host-tests 测试 已弃用!在主机上构建和运行测试
run-in-build-dir build 在当前 build 目录的根目录下运行给定的命令
run-netboot 运行、检查和调试 通过 netboot 在 Qemu 中启动 fuchsia
run-script 其他 运行能够利用 fx -i(迭代模式)的自定义命令组合
scp 设备管理 使用构建 SSH 配置调用 scp
sdk-deps 其他 列出目标的依赖项,以及依赖项是否在 SDK 中
self-build build 构建最小的主机依赖项,以运行 fx 主工作流
自测 测试 运行 fx 和子命令测试
serial 设备管理 连接到串行控制台
投放 软件交付 启动更新服务器并连接到正在运行的紫红设备
serve-remote 其他 从远程工作站
设置 build 设置 build 目录
set-build-dir build 设置其他 fx 命令使用的默认 build 目录
设置设备 设备发现 设置默认设备来与之互动
setup-macos 其他 在 MacOS 应用防火墙中注册主机工具
setup-ufw 其他 设置 Linux 防火墙规则,以允许 Fuchsia 设备和模拟器流量。
SFTP 设备管理 使用构建 SSH 配置调用 SFTP
Shell 设备管理 在目标设备中启动远程交互式 shell
ssh 设备管理 使用来自 $FUCHSIA_BUILD_DIR/ssh-keys 的密钥调用 SSH
状态 其他 输出与开发者设置相关的信息
符号化处理 运行、检查和调试 已弃用,请使用“ffx 调试符号化”
同步到 源代码树 将本地 Fuchsia 源代码树同步到给定状态
系统日志 运行、检查和调试 已弃用![已弃用] fx 日志的别名
test 测试 所有 Fuchsia 测试(主机、目标和端到端)的入口点
testgen 测试 组件集成测试自动生成器
未设置设备 设备发现 取消设置要与之互动的默认设备
更新 软件交付 已弃用![已弃用] fx ota 的别名
update-if-in-base 软件交付 检查软件包是否位于基础组件中,并根据需要更新设备
使用 build 重复使用 fx set 设置的上一个 build 目录
供应商 其他 将命令转发到 vendor/*/scripts/devshell
等待 设备管理 等待 shell 变为可用

Contrib 子命令

由拥有其他支持级别和/或所有权级别的项目成员贡献的子命令。contrib 目录中的 OWNERS 文件提供了一个指针,该指针指向支持每个脚本的成员。

命令 类别 说明
添加测试 build 将 GN 标签添加到 args.gn 并重新生成
arm-esr 其他 对 ARM 异常综合症寄存器值进行解码
bindc 运行、检查和调试 运行绑定程序编译器和调试程序
binutils 运行、检查和调试 提供预构建 LLVM binutils 工具的快捷方式
bisect-rustc 其他
blobstats 运行、检查和调试 从 build 中计算一些 blobfs 统计信息
bt-snoop-from-snapshot 运行、检查和调试 从快照中提取信息收集日志(采用 pcap 格式的数据)
check-deps build 检查区域中的依赖关系图
check-goldens 源代码树 检查 GN build 图中的所有黄金文件比较。
支票许可 文档 分析给定软件包或目录的许可状态
cl 代码提交和审核 在新的浏览器窗口中打开 Gerrit 审核网址。
clang-tidy 源代码树 对指定文件运行 clang-tidy
clippy 其他 在锁定的 fx 环境中运行 Rust 帮助程序脚本
clippy 诊断
compdb build 不推荐
core-tests 测试 运行 zircon 核心测试
覆盖率 测试 运行测试并导出覆盖率数据。
cpu-stats 运行、检查和调试 通过快照生成 CPU 统计信息报告
dis 诊断 转储 build 中二进制文件的反汇编。
exec-host-tests 测试
吸收剂 运行、检查和调试 从 check.json 中提取 pprof 数据
Extract-zbi 其他
fastboot 设备管理 通过 fastboot 协议直接与设备的引导加载程序交互
ffx 其他 执行 ffx - 将来的 fx
Filcat 运行、检查和调试 已弃用,请使用“ffx debug fidl”
fidldoc 文档 生成 FIDL 文档
Filtag 其他 为 .fidl 文件生成标记
查找所有者 源代码树 查找与提供的路径或
force-ota-from-devhost 软件交付 强制通过 devhost 进行无线系统更新(重新启动!)
模糊测试 运行、检查和调试 已弃用!对目标设备运行模糊测试
gc 软件交付 目标上的垃圾回收包(重新启动!)
gce 其他 Google Compute Engine 命令
gdb 运行、检查和调试 运行 GDB,即 GNU DeBugger。
gen-cargo 其他 在 fx 环境中运行 Rust 帮助程序脚本
gen-cargo 源代码树 生成指向 Rust Cargo.toml 输出文件的符号链接
Gerrit-split-cl 代码提交和审核 将 CL 链提交到 Gerrit
Gerrit 提交 代码提交和审核 将 CL 链提交到 Gerrit
gnu 运行、检查和调试 提供预构建 GNU 诊断工具的快捷方式
戈马 build 管理 Goma 分布式编译客户端
grep 源代码树 输出 Fuchsia 源中与指定模式匹配的行
init-partition-tables 其他 运行 bootserver 以初始化分区表
iquery 其他
lint 源代码树 对修改过的文件运行源代码 linter
list-packages build 列出构建了哪些软件包。
ls-buildid build 在 build 目录、检出路径和云端存储空间中查找二进制文件
make-fuchsia-vol 其他 构建一个 Fuchsia 永久性磁盘
mkinstaller 软件交付 制作 Fuchsia 安装程序映像
mkinstaller-remote 软件交付 从远程构建主机创建 Fuchsia 安装程序映像
move-docs 文档 用于将文档从一个位置批量移动到另一个位置的帮助工具
待定提交 源代码树 查看尚未发布到全局集成的提交
聚氯乙烯 运行、检查和调试 提供对符号索引中本地文件的访问的 pprof 封装容器
publish 软件交付 发布一组软件包
qemu-cipd-ensure 其他 生成 CIPD 文件以下载当前的 QEMU 软件包。
refresh-bazel-compdb 其他
refresh-bazel-compdb-bin.py 其他
移除更新源 软件交付 将开发主机取消注册为目标的更新来源
roll-compiler 其他
run-boot-test 运行、检查和调试 运行 ZBI 测试
run-boot-test.py 其他
run-e2e-tests 测试 运行 e2e 测试
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 文档 生成 Rust 代码文档
rustfmt 其他 在 fx 环境中运行 Rust 帮助程序脚本
rustfmt 源代码树 设置 Rust 代码的格式
花瓣粉 源代码树 配置 jiri 以管理特定花瓣
set-relay 其他 通过将单个字节写入 |tty| 来激活外部中继的状态。
setup-go 其他 为 Go 开发设置结账功能。
setup-usb-ethernet 其他 为 USB CDC 以太网设置 udev 规则
show-package 软件交付 列出软件包内容
静音 源代码树 使用 allow 或编译器建议的修复使 Rust lint 静音
尺码检查 其他 用于运行商品尺寸检查工具的便利封装容器。
冒烟测试 其他 在 fx 环境中运行 Python 帮助程序脚本
冒烟测试 测试 查找并运行受当前更改影响的测试。
快照 运行、检查和调试 获取并解析来自已连接目标的快照。
抽鼻子 运行、检查和调试 Fuchsia 数据包捕获和显示工具
sniff.py 其他
符号索引 build (已废弃)操控符号索引文件
sync-from-stem 源代码树 同步集成,并依赖于与 fuchsia.git 状态匹配的状态
test-rustdoc 测试 对所有 Rust 目标运行“fx rustdoc”
test-stats 测试 查询和计算测试统计信息。
test-stats.py 测试 查询和计算测试统计信息。
traceutil 运行、检查和调试 Fuchsia 跟踪实用程序
分类 运行、检查和调试 生成错误情况报告
unarchive-package 软件交付 取消归档 FAR 格式的 Fuchsia 软件包归档
update-3p-owners 源代码树 更新第三方依赖项的 OWNERS 文件
update-rust-3p-outdated 源代码树 使用 crate.io 的最新更新来更新外部 Rust 依赖项
update-rustc-third-party 源代码树 更新 rustc_library 和 rustc_binary third_party 依赖项
validate-sdk build 尝试基于核心 SDK 构建几个已知的基于 SDK 的 OOT 代码库
擦除分区表 其他 运行 bootserver 以擦除分区表
zbi_json_to_d3js.py 其他
Zedmon 其他 运行 zedmon 客户端
zxdb 运行、检查和调试 已弃用,请使用“ffx debug connect”