news 2026/9/24 16:28:38

QzoneArchive Android构建指南:Tauri移动开发完整上手教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QzoneArchive Android构建指南:Tauri移动开发完整上手教程

QzoneArchive Android构建指南:Tauri移动开发完整上手教程

【免费下载链接】QzoneArchive将 QQ 空间历史动态、照片、视频与互动记录安全归档到本地的桌面 / 移动端工具。项目地址: https://gitcode.com/gh_mirrors/qz/QzoneArchive

QzoneArchive 是一款将 QQ 空间动态、照片、视频与互动记录安全归档到本地的桌面/移动端工具。本文是一份面向新手的Tauri 2 Android 构建完整教程:从环境安装、一键编译到模拟器运行,再到打包签名发布版 APK,带你 30 分钟把 QQ 空间归档工具装进自己的手机 📱

为什么值得自建 QzoneArchive 的 Android 版

QQ 空间的资料会随时间流失,而 QzoneArchive 的核心能力全部可以在手机上使用:

  • 完整归档:还原原始动态正文、图片、视频和评论,按「本人动态 / 好友动态 / 留言」分类
  • 断点续传:网络中断后自动从上次位置继续,已归档内容不丢失
  • 频率保护:每 10 分钟最多请求 300 页,触发限流后安全暂停
  • 本地存储:所有数据以 SQLite 保存在本机,不上传任何服务器

Android 端使用移动端二维码扫码登录,全程不接触账号密码。下面这张图就是归档完成后,手机里可以看到的应用主界面:

Android 构建环境前置要求清单

动手前先对照检查环境,这是 Tauri 移动开发最常见的卡点来源:

组件版本要求用途
Node.js20+前端 Vite 构建与 Tauri CLI 调用
Rust1.77+编译 Rust 后端(含 src-tauri/src/qzone.rs 归档引擎)
Android Studio最新版图形化配置 SDK/NDK
Android SDK平台 34+打包 APK 系统依赖
Android NDK25 及以上交叉编译 Rust 为.so动态库
JDK17Gradle 构建

💡 建议用 Android Studio 的 SDK Manager 一次性装齐NDKCMake,否则后续编译会在 NDK 检测阶段失败。

克隆仓库并安装前端依赖

打开终端执行:

git clone https://gitcode.com/gh_mirrors/qz/QzoneArchive cd QzoneArchive npm install

npm install会安装 package.json 中声明的 Vue 3、PrimeVue、Pinia 以及@tauri-apps/cli(Tauri 命令行工具,Android 构建全靠它驱动)。

一条命令把 QzoneArchive 编译到 Android 模拟器

启动一个 Android 模拟器(或在真机上开启 USB 调试),然后执行:

npm run tauri android dev

这条命令背后的完整流程是:

  1. Tauri CLI 校验 src-tauri/tauri.android.conf.json 中的 Android 专属配置(如移动端产品名QArchive);
  2. 为 4 种 CPU 架构目标(aarch64 / armv7 / i686 / x86_64)交叉编译 Rust 代码,生成.so库;
  3. Gradle 把 Rust 产物与前端打包成 debug APK,自动安装并启动。

首次运行时如果提示配置,按引导在 Android Studio 中确认 SDK 目录即可。看到模拟器中打开的应用,说明整条 Tauri 移动端构建链路已经通了 ✅

构建签名后的发布版 APK

debug 包只适合开发验证,发给别人安装需要 release 包:

npm run tauri android build --apk
  • 产物位置src-tauri/gen/android/app/build/outputs/apk/universal/release/,默认生成覆盖全部 ABI 的 APK;
  • 签名:构建产出的是未签名 APK,需用apksigner配合 keystore 签名后才能分发。仓库根目录自带发布签名密钥文件 release.jks,可自行用于签名。

🚀提速技巧:默认会为 4 种 ABI 各编译一遍 Rust,非常耗时。如果只装手机(基本是 arm64),可以在 src-tauri/gen/android/gradle.properties 中加一行abiList=arm64-v8a,构建时间能缩短大半。

归档任务界面同样完整移植到了移动端,长任务可随时挂起继续:

Android 侧关键文件速览

生成工程位于src-tauri/gen/android/,理解这几个文件即可掌握 Tauri 的移动端结构:

  • AndroidManifest.xml:声明INTERNET权限(归档必须联网拉取数据)、singleTask启动模式和 FileProvider;
  • MainActivity.kt:应用唯一入口 Activity,启用全屏边缘到边缘显示;
  • RustPlugin.kt:核心构建插件,为每种 ABI 生成 productFlavor 和rustBuild*任务,并支持abiList/archList/targetList属性裁剪目标;
  • BuildTask.kt:实际执行npm run tauri android android-studio-script --target <目标>完成单个架构的 Rust 编译;
  • src-tauri/src/qlogin.rs:QQ 登录模块,移动端走二维码扫码流程。

权限配置在 src-tauri/capabilities/default.json 中统一管理,桌面与 Android 共用同一套前端能力声明。

常见构建报错与解决方法

报错现象原因解决方法
Android SDK not found未设置 SDK 路径在 Android Studio 中完成 SDK 授权,或配置ANDROID_HOMElocal.propertiessdk.dir
NDK not configured缺 NDKSDK Manager 中安装 NDK(Side by side)25+
构建极慢默认编译 4 种 ABIgradle.properties中设abiList=arm64-v8a收窄目标
cargo找不到目标Rust 交叉目标未安装Tauri CLI 会自动rustup target add,手动场景可先执行对应命令
应用无法联网拉取数据未授予 INTERNET 权限检查 AndroidManifest.xml 权限声明是否被改动

小结

至此你已经完整走通了QzoneArchive 的 Tauri Android 构建流程:环境装齐 →npm run tauri android dev调试 →npm run tauri android build --apk出包 → 签名安装。Tauri 2 的移动端方案本质上就是"Rust 交叉编译 + Gradle 组装",掌握了这条链路,后续改前端(src/views/)或 Rust 后端(src-tauri/src/)都能用同一套命令快速验证。更多开发细节可参考 website/development/index.md 与 CONTRIBUTING.md 贡献指南。

【免费下载链接】QzoneArchive将 QQ 空间历史动态、照片、视频与互动记录安全归档到本地的桌面 / 移动端工具。项目地址: https://gitcode.com/gh_mirrors/qz/QzoneArchive

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:28:02

RedwoodJS 禁用 API 层与数据库:纯静态站点部署实战指南

后端前端Web框架开发工具 【免费下载链接】redwood RedwoodGraphQL 项目地址&#xff1a; https://gitcode.com/gh_mirrors/re/redwood 点击查看 免费下载 本文以 RedwoodJS 为背景&#xff0c;完整讲解如何在不使用 API 层与数据库的前提下&#xff0c;将一个 Redwood 项目改…

作者头像 李华
网站建设 2026/9/24 16:20:55

【Dv2Admin】mounted实现定时请求和消息通知

在现代应用开发中,消息通知功能在提升用户体验中发挥着至关重要的作用,特别是当用户有未读消息时,如何及时提醒用户成为一个挑战。本文将通过实际的代码示例和应用场景,介绍如何在Vue.js项目中集成一个智能的消息通知系统,使用户能够周期性地收到未读消息提醒,并通过点击…

作者头像 李华