人人都会AI编程

25.2 iOS / Android 环境搭建与项目配置

更新时间:2026-07-11

Tauri 从 v2 开始正式支持移动端,让同一套前端 + Rust 后端可以同时输出桌面和移动应用。不过移动端的构建过程与桌面端略有不同,环境准备需要更仔细。


前置依赖

无论开发 iOS 还是 Android,你都需要安装这些基础工具:

  • Node.jspnpm / yarn / npm
  • Rust(通过 rustup 安装,并使用 stable 工具链)
  • Tauri CLIcargo install tauri-cli --version "^2"

然后为移动平台添加对应的编译目标:

rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

iOS 环境搭建

  1. 安装 Xcode(从 App Store 获取),并确保已接受许可协议:

sudo xcodebuild -license accept

  1. 安装 iOS 模拟器:打开 Xcode → Preferences → Components,下载至少一个 iOS 版本。
  2. 验证 Rust 目标已正确安装(上面的 aarch64-apple-ios 等)。
  3. 授权终端访问 Xcode 工具链:确保 xcrun 可用。

项目配置
在已有的 Tauri 项目中初始化 iOS:

npx tauri ios init

这会生成 ios/ 目录(包含 Xcode 工程),并在 tauri.conf.json 中添加 bundle 下移动端相关的配置,例如包名、版本号、开发团队 ID 等。
你需要在配置文件中填写:

{
  "bundle": {
    "identifier": "com.example.myapp",
    "iOS": {
      "developmentTeam": "YOUR_TEAM_ID"
    }
  }
}

若仅用模拟器调试,developmentTeam 可暂时留空,但真机打包必须提供。

运行

npx tauri ios dev

会启动 Metro(React Native 式的开发服务器)并在模拟器中加载应用。Rust 后端代码会被编译成 iOS 静态库并与原生项目集成。


Android 环境搭建

  1. 安装 Android Studio,并在 SDK Manager 中下载:
  • Android SDK Platform(至少 API 30)
  • NDK(推荐最新稳定版)
  • Android SDK Build-Tools
  • Platform-Tools
  • 模拟器(可选)
  1. 设置环境变量(将下面的路径替换为你的实际路径):
   export ANDROID_HOME="$HOME/Android/Sdk"
   export NDK_HOME="$ANDROID_HOME/ndk/26.1.10909125"
   export PATH="$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH"
   
  1. 安装 Java JDK 17 或更高版本(推荐 OpenJDK)。
  2. 验证:运行 sdkmanager --listadb 命令是否可用。

项目配置
初始化 Android:

npx tauri android init

这会创建 android/ 目录,并生成 Gradle 构建文件。在 tauri.conf.json 中同样需要 identifier,Android 的默认包名即从此处读出。

运行

npx tauri android dev

它会启动 Gradle 构建,安装到连接的设备或模拟器上,并自动启动热重载。Rust 代码会被编译成动态库(.so)并打包进 APK。


通用配置要点

  • 前端开发服务器地址:移动设备与电脑处于同一网络时,Tauri 会自动配置 devUrl,但若出现连接问题,可在 tauri.conf.json 中明确指定本机 IP。
  • 权限:移动端对文件、网络、相机等权限控制更严格,需分别在 Info.plist(iOS)和 AndroidManifest.xml(Android)中声明,否则运行时可能崩溃或功能失效。
  • 签名:调试可用默认签名,发布时必须配置 iOS 的证书/描述文件,和 Android 的密钥库。
  • 多平台代码:在 Rust 中可用 #[cfg(target_os = "android")] 等条件编译处理平台差异。

常见问题

  • tauri ios dev 卡在“等待 Rust 编译”:检查 rustup target 列表是否包含 aarch64-apple-ios-sim,模拟器需要此目标。
  • Android 无法找到 NDK:确保 NDK_HOME 指向正确目录,且与 ANDROID_HOME 下的 NDK 版本匹配。
  • 模拟器启动白屏:先确保前端项目可独立在浏览器运行,再检查 WebView 是否加载了正确 URL。

完成上述配置后,你就可以在真机或模拟器上实时调试同一个 Tauri 项目,实现“一套代码,全端运行”了。