fx - Fuchsia 开发命令

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

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

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

fx 子命令

主要子命令

fx 工作流的子命令。

命令 类别 说明
add-update-source 软件交付 将代码库软件包服务器注册为设备的更新源
args build 手动修改当前 build 目录的 args.gn
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 目录,然后执行完整构建
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
format-code 源代码树 对修改后的文件运行源代码格式化程序
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 文件的元构建系统
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 lint 工具
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
pave 软件交付 运行引导服务器以进行铺路
pave-remote 其他 远程构建、提取和铺路
pave-zedboot 软件交付 运行 bootserver 以铺平 zedboot
pave-zedboot-remote 其他 远程构建、提取和铺设 zedboot
qemu 运行、检查和调试 使用 FVM 磁盘在 QEMU 中启动 Fuchsia
rbe build 检查远程 build 配置
reboot 设备管理 重启目标 Fuchsia 系统
repro build 在本地复制基础架构 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 设备发现 设置要与之交互的默认设备
setup-macos 其他 在 macOS 应用防火墙中注册主机工具
setup-ufw 其他 设置 Linux 防火墙规则以允许 Fuchsia 设备和模拟器流量。
sftp 设备管理 使用 build ssh 配置调用 sftp
shell 设备管理 在目标设备中启动远程交互式 shell
ssh 设备管理 使用 Fuchsia 设备的 ssh 密钥和配置调用 ssh。
status 其他 打印与开发者设置相关的信息
符号化 运行、检查和调试 已废弃,请使用“ffx debug symbolize”
sync-to 源代码树 将本地 Fuchsia 源代码树同步到给定状态
syslog 运行、检查和调试 已弃用!fx 日志的已废弃别名
test 测试 所有 Fuchsia 测试(主机、目标和端到端)的入口点
testgen 测试 组件集成测试自动生成器
unset-device 设备发现 取消设置要与之交互的默认设备
update 软件交付 已弃用!fx ota 的已废弃别名
update-if-in-base 软件交付 检查软件包是否在基础层中,并根据需要更新设备
use build 重复使用 fx set 设置的之前的 build 目录
vendor 其他 将命令转发到 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 源代码树 针对同时在 gn 和 Bazel 中构建的目标同步 BUILD.gn 和 BUILD.bazel。
bindc 运行、检查和调试 运行绑定程序编译器和调试程序
binutils 运行、检查和调试 提供指向预构建 LLVM binutils 工具的快捷方式
bisect-rustc 其他
blobstats 运行、检查和调试 计算 build 中的某些 blobfs 统计信息
bt-snoop-from-snapshot 运行、检查和调试 将快照中的 Snoop 日志提取为 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 core-tests
覆盖率 测试 运行测试并导出覆盖率数据。
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 开发板上。安装用户的 SSH 公钥
force-ota-from-devhost 软件交付 从 devhost 强制执行无线下载系统更新(会重启!)
fuzz 运行、检查和调试 已废弃!在目标设备上运行模糊测试
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 build 打印当前主商品套装的标签
get-main-pb-path build 获取所提供产品 bundle 的输出路径
gnu 运行、检查和调试 提供指向预构建 GNU 诊断工具的快捷方式
grep 源代码树 在 Fuchsia 源代码中输出与给定模式匹配的行
init-partition-tables 其他 运行 bootserver 以初始化分区表
iquery 其他
lint 源代码树 对修改后的文件运行源代码 lint 工具
list-owners 源代码树 查找与所提供路径对应的最近的 OWNERS 文件,或
list-packages build 列出构建的软件包。
ls-buildid build 在 build 目录、检出内容和云端存储空间中查找二进制文件
make-fuchsia-vol 其他 构建 Fuchsia 永久性磁盘
mkinstaller 软件交付 制作 Fuchsia 安装程序映像
mkinstaller-remote 软件交付 从远程构建主机制作 Fuchsia 安装程序映像
move-docs 文档 用于将文档从一个位置批量移至另一个位置的辅助工具
pending-commits 源代码树 查看尚未发布到全球集成的提交
power-digest 运行、检查和调试 汇总来自 Power Broker 的 Inspect 电源事件
power-viz 运行、检查和调试 汇总来自电源代理的“检查电源”事件
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 以管理特定花瓣
set-relay 其他 通过向 |tty| 写入一个字节来激活外部继电器的状态。
setup-go 其他 设置 Go 开发的检出。
setup-usb-ethernet 其他 为 USB CDC 以太网设置 udev 规则
show-package 软件交付 列出软件包内容
shush 源代码树 使用允许或编译器建议的修复来静默 Rust lint
size-check 其他 用于运行商品尺寸检查器的便捷封装容器。
smoke-test 其他 在 fx 环境中运行 Python 辅助脚本
smoke-test 测试 查找并运行受当前更改影响的测试。
snapshot 运行、检查和调试 从关联的目标获取并解析快照。
嗅探 运行、检查和调试 Fuchsia 数据包捕获和显示工具
sniff.py 其他
symbol-index build (已废弃)操控符号索引文件
sync-from-stem 源代码树 将集成和依赖项同步到与 fuchsia.git 状态匹配的状态
system-status 设备管理 获取系统状态摘要
test-rustdoc 测试 在所有 Rust 目标上运行“fx rustdoc”
test-stats 测试 查询和计算测试统计信息。
test-stats.py 测试 查询和计算测试统计信息。
分类 运行、检查和调试 使用 Google 专用规则生成错误情况报告。
unarchive-package 软件交付 解压缩采用 FAR 格式的 Fuchsia 软件包归档文件
update-3p-owners 源代码树 更新了 third_party 依赖项的 OWNERS 文件
update-rust-3p-outdated 源代码树 使用 crates.io 中的最新版本更新外部 Rust 依赖项
update-rustc-third-party 源代码树 更新了 rustc_library 和 rustc_binary third_party 依赖项
validate-sdk build 尝试基于核心 SDK 构建几个已知的基于 SDK 的 OOT 代码库
wipe-partition-tables 其他 运行 bootserver 以擦除分区表
zbi_json_to_d3js.py 其他
zedmon 其他 运行 zedmon 客户端
zxdb 运行、检查和调试 已废弃,请使用“ffx debug connect”