RTranslator 模型下载太慢?手动部署 10 个 onnx 文件,10 分钟跑通离线翻译
【免费下载链接】RTranslatorOpen source real-time translation app for Android that runs locally项目地址: https://gitcode.com/GitHub_Trending/rt/RTranslator
RTranslator 是一款在本地手机离线运行 NLLB 翻译和 Whisper 语音识别的开源 Android 应用,它的全部能力都依赖首次启动时下载的 1.2GB 模型文件,而"这一步下载慢、易中断"正是新手卡得最久的地方。本文的解决路径是绕过手机联网下载:在电脑上把 10 个 .onnx 模型文件放进应用指定的目录,应用启动时自动校验并跳过下载,全程约 5~10 分钟。
这个门槛到底卡在哪
应用进入下载页后,会走系统 DownloadManager 逐个拉取 10 个 .onnx 文件(NLLB 4 个 + Whisper 6 个,合计约 1.2GB,见 README.md),每个文件下载完还要再经历一步"外部存储 → 内部存储"的拷贝,进度条按总字节量折算,任何一步中断都要重新排队。也就是说你面对的不是 1 个文件,而是 10 次下载加 10 次拷贝,而模型源文件托管在 GitHub Releases,国内网络速度常常只有几十 KB/s,一次跑完可能要以小时计。
判断依据:如果你的下载页长时间停在某个文件、进度条几乎不动,或反复弹出"下载时出错",同时用浏览器打开模型直链测速也很慢,那就是网络侧拉不动这 1.2GB,而不是设备问题。
动手前自检
| 项目 | 最低要求 | 推荐值 |
|---|---|---|
| Android 版本 | Android 7.0(minSdk 24,见 app/build.gradle) | Android 11+ |
| 手机内存 | 6GB RAM(README.md:低于此值有崩溃风险) | 8GB+(Whisper 可切 0.5GB 低耗模式) |
| 可用存储 | 约 2.1GB(1.2GB 模型 + 代码中预留的 800MB 拷贝余量) | 3GB 以上 |
| 应用版本 | 2.0.3 及以上(Sideloading.md:手动部署自 2.0.3 起支持) | 最新版 |
| 一台电脑 | 能访问应用数据目录(Android 限制手机内访问,但允许电脑端访问) | Windows/Mac 均可 |
快速确认路径:USB 连接后在电脑上打开Android/data/nie.translator.rtranslator/files,能看到一个 Readme.txt,就说明目录找对了。
一分钟对号入座
| 路线 | 适用人群 | 耗时 | 难度 | 所需工具 | 一句话特点 |
|---|---|---|---|---|---|
| 应用内直接下载 | 网络快、愿意等的人 | 数小时 | 无 | 无 | 官方默认路径,国内网络体验最差 |
| 电脑手动放模型文件 | 大多数人 | 5~10 分钟 | 低 | 电脑 + 数据线 | 官方在 Sideloading.md 中给出的正式方案 |
| ADB 推送 | 批量部署/开发者 | 2~5 分钟 | 中 | ADB | 一条命令推完 10 个文件,出错排查成本高 |
网络慢就直接跳到下面的主推路线;只有多台设备要统一装模型时才考虑 ADB。
主推路线:手动部署模型文件
在电脑上下载 10 个 .onnx 文件打开 RTranslator 的 Release 页(2.0.0 版本),把 assets 列表里全部 10 个 .onnx 文件下到电脑。名单与 DownloadFragment.java 中的
DOWNLOAD_NAMES一一对应:NLLB 的 cache_initializer、decoder、embed_and_lm_head、encoder 共 4 个,Whisper 的 cache_initializer、cache_initializer_batch、decoder、detokenizer、encoder、initializer 共 6 个,单个文件大小以仓库 Release 页为准。成功标志:电脑上有 10 个 .onnx 文件,无 .crdownload 之类的下载残件,总大小约 1.2GB。冷启动应用一次,让它创建目录装好应用后启动 RTranslator,接受通知权限(仅用于对话/对讲机模式后台状态),然后直接退出,不要点进下载流程。应用会在这个时机建好放模型的目录。成功标志:用数据线连上电脑后,能看到
Android/data/nie.translator.rtranslator/目录。注意:要拔线重插,不能只刷新如果电脑之前就一直连着手机,把线拔掉再重新插上。Sideloading.md 明确提示:不重插的话,刚创建的目录不会出现在文件管理器里。成功标志:目录树里出现
nie.translator.rtranslator/files。把 10 个文件复制进 files 目录目标路径在内部存储(有 SD 卡时不确定该放哪就照下面的锚点判断):
Android/data/nie.translator.rtranslator/files/判断锚点:先看内部存储里这个 files 目录中有没有 Readme.txt(NoticeFragment.java 首次启动会写入);没有就去 SD 卡里找。10 个文件平铺进 files 目录根部,不要多套一层文件夹。成功标志:files 目录里 10 个 .onnx 与 Readme.txt 平级,大小与电脑上一致。
重新打开应用,等待校验启动 RTranslator 并继续配置。走到下载页时,应用不会发起真正的下载,而是从你放的目录直接提取模型并逐个做完整性校验,进度条会照常走完;只有校验不通过的文件才会重新联网下载。成功标志:进度结束后进入主界面;回头看 files 目录,你放的 .onnx 文件已经消失——它们被搬进了应用私有存储,之后断网也能用。
备选路线
- 应用内直接下载:官方默认路径,模型托管在 GitHub Releases,国内常只有几十 KB/s;下载页提供暂停/重试按钮,但中断后要重排队,只适合网络本身快的人。
- ADB 推送:先按主推路线第 2 步建好目录,再用
adb push把 10 个 .onnx 推到上述 files 目录,适合一次给多台设备部署。风险是 adb 路径写错会推到错误位置,校验阶段才发现,反而更绕。
出问题了:现象 → 原因 → 处理
| 原文错误信息 / 现象 | 可能原因 | 处理动作 |
|---|---|---|
| "下载时出错,请确保您有因特网联机并重试" | 网络中断或源站访问失败 | 转主推路线手动放文件;或点重试再试一次 |
| "加载翻译和语音识别模型档案时出错,部分档案可能损坏…" | 校验未通过,个别文件不完整 | 重启应用后点"修复"按钮,仅损坏文件会重新下载;手动部署的话,把对应文件删掉重新复制 |
| "存储空间不足,下载可能失败" | 可用空间低于 1.2GB+800MB | 清出 3GB 以上再操作 |
| 插线后看不到 nie.translator.rtranslator 目录 | 没拔线重插 / 看错了存储位置 | 拔线重插;按 Readme.txt 锚点确认在内部存储还是 SD 卡 |
| "此设备上没有 Google TTS 引擎" | 系统缺 Google 文字转语音 | 安装 Google TTS 引擎,不影响翻译功能本身 |
收尾
到这里,1.2GB 模型的落地从"碰运气等下载"变成了"拷文件 + 自动校验",下载慢、中断这两个最常见的卡点都被绕开了。完整步骤以仓库内的 Sideloading.md 为准,下载与校验逻辑在 DownloadFragment.java 和 Downloader.java。现在就去做第一步:打开 Release 页把 10 个 .onnx 下到电脑上。
【免费下载链接】RTranslatorOpen source real-time translation app for Android that runs locally项目地址: https://gitcode.com/GitHub_Trending/rt/RTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考