折叠屏读东西很好,写代码却不行,好用的设置就从这一点出发。本页讲装什么、把什么放到设备上,以及哪四五个设置和习惯能让展开的屏幕变成读陌生代码库的地方 —— 另外清楚地划出这个版本做不到的事。
FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。
在 Git 面板里(顶栏的分支图标),把一个 HTTPS 地址粘贴到 筛选,或输入 owner/repo,点 获取代码。公开仓库可以匿名克隆:不要账号,不要令牌,凭据表单里什么都不用填。克隆会放进应用私有存储,在那里 git 才能依靠一个有文件锁、mmap 和原子重命名的真正文件系统。
打开文件夹会打开 Android 文件夹选择器;授权在重启后依然有效,这个文件夹会成为一个工作区,文件树、类型标记、搜索和渲染都一样。唯一的区别是授权的文件夹没有 git 功能 —— 没有分支,没有状态,没有历史 —— 因为设备端 git 只作用于应用自己克隆的仓库。
字号图标会打开阅读面板。从 480 dp 到 1200 dp 的行宽是展开的 Fold 上最要紧的设置 —— 铺满整块内屏的正文很难跟住。字号从 80% 到 160%,主题有跟随系统 / 浅色 / 深色,正文用衬线字体会切换正文的字体。这些设置会保存下来,切换主题只重新渲染、不重新解析,因为解析器不产生任何颜色。
被仓库 .gitignore 匹配的文件会被隐藏,用显示被忽略的文件开关可以显示出来 —— 正是这一点让 node_modules 和构建产物不会挤进手机大小的文件树。另外,长按可以把文件固定为收藏;打开过的文件会收集到快捷标签页。在陌生的仓库里,把你反复回去看的三个文件固定下来。
顶栏里的放大镜是文档内查找,带 current/total 计数和上下箭头。左栏的搜索标签页是整个工作区的 grep,按字面或正则,path:line 行带预览陆续出现,点一下就在那一行打开文件;它遵守 .gitignore,跳过二进制文件和大约 1.5 MB 以上的文件,最多 500 处匹配,免得一个太宽的查询把整栏刷满。
源代码:整个文件的词法高亮、行号、文件上方显示语言和行数的那一行、换行开关,大约六十种语言。Markdown:GFM 加上 callout、脚注、wiki 链接、mermaid 和公式,带大纲面板和导出面板。JSON/YAML/TOML 和锁文件:可折叠的树形,带子项数量、路径导航和复制路径。CSV/TSV:表头冻结、可排序的表格。PDF:页码计数和缩略图条。Jupyter 笔记本:执行计数、可收起的输出、带 ANSI 颜色的 traceback。日志:按严重级别着色。图片(包括 SVG):双指最多放大到 12×,双击放大到 2.5×。
Git 面板里有一个通过局域网接收文档开关,默认关闭。打开后,它会给出一行现成的 curl 命令,里面带着令牌头,同一网络里的笔记本电脑、CI 任务或脚本可以把文档直接 POST 进阅读栏。客户端可以给文档起名,但永远不能决定它落在哪里。
窗口确实够宽,或者设备报告自己处于半开状态时,左右并排 —— 左边文件树,右边文档;不够宽时是一栏,按返回键就回到文件树。Activity 声明了自己处理方向、屏幕尺寸、屏幕布局、最小宽度、键盘、密度和界面模式的变化,所以姿态改变不会让它重建。
十五个渲染器,根据文件名、MIME 类型和魔数给每个文件打分来选。在干净设备上验证过渲染的是 Markdown、源代码、PDF 和 Jupyter 笔记本。
令牌用一个存在 Android 硬件密钥库里的 AES-GCM 密钥加密,永远不会再读回界面。提交身份写进应用私有存储里的一个 .gitconfig,因为 Android 不给 git 可写的 home 目录,不这样指定的话,JGit 的行为会因 ROM 而异。
如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。
大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。
| 工具 | 下载价格 | 从哪里获取 | 克隆到设备上 | 渲染 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。