这是 FoldRender 真正做完了的那条路:匿名克隆一个公开仓库,然后从同一棵文件树里读它的每一个文件 —— Markdown、源代码、Jupyter 笔记本、PDF。这条路已在干净的设备上跑过。下面是逐步的操作,慢的地方也照实写出来,并直说 git 这一半做到哪里为止。
FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。
点顶栏里的分支图标打开 Git 面板。把一个 HTTPS 地址粘贴到 Clone an HTTPS repository URL 输入框里 —— 占位文字给出了预期的格式 https://github.com/you/repo.git —— 然后点 Clone。对公开仓库来说这就是全部:不要账号,不要令牌,不用登录。只支持 HTTPS;不支持 SSH 远程地址。
FoldRender 会把克隆下来的仓库作为工作区打开,并开始列出文件。在一个大约 4,600 个文件的仓库上,这一步要很久,而且只显示一个转圈 —— 没有百分比,没有文件数,也没有预计时间。它最终会完成。中小型仓库很快;只有在大仓库上才会感到缺了进度提示。
文件标签页就是文件树,每一行都有类型标记,并且会按 .gitignore 隐藏文件,所以第三方依赖目录和构建产物不会碍事。点 README.md。展开时,文件树留在左边,文档在右边渲染;合上时,文档占满屏幕,按返回键就回到文件树。
源文件会对整个文件做词法高亮,带行号,文件上方那一行显示识别出的语言和行数,长行可以用换行开关处理。JSON、YAML、TOML 和锁文件以可折叠的树形打开,带可复制的路径导航;CSV 以可排序、表头冻结的表格打开;日志按严重级别着色;PDF 有页码计数和点一下就能跳转的缩略图条;Jupyter 笔记本显示单元格、执行计数和保存下来的输出。
搜索标签页在整个工作区里 grep —— 按字面或正则,结果以 path:line 行的形式陆续出现,每行附一行预览,点一下就在那一行打开。它遵守 .gitignore,跳过二进制文件和大约 1.5 MB 以上的文件,最多 500 处匹配,到上限时搜索结果上方会标出「(已截断)」。在手机上,这就是「读一个仓库」和「划一个仓库」的区别。
每个文档的滚动位置都会保存,重新打开时恢复。快捷标签页收集你打开过的文件;在文件树里长按可以把文件固定为收藏 —— 在一个陌生的代码库里,你反复回去看的那两三个文件值得这样做。
回到 Git 面板,每个克隆都有一个小按钮;标题栏显示当前分支、领先和落后的提交数,以及「· 干净」或「· N 处改动」。下面是 Pull、浏览文件、本地分支按钮,以及最近的提交列表,显示每个提交的短 id 和作者。
Markdown、大约六十种语言的源代码、JSON/YAML/TOML、CSV/TSV、包括 SVG 在内的图片、PDF、HTML、日志和 Jupyter 笔记本,都从同一棵树、在同一栏里打开。在设备上验证过渲染的是 Markdown、源代码、PDF 和 Jupyter 笔记本。
每种格式都是一个无状态的渲染器,同时根据文件名、MIME 类型和魔数(文件开头的特征字节)给文件打分,得分最高的胜出。一个没有扩展名、但以 %PDF 或 <svg 开头的文件,照样会交给对的渲染器。
窗口够宽,或者设备确实处于半开状态时,会出现双栏 —— 左边文件树,右边文档;合上时收成一栏,按返回键就回到文件树。配置变化由 Activity 自己处理,而不是被销毁重建。
如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。
大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。
| 工具 | 下载价格 | 从哪里获取 | 克隆到设备上 | 渲染 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。