Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功

关键词:Tauri、Android、Gradle、跨平台、离线构建、Rust + Web

最近在尝试使用 Tauri 开发一款跨平台的量房工具,目标是同时支持桌面端(Windows/macOS/Linux)和移动端(Android)。在 Windows 上开发一切顺利,但在运行 pnpm tauri android dev 时,接连遇到两个典型问题:

  1. Unsupported class file major version 66
  2. Minimum supported Gradle version is 8.13. Current version is 8.7
  3. Gradle 下载超时(网络受限)

经过多次调试,最终成功在 Android 模拟器上运行应用。现将完整解决过程记录如下,希望能帮到同样踩坑的朋友。


🔧 问题一:Java 版本与 Gradle 不兼容

❌ 错误信息

复制代码
Unsupported class file major version 66

💡 原因分析

  • major version 66 对应 Java 22 编译的 class 文件;
  • 但构建时实际使用的 JVM 版本较低(如 JDK 21),无法加载高版本 class;
  • 虽然设置了 JAVA_HOME,但 Tauri 调用 Gradle 时可能受 PATH 中其他 Java 干扰。

✅ 解决方案

  • 统一使用 JDK 21(Android 官方推荐版本);
  • 设置 JAVA_HOME=D:\Android\Java\jdk-21.0.3
  • 清理缓存:删除 src-tauri/targetgen/android/.gradle
  • 重启终端确保环境变量生效。

📌 建议 :Tauri + Android 目前对 JDK 22 支持不完善,优先使用 JDK 17 或 21


🔧 问题二:Gradle 版本过低

❌ 错误信息

复制代码
Minimum supported Gradle version is 8.13. Current version is 8.7.

💡 原因分析

  • Tauri 新版默认使用较新的 Android Gradle Plugin (AGP)
  • AGP 8.5+ 要求 Gradle ≥ 8.13,但项目生成的 Wrapper 仍是 8.7。

✅ 解决方案

修改文件:

复制代码
src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties

将:

properties 复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

更新为:

properties 复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip

✅ Gradle 8.14.3 是当前与 AGP 兼容的最新稳定版。


🌐 问题三:Gradle 下载超时(网络问题)

❌ 错误信息

复制代码
java.net.SocketTimeoutException: Connect timed out

✅ 解决方案:使用本地 ZIP 文件(离线构建)

  1. 从浏览器手动下载 gradle-8.14.3-bin.zip
  2. 修改 gradle-wrapper.properties 中的 distributionUrl 为本地路径:
properties 复制代码
distributionUrl=file:///D:/Android/Gradle/gradle-8.14.3-bin.zip

⚠️ 注意:

  • 使用 file:/// 前缀;
  • 路径用正斜杠 /
  • 文件必须是官方 ZIP 包(未解压)。
  1. 重新运行 pnpm tauri android dev,构建成功!

🎉 最终成果

  • 在 Windows 上开发 Tauri 应用;
  • 成功在 Android 模拟器(x86_64)上运行;
  • 前端通过局域网 IP(如 192.168.0.193:1420)与 Rust 后端通信;
  • 无需编写任何 Java/Kotlin 代码,纯 Web + Rust 实现。

💡 经验总结

项目 建议
JDK 版本 使用 JDK 21,避免 JDK 22 的兼容性问题
Gradle 版本 保持与 AGP 兼容(当前推荐 8.13--8.14)
网络受限 file:// 指向本地 ZIP 实现离线构建
跨平台开发 Tauri 真正实现"一套代码,多端运行",极大降低开发成本

相关推荐
Android小码家12 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗
赏金术士12 小时前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
数据法师12 小时前
MotrixNext:接棒经典 Motrix,用 Tauri 2+Rust 重构的下一代开源下载神器
重构·rust·开源
卡卡军13 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
颂love13 小时前
MySQL的执行流程
android·数据库·mysql
云起SAAS18 小时前
抖音小游戏源码 - 消消乐 | 含激励广告+成就系统 | 开箱即用商业级消除游戏模板
android·游戏·广告联盟·看激励广告联盟流量主·抖音小游戏源码 - 消消乐
大貔貅喝啤酒19 小时前
基于Windows下载安装Android Studio 3.3.2版本教程(2026详细图文版)
android·java·windows·android studio
程序员码歌19 小时前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
2501_9151063219 小时前
深入解析无源码iOS加固原理与方案,保护应用安全
android·安全·ios·小程序·uni-app·cocoa·iphone
codealy20 小时前
Rust 核心理论: 高并发与异步(三)
算法·rust