Quick Reference Tauri 备忘清单:跨平台桌面与移动端开发命令、签名与配置速查
2026/9/14 18:48:43 网站建设 项目流程

Quick Reference Tauri 备忘清单:跨平台桌面与移动端开发命令、签名与配置速查

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

Tauri 是一个轻量、高性能的跨平台应用开发框架,通过复用系统原生 Webview 将前端技术栈与 Rust 后端结合,构建体积远小于 Electron 的桌面与移动应用。本指南以仓库中的 docs/tauri.md 备忘清单为主体,系统覆盖从项目脚手架搭建、日常开发命令、Rust 调试技巧,到 Android/iOS 移动端工程化(编译目标、签名打包)以及tauri.conf.json配置结构的完整速查,帮助读者在拿到一份 Tauri 项目后快速上手开发、排查调试并完成多端发布配置。

入门:五种方式创建 Tauri 项目

Tauri 官方提供了多种脚手架方式,覆盖不同平台的开发者习惯,任选其一即可创建基础项目:

方式一:Bash 脚本(通用 Unix 环境)

sh <(curl https://create.tauri.app/sh)

方式二:PowerShell(Windows)

C:\> irm https://create.tauri.app/ps | iex

方式三:Cargo(Rust 工具链)

$ cargo install create-tauri-app --locked $ cargo create-tauri-app

方式四:主流 JavaScript 包管理器

$ npm create tauri-app@latest $ yarn create tauri-app $ pnpm create tauri-app $ bunx create-tauri-app

依赖环境

Tauri 的开发依赖分前后端两条工具链,缺一不可:

| 软件 | 描述 | | :- | :- | | Rust | Rust 工具链安装(Tauri 后端编译必需) | | Node.js | Node.js 运行时(前端构建与 CLI 依赖) | | Windows Build Tools | Microsoft C++ 生成工具(仅 Windows 平台必需) |

脚手架创建项目后,还需要安装项目依赖(npm install等)才能继续开发。在本仓库的 README.md 中,Tauri 被收录在「客户端」分类下,与 docs/electron.md、docs/wails.md 并列,同属桌面应用开发框架速查板块,对应的导航图标为 assets/tauri.svg。

日常开发命令

启动 Tauri 开发窗口

开发模式会同时启动前端开发服务器与 Rust 后端,并打开应用窗口,支持热更新:

$ npm run tauri dev $ yarn tauri dev $ pnpm tauri dev $ bunx tauri dev $ cargo tauri dev

其中cargo tauri dev适合不依赖 npm 脚本的纯 Rust 工作流;其余命令通过各自包管理器调用@tauri-apps/cli实现。

检测最新版本的 Tauri

在升级前先确认本地 CLI 与最新版本之间的差距:

$ npm outdated @tauri-apps/cli $ yarn outdated @tauri-apps/cli

outdated会列出当前版本、期望版本与最新版本;若使用 pnpm 则直接通过add -D更新到最新版:

$ pnpm add -D @tauri-apps/cli

更新 npm 包

CLI 与运行时 API 需要同步升级,两者分别对应构建工具链与前端 JS 侧 API:

$ npm install @tauri-apps/cli@latest @tauri-apps/api@latest $ yarn upgrade @tauri-apps/cli @tauri-apps/api --latest $ yarn up @tauri-apps/cli @tauri-apps/api $ pnpm update @tauri-apps/cli @tauri-apps/api --latest $ bun update @tauri-apps/cli @tauri-apps/api

更新 Cargo 包

Rust 侧的依赖需要手动编辑src-tauri/Cargo.toml,将tauritauri-build的版本占位符替换为与 CLI 匹配的版本号:

[build-dependencies] tauri-build = "%version%" [dependencies] tauri = { version = "%version%" }

其中%version%是上面检测到的对应版本号。随后在src-tauri目录下执行依赖更新:

$ cd src-tauri $ cargo update

应用程序调试

Rust 侧日志输出

在后端代码中直接使用标准宏输出日志:

println!("Message from Rust: {}", msg);

开启 Rust 回溯(Backtrace)

当 Rust 侧发生 panic 时,设置RUST_BACKTRACE=1可输出完整调用栈,便于定位崩溃位置。

Linux 和 macOS 上通过环境变量前缀重新运行:

RUST_BACKTRACE=1 tauri dev

Windows 上通过set命令设置后运行:

set RUST_BACKTRACE=1 tauri dev

以编程方式打开 Devtools

在应用的setup钩子中通过Managertrait 获取窗口实例,即可控制开发者工具的开合。借助#[cfg(debug_assertions)]条件编译,可以确保这段代码只在调试构建中生效、不会泄漏到生产包:

use tauri::Manager; tauri::Builder::default() .setup(|app| { #[cfg(debug_assertions)] // 仅在调试构建时包含此代码 { let window = app.get_window("main").unwrap(); window.open_devtools(); window.close_devtools(); } Ok(()) });

在生产构建中启用检查器

默认tauri build是 release 构建,若需在接近生产的构建中打开 Devtools 排查问题,可以附加--debug参数:

$ npm run tauri build -- --debug $ yarn tauri build --debug $ pnpm tauri build --debug $ bunx tauri build --debug $ cargo tauri build --debug

启用开发工具 Cargo 功能

除了命令行参数,还可以在src-tauri/Cargo.toml[dependencies]中显式开启devtools特性:

[dependencies] tauri = { version = "...", features = ["...", "devtools"] }

移动端开发

注意事项:体积优势与 Webview 兼容性

Tauri 使用系统原生的 Webview,而不像 Electron 那样将完整的 Chromium 打包进应用,因此构建产物体积相当小。但各手机厂商对 Webview 的支持程度不同,因此在部分设备上可能出现兼容性问题——这是移动端开发前需要评估的关键风险点。

Android 开发

安装 Android Studio 与 SDK 组件

在进行安卓开发之前,需要首先安装 Android Studio 并配置好环境变量。安装后打开Settings,切换到Languages & Frameworks>Android SDK界面(可在此页面更改Android SDK Location以调整 SDK 安装目录),并安装以下组件:

  • Android SDK Platform
  • Android SDK Platform-Tools
  • NDK (Side by side)
  • Android SDK Build-Tools
  • Android SDK Command-line Tools

环境变量

| 变量 | 配置值 | | :- | :- | |JAVA_HOME| 若无其他 JDK 环境,可配置为 Android Studio 安装目录下的 jbr 目录 | |ANDROID_HOME| 配置为 Android SDK Location 目录下的 sdk 目录 | |NDK_HOME| 配置为 Android SDK Location 目录下的 ndk 下的 ndk 版本号目录 |

编译目标

Rust 默认只安装当前主机平台的编译目标(比如在 macOS 上默认为x86_64-apple-darwin)。若要编译到其它平台或架构,就需要使用rustup target add安装对应的编译目标。Android 应用打包时,一般会把多种架构的库文件全部放进 APK/AAB 中,系统会自动选择匹配的那个:

| target | CPU 架构 | 常见设备/场景 | | :- | :- | :- | |aarch64-linux-android| ARM 64 位 | 新款安卓手机(主流) | |armv7-linux-androideabi| ARM 32 位 | 老款安卓手机(较少见) | |i686-linux-android| Intel x86 32 位 | 早期安卓模拟器(老旧) | |x86_64-linux-android| Intel x86 64 位 | 安卓模拟器、新款 Chromebook |

一次性添加全部目标:

$ rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

创建 Android 项目

创建基础 Tauri 项目后即可进入 Android 工程化流程:

# 创建 tauri 项目 $ npm create tauri-app@latest # 安装依赖 $ npm install

也可以基于已有目录手动初始化:

$ npm install -D @tauri-apps/cli@latest # 进入项目目录初始化,按照提示输入即可 $ npx tauri init

创建完成后执行 Android 相关命令:

# 初始化 Android 开发配置 $ npx tauri android init # 开发 Android 应用 $ npx tauri android dev # 构建 Android 应用 $ npx tauri android build

开发调试

首先需要在开发环境下打开应用,才能进行调试。在浏览器打开检查页面,根据浏览器不同地址也不同:Edge 浏览器是edge://inspect,Chrome 浏览器是chrome://inspect。在检查页面中会显示当前运行的应用,点击inspect即可打开调试工具。

生成签名

Android 系统要求所有 APK 必须先使用证书进行数字签名,然后才能安装到设备上或进行更新。keytool是 Java 数据证书管理工具,可以在JAVA_HOME环境变量指向的目录下的/bin/目录中找到keytool.exe

执行以下命令后按照提示输入即可:

$ keytool -genkey -v -keystore 自定义的数据文件名称 -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias 自定义的证书别名

如果是准备上架应用商店的,信息要如实填写,否则可能会因信息不对导致上架失败。输入完毕确认后,工具会要求设置密码,请记住密码,后面会用到。完成以上操作后,当前工作目录下会生成一个自定义的数据文件名称.keystore文件。

手动签名

手动签名需要依次完成:生成密钥库、对齐未签名 APK、使用签名工具签名:

$ keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore $ zipalign -p -f -v 4 unsigned.apk release.apk $ apksigner sign --ks android.keystore release.apk

自动签名

手动签名每次构建都要重复操作,更推荐配置 Gradle 自动签名。首先创建src-tauri/gen/android/keystore.properties文件:

storePassword=数据文件密码 keyPassword=证书密码 keyAlias=自定义的证书别名 storeFile=自定义的数据文件名称.keystore

需要注意,在 Windows 下storeFile需要使用C:\\Program Files\\Android这样的双反斜杠格式。

随后找到src-tauri/gen/android/app/build.gradle.kts文件,添加以下内容:

import java.io.FileInputStream // ... android { defaultConfig { // ... } signingConfigs { create("release") { val keystorePropertiesFile = rootProject.file("keystore.properties") val keystoreProperties = Properties() if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } keyAlias = keystoreProperties["keyAlias"] as String keyPassword = keystoreProperties["keyPassword"] as String storeFile = file(keystoreProperties["storeFile"] as String) storePassword = keystoreProperties["storePassword"] as String } } buildTypes { // ... getByName("release") { signingConfig = signingConfigs.getByName("release") // ... } } }

配置完毕后,当执行npm run tauri android build时,会自动对构建的 APK/AAB 文件进行签名。

iOS 开发

预先准备

根据苹果政策,macOS 不允许运行在非 Mac 硬件上,而开发所依赖的 Xcode 工具链只在 macOS 上可用。因此,为了开发 iOS 和 macOS 应用,必须要有一台 Mac 设备。对应用进行签名和发布,需要加入 Apple Developer Program(年费 99 美元)。不付费可以正常使用 Xcode 等工具,但无法进行正式签名和在 App Store 上架。

签名

iOS 应用的签名现在已经非常简单了。在 Xcode 打开项目,登录 Apple Developer 账号,在项目配置中找到并勾选自动管理签名即可,Xcode 会自动帮助我们管理证书与签名。

开发调试

首先需要在开发环境下打开应用,才能进行调试。在 Mac 上打开 Safari 浏览器,开启开发者模式,接着找到需要调试的设备即可。如果是真机调试,则需要在设备上开启开发者模式。

环境搭建

iOS 开发链路依赖苹果工具链与第三方包管理工具,按序准备:

安装 Xcode

Xcode 是苹果官方的开发工具,提供了完整的开发环境,包括测试、分发、模拟器等。需要注意的是,Xcode 的版本并非越新越好,而是要根据当前设备的 macOS 系统版本来选择。

安装 Homebrew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
使用 Homebrew 安装 CocoaPods
brew install cocoapods
增加编译目标
$ rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim

其中aarch64-apple-ios对应真机(ARM 64 位),x86_64-apple-ios对应 Intel 模拟器,aarch64-apple-ios-sim对应 Apple Silicon 模拟器。

创建 iOS 项目

与 Android 流程一致,先创建基础 Tauri 项目:

# 创建 tauri 项目 $ npm create tauri-app@latest # 安装依赖 $ npm install

手动创建:

$ npm install -D @tauri-apps/cli@latest # 进入项目目录初始化,按照提示输入即可 $ npx tauri init

创建后执行 iOS 相关命令:

# 初始化 iOS 开发配置 $ npx tauri ios init # 开发 iOS 应用 $ npx tauri ios dev # 构建 iOS 应用 $ npx tauri ios build

Tauri 配置速查

配置结构

默认配置文件为tauri.conf.json,同时支持tauri.conf.json5Tauri.toml两种格式。配置顶层包含四个分区:

分区描述
package包设置
tauriTauri 配置
build构建配置
plugins插件配置

示例结构:

{ "build": { ... }, "package": { ... }, "tauri": { ... } }

此外,以下平台专属配置文件能与主配置进行合并(同名键覆盖主配置):

  • tauri.linux.conf.jsonTauri.linux.conf.toml
  • tauri.windows.conf.jsonTauri.windows.conf.toml
  • tauri.macos.conf.jsonTauri.macos.conf.toml

Tauri 配置项

tauri分区下的核心配置项如下:

配置Type描述
patternPatternKind应用模式
versionWindowConfig[]窗口配置数组
cliCliConfigCLI 配置
bundleBundleConfig打包器配置
allowlistAllowlistConfig允许列表配置
securitySecurityConfig安全配置
updaterUpdaterConfig更新程序配置
systemTraySystemTrayConfig应用系统托盘配置
macOSPrivateApibooleanmacOS 私有 API 配置

CliConfig:命令行接口配置

用于描述 Tauri 应用暴露的自定义 CLI:

配置Type描述
descriptionstring?将显示在帮助信息中
longDescriptionstring?将显示在帮助信息中
beforeHelpstring?显示在自动生成的帮助信息之前,通常用于标题信息
afterHelpstring?显示在自动生成的帮助信息之后,通常用于描述参数用法或注意事项
argsarray?命令的参数列表
subcommandsobject?该命令的子命令列表

Package 配置

配置描述
productName应用程序名称
version应用程序版本

WindowConfig:窗口配置对象

配置Type默认值描述
labelstringnull窗口标识符
urlWindowUrlview窗口的 webview URL
userAgentuserAgent?nullwebview 的用户代理
fileDropEnabledbooleantrue是否在 Web 视图上启用文件放置
centerbooleanfalse窗口是否开始居中
xnumber?null窗口左上角的水平位置
ynumber?null窗口左上角的水平位置
widthnumber800窗口宽度
heightnumber600窗口高度
minWidthnumbernull最小窗口宽度
minHeightnumbernull最小窗口高度

PatternKind:应用模式

应用模式可以是以下类型中的任意一种:

棕地模式(Brownfield)——使用现有前端项目作为应用主体:

{ "use": "brownfield" }

隔离模式(Isolation)——出于安全目的建议采用,可指定隔离目录:

{ "use": "isolation", "options": { "dir": string } }

WindowUrl:窗口加载地址

指定要在 Tauri Web 视图窗口中打开的 URL,可以是以下任一类型:

  • string(format:uri):外部 URL。
  • string:应用程序 URL 的路径部分。例如要加载tauri://localhost/users/john,只需在此配置中提供users/john

SystemTrayConfig:系统托盘配置

配置Type默认值描述
iconPathstring(必填)null系统托盘上使用的默认图标路径
iconAsTemplatebooleanfalse用于确定图像是否代表 macOS 上的模板图像
menuOnLeftClickbooleantrue确定在 macOS 上托盘图标收到左键点击时菜单是否应该出现
titlestring?nullmacOS 托盘标题

结语

这份速查覆盖了 Tauri 从桌面到移动端的完整开发链路:脚手架创建、日常dev/build命令、Rust 调试与 Devtools 控制、Android/iOS 的编译目标与签名发布,以及tauri.conf.json的核心配置结构。在 README.md 的「客户端」分类中,Tauri 与 docs/electron.md、docs/wails.md 共同构成桌面应用框架速查矩阵;同时该条目在首页被标记为contributing(待完善)状态,意味着读者可以参考 CONTRIBUTING.md 中的规范持续补充更多配置项与命令细节。

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询