编译 App
在电脑上从源码编译 OneKey 桌面版 App。
- 60 分钟
- 在电脑上
App 运行在你的电脑上,负责显示余额、准备交易。从源码编译它,和编译固件的理由一样:你知道自己运行的是什么。
这里要用桌面版。它把和钱包通信需要的部分都打包在自己里面;浏览器插件和网页版运行时会从 OneKey 的服务器加载这部分。
唯一的改动
设备连接时,OneKey App 会检查它是不是 OneKey 生产的。你的设备永远通不过,因为它要求的证书只有 OneKey 工厂能发。所以编译前要先打一个一行的改动,跳过这项检查。打之前可以完整查看这个改动:app-skip-genuine-check.patch。
安装工具
需要一台 Mac 或 Linux 电脑,装好 Git 和 Node.js 22 或 24 版。
- 安装苹果的命令行工具,里面包含 Git。在终端里运行
xcode-select --install,按提示操作。 - 从 nodejs.org 安装 Node.js 22 LTS 或 24 LTS。
- 安装 Git 和常用的编译工具,比如在 Debian 或 Ubuntu 上:
sudo apt install -y git rsync build-essential python3 pkg-config libudev-dev。 - 从 nodejs.org 或你的发行版安装 Node.js 22 LTS 或 24 LTS。
关掉终端再打开一个新的,让它识别刚装好的工具。
下载源码并打上改动
git clone --depth 1 --branch v6.6.3 https://github.com/OneKeyHQ/app-monorepo.git
cd app-monorepo
git log -1 --format=%H最后一条命令应该显示 d510ab79e622ed042444940b8a848c1b1628ab68,也就是 OneKey 发布 v6.6.3 时的提交。
curl -fLO https://raw.githubusercontent.com/rayston92/firmware-classic1s/diy/diy/app-skip-genuine-check.patch
git apply app-skip-genuine-check.patchgit apply 成功时不会输出任何内容。
编译
下面的命令会下载 App 用到的库并编译。预计 30 分钟到一个小时,编译时请关掉其他占内存的程序。
corepack enable
export ONEKEY_FONTS_FORCE_FALLBACK=1
yarn
cd apps/desktop
yarn build:renderer
yarn build:main
yarn install-app-deps如果 corepack enable 提示没有权限,改用 sudo corepack enable,然后继续。
ONEKEY_FONTS_FORCE_FALLBACK 让编译使用开源的 Inter 字体,而不是去下载 OneKey 有版权的品牌字体,你没有它的访问权限。
然后打包成可以打开的程序:
npx electron-builder build --mac --dir --config electron-builder.config.js -c.mac.identity=null --publish neverApp 在 apps/desktop/build-electron 里一个以 mac 开头的文件夹中,打开里面的 OneKey.app。第一次打开时 macOS 可能提示无法验证开发者:右键点 App,选 打开,再点一次 打开。
npx electron-builder build --linux --dir --config electron-builder.config.js --publish never
sudo cp public/static/udev/99-onekey.rules /etc/udev/rules.d/
sudo udevadm control --reload-rulesApp 是 apps/desktop/build-electron/linux-unpacked/onekey-wallet。后两条命令让它不用 root 权限也能打开钱包的 USB 连接。
检查点
App 能打开,显示欢迎界面。下一步要用,先别关。