论文是一份很长、图很多的 PDF,而 PDF 是 FoldRender 里渲染在干净设备上验证过的四种格式之一。本页讲怎么把一篇论文放到展开的 Fold 上并好好读 —— 不管它来自浏览器下载、邮件附件,还是论文代码所在的仓库 —— 并如实说明一个只做阅读的应用,对研究者来说给不了什么。
FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。
不管 PDF 是怎么来的 —— 从浏览器保存的、邮件附件、Drive 或「下载」里的文件 —— 它都落在普通的 Android 存储里。在「文件」应用里点它,在「打开方式」列表里选渲染:FoldRender 按 MIME 类型注册了 application/pdf,按扩展名注册了 .pdf,所以那些发送文件时内容类型写得含糊的应用也会列出它。在应用里,顶栏的文件夹图标 —— 或者空白界面上的打开文件 —— 会通过系统文档选择器选同一个文件。
如果论文有公开的仓库 —— 研究领域里,参考实现到处都放在 GitHub 上 —— 就把它克隆下来:点顶栏的分支图标,把 HTTPS 地址粘贴到 筛选,或输入 owner/repo,点 获取代码。公开仓库可以匿名克隆,不要账号,也不要令牌。提交在仓库里的 PDF 和源代码在同一棵树里打开,这正是关键所在:第 7 页的那张图,和生成它的那个函数,只隔一个屏幕。
在文件标签页里,每一行都有类型标记,PDF 用红色的 PDF 标记 —— 在一个全是源文件的仓库里很容易认出来。展开时,文件树留在左边,论文在右边渲染;合上时,论文占满整个屏幕,按返回键就回到文件树。
页面条上方那一行显示 N pages · page M(中文界面为「共 N 页 · 第 M 页」),M 会随着你滚动实时更新。文档旁边是一条横向的页面缩略图条;点一张缩略图,主列表就跳到那一页 —— 想翻回去看图 3、再翻回来,靠的就是它。
字号图标会打开阅读面板:主题(跟随系统 / 浅色 / 深色)、一个从 80% 到 160% 的字号滑块、一个从 480 dp 到 1200 dp 的行宽滑块,以及一个衬线字体开关。页面会按新的宽度重新渲染,而不是把旧位图放大 —— 旋转或重新折叠不会让页面变糊。在一把互斥锁后面一次只渲染一页,即使是 200 页的文档,内存占用也保持平稳。
从本地存储打开的 PDF 不需要联网,应用里的每个渲染器都读本地文件。在飞机上读论文,和在书桌前读完全一样。
PDF 交给 Android 自带的 PdfRenderer 处理 —— APK 里不额外加原生库,页面的样子也和系统其他地方渲染出来的一样。识别时同时看文件名、MIME 类型和魔数,所以一篇文件名丢了扩展名的论文,只要开头几个字节是 %PDF,照样会作为 PDF 打开。
同一个栏从同一棵树里渲染 Markdown 的 README、带高亮的源代码、Jupyter 笔记本和 PDF。对有公开实现的论文来说,这比单独的 PDF 查看器强:公式和实现它的那行代码,只隔一次点缩略图的距离。
读本地 PDF 不涉及任何网络;即使在克隆下来的仓库里,唯一会碰到远程的也只有 git 操作 —— 作者推送了修订版时,点 Pull。
如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。
大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。
| 工具 | 下载价格 | 从哪里获取 | 克隆到设备上 | 渲染 PDF / Jupyter 笔记本 / Markdown | 编辑器或 shell |
|---|---|---|---|---|---|
| FoldRender | US$0 | Google Play,全球 | 能 —— HTTPS,公开仓库可匿名 | 能 —— 原生 Compose 渲染器 | 没有,有意为之:它是阅读器,不是 IDE |
| GitHub Mobile | US$0 | Google Play 和 App Store | 不能 —— 它读的是托管在 GitHub 上的仓库 | 只有 GitHub 自己渲染的内容,需联网 | 可在 PR 里编辑文件 |
| Termux + git | US$0 | F-Droid 或 GitHub | 能 —— 真正的 git 命令行 | 不能 —— 只有终端文本 | 有,完整的 shell,任何命令行编辑器都能用 |
| MGit 1.7.0 (2023) | US$0 | 只在 F-Droid | 能 —— 克隆、拉取、推送,HTTPS 或 SSH 密钥 | 不能 | 没有 —— 它自己的页面写明不带文本编辑器 |
价格指的是下载价格。GitHub Mobile 的功能取决于你的 GitHub 套餐;Termux 和 MGit 都是自由软件。MGit 的版本和日期来自它在 F-Droid 上的页面。
这里的每个数字都是从正式发布的版本里读出来的,或者来自本页底部列出的一手资料 —— 没有为了好看往上凑整。
minSdk 30,也就是 2020 年随 Android 11 发布的 API 级别;编译和目标版本都是 API 36。上面这些数字背后的一手文档,任何一条你都可以自己核对,不必听我们说。
git-clone 参考文档 —— 获取代码执行的操作,由定义它的项目自己来说明minSdk 定为最低要求的那个版本本页最后核对于 2026-08-27。