在Windows系统上构建
This commit is contained in:
@@ -69,6 +69,7 @@ npm run tauri android build
|
||||
产物路径:
|
||||
```
|
||||
src-tauri/gen/android/app/build/outputs/apk/
|
||||
|
||||
```
|
||||
|
||||
## 6. 生成签名密钥(release 必需)
|
||||
@@ -109,5 +110,40 @@ adb install -r <上面生成的 apk 路径>
|
||||
- 缺少 `gobject-2.0`/`openssl.pc`:补装 1.2 的桌面依赖(仅桌面构建需要)。
|
||||
- 扫码权限报 `barcode-scanner:allow-scan not found`:该权限只在移动端,已放入 `src-tauri/capabilities/mobile.json`,桌面构建不加载。
|
||||
- 图标缺失导致 `generate_context!` 失败:确认 `src-tauri/icons/icon.png` 存在,可用 `npm run tauri icon <源图>` 生成全套。
|
||||
- NDK 找不到:检查 `NDK_HOME` 是否指向真实存在的版本目录。
|
||||
|
||||
- NDK 找不到:检查 `NDK_HOME` 是否指向真实存在的版本目录。
|
||||
|
||||
|
||||
|
||||
## 9. Windows 本地工具链(通过 mise 安装)
|
||||
|
||||
本仓库根目录的 `mise.toml` 固定了 Android 构建所需的工具链,均通过 [mise](https://mise.jdx.dev) 管理。
|
||||
|
||||
安装步骤:
|
||||
```powershell
|
||||
mise install # 安装 java(temurin-17) + rust(1.89)
|
||||
mise trust # 首次需信任本目录的 mise.toml 以启用环境变量
|
||||
```
|
||||
|
||||
工具链清单:
|
||||
- JDK 17(`java = "temurin-17"`),Android/Gradle 需要 17+。
|
||||
- Rust 1.89(`rust = "1.89"`),并已 `rustup target add` 四个 Android 目标
|
||||
(aarch64/armv7/i686/x86_64-linux-android)。
|
||||
- Android SDK 安装在 `D:\android-sdk`(平台 android-34、build-tools 34.0.0、
|
||||
platform-tools、NDK 27.2.12479018、emulator + system-images;android-34;google_apis;x86_64)。
|
||||
通过 `mise.toml` 的 `[env]` 注入 `ANDROID_HOME` / `NDK_HOME` 及 PATH。
|
||||
- 模拟器 AVD:`tauri_test`(Pixel 6,Android 14)。启动:`emulator -avd tauri_test`。
|
||||
|
||||
> 说明:Windows 上 mise 的 vfox android-sdk 插件校验会失败,且 C 盘空间紧张,
|
||||
> 因此 SDK 手动安装到 D 盘并用环境变量接入;JDK 因 GitHub 发布 CDN 在本网络不可达,
|
||||
> 改用清华镜像下载后由 mise 离线安装(`MISE_PREFER_OFFLINE=1`)。
|
||||
|
||||
### 已知问题:360 安全卫士拦截构建
|
||||
本机安装了 **360 安全卫士**(`ZhuDongFangYu` 主动防御)。它会拦截 cargo 新编译出的
|
||||
build-script 可执行文件的运行,导致 `cargo build` 报 `拒绝访问 (os error 5)` 或卡死。
|
||||
构建 Android 前需临时退出 360 主动防御,或将本仓库与 `~/.cargo`、`~/.rustup` 加入信任白名单。
|
||||
|
||||
### 前端测试
|
||||
```powershell
|
||||
npm test # 含 autofill 与 qrscan(二维码解码)用例
|
||||
node tests/fixtures/generate-qr.mjs # 生成一张测试二维码图片 tests/fixtures/sample-qr.png
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user