SuperAPI AI 工具集

tauri

编程与开发

查看项目

更新于 10-15 09:54

技能介绍

用途

本资料是 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 进行桌面端与移动端应用开发的场景,提供主题索引与命令速查,帮助定位具体参考文档。资料本身为索引性质,具体实现细节需查阅对应参考文档与官方文档。关于收费、价格、平台支持范围、效果等未在资料中提供的信息,暂未提供。