用途
本资料是 Tauri 2 开发的知识库索引,按核心(core)、桌面端(desktop)、移动端(mobile)三个方向组织,每个小节指向一份聚焦的参考文档。参考文档记录常见陷阱(gotchas),并链接到 v2.tauri.app 上的权威文档。适用于处理 Tauri 2 命令、IPC、插件、项目搭建、OAuth 或 CI/CD 时查阅。
快速命令参考
| 任务 | 命令 |
|---|---|
| 新建项目 | npm create tauri-app@latest |
| 添加插件 | npm run tauri add <plugin-name> |
| 开发(桌面) | cargo tauri dev |
| 构建(桌面) | cargo tauri build |
| 信息 / 健全性检查 | cargo tauri info |
| 初始化 Android / iOS | npm run tauri android init / ios init |
| 移动端开发 | npm run tauri android dev / ios dev |
| 构建 APK / AAB | npm run tauri android build --apk / --aab |
| 构建 IPA | npm run tauri ios build |
按主题的阅读顺序
核心(Core)
- setup.md —— 前置条件(Rust、Node、Vite 注意事项)
- rust-patterns.md —— 命令、状态、通道、事件、错误处理
- frontend-patterns.md —— invoke、通道、监听器、能力(capabilities)
- plugins-core.md —— 通用插件(fs、http、store、sql、deep-link 等)
桌面端(Desktop)
- window-management.md —— 多窗口、无边框、托盘、菜单、全局快捷键
- shell-plugin.md —— 生成子进程、sidecar 二进制、作用域命令
- build-deploy-desktop.md —— 打包、代码签名、公证、自动更新
- platform-webviews.md —— WebView2 / WKWebView / WebKitGTK 差异与最低版本
- authentication.md —— 通过系统浏览器进行 OAuth/PKCE
- ci-cd.md —— 与提供商无关的流水线模式
移动端(Mobile)
- setup-mobile.md —— Android SDK + iOS Xcode 工具链,固定版本(AGP 8.11.0 / Gradle 8.14.3 / Kotlin 1.9.25),Gradle 9.0 就绪情况
- plugins-mobile.md —— 生物识别、条码、触觉反馈、NFC、地理定位、Android 安全区域变通方案
- authentication-mobile.md —— 深链接 OAuth、Apple Sign-In、Firebase 回调
- iap.md —— 应用内购买(Google Play + App Store)
- testing.md —— 模拟器、ADB、logcat、WebView 调试(正常路径)
- debugging-mobile.md —— iOS Web Inspector、Rust 回溯提取、商店崩溃日志、故障排查决策树
- mobile-stale-builds.md —— Cargo rerun-if-changed 缺口导致 APK 中打包陈旧前端;build.rs 遍历模式 + Gradle 安全网
- build-deploy-mobile.md —— 签名、商店构建、NDK / 16KB / RustWebViewClient 注意事项
- ci-cd-mobile.md —— CI 中的移动端签名、商店上传
- distribution-android.md —— Play Console 提交、keystore、Play App Signing、常见拒绝原因
- distribution-ios.md —— App Store Connect、证书与描述文件、Info.plist 用途说明、TestFlight、App Privacy
专项(Specialized)
- high-frequency-ui.md —— 流式/交易类 UI 组合(原子状态、虚拟化、rust-lld)
- ipc-streaming.md —— Channel 与 emit 基准对比、rkyv 零拷贝、背压
项目骨架
my-app/
+-- src/ # 前端(React/Vue/Svelte/...)
+-- src-tauri/
| +-- Cargo.toml
| +-- tauri.conf.json # 主配置
| +-- src/
| | +-- main.rs # 桌面入口(不要修改)
| | +-- lib.rs # 你的全部代码 + 移动端入口
| +-- capabilities/
| | +-- default.json # 权限
| +-- gen/
| +-- android/ # 生成的 Android 项目
| +-- apple/ # 生成的 Xcode 项目
最小可用配置
// tauri.conf.json
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "MyApp",
"identifier": "com.company.myapp",
"build": {
"devUrl": "http://localhost:5173",
"frontendDist": "../dist"
}
}
// capabilities/default.json
{ "identifier": "default", "windows": ["main"], "permissions": ["core:default"] }
// src-tauri/src/lib.rs
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![])
.run(tauri::generate_context!())
.expect("error");
}
官方文档
- Tauri 2:https://v2.tauri.app
- 插件索引:https://v2.tauri.app/plugin/
- GitHub:https://github.com/tauri-apps/tauri
- Awesome Tauri(社区):https://github.com/tauri-apps/awesome-tauri
适用场景与限制
本资料面向使用 Tauri 2 进行桌面端与移动端应用开发的场景,提供主题索引与命令速查,帮助定位具体参考文档。资料本身为索引性质,具体实现细节需查阅对应参考文档与官方文档。关于收费、价格、平台支持范围、效果等未在资料中提供的信息,暂未提供。