Skip to content

项目结构

ZeroTermux 的代码主要分两块:原 Termux 的终端能力,以及 ZeroTermux 后续增加的功能。大多数业务需求在 zerocore 里处理,通常不需要改终端模拟器核心。

根目录

路径说明
app/主 Android 应用,ZeroTermux 大多数二开功能都在这里
termux-shared/Termux 共享工具库,包含路径、设置、Shell、文件、通知等通用能力
terminal-emulator/终端模拟器核心,处理字符、屏幕缓冲、控制序列等
terminal-view/终端视图层,负责显示、选择、手势、渲染
gradle/Gradle Wrapper
config/checkstyle 等构建配置
fastlane/应用商店元数据
img/art/README 图片和图标资源
release/发布输出元数据

app/src/main/java/com/termux

说明
appTermux 原主应用逻辑,包含 TermuxActivityTermuxService、RunCommand 等
filepicker文件接收、分享、文档 Provider
sharedapp 模块内复用的 Termux 共享逻辑引用
zerocoreZeroTermux 自己新增的核心功能

zerocore 重点目录

路径说明
activity/ZeroTermux 自定义 Activity,例如编辑器、图片、切换页面
ai/DeepSeek、自定义 AI、LLM 聊天和设置
back/fragment/备份/恢复界面和逻辑
config/mainmenu/左侧功能菜单系统
config/ztcommand/终端 zt 命令系统
dialog/自定义弹窗
ftp/FTP 服务与新 FTP 实现
guide/首次启动引导
settings/ZeroTermux 设置、X11 设置、定时任务等
url/路径集中管理,重点看 FileUrl.kt
utermux_windows/qemu/QEMU/Windows 运行相关
utils/工具类
zero/ZeroCore 引擎相关

app/src/main/assets

路径说明
runcommand/安装到 $PREFIX/usr/bin 或运行环境中的命令脚本
linux/Linux 发行版安装工具
qemu/QEMU 脚本资源
x11/X11 通道相关资源
zipcommand/busybox、filebrowser 等压缩资源
textmate/编辑器语法高亮资源
font/内置字体
mainmenu/菜单相关资源
properties/配置资源

app/src/main/res

路径说明
layout/Activity、Dialog、列表项、编辑器等 XML 布局
values/默认字符串、颜色、主题、尺寸
values-zh-rCN/中文字符串
values-en/英文字符串
xml/Termux 设置页、Provider 路径、快捷方式等 XML
mipmap-*图标
drawable/背景、shape、图标、图片资源
raw/音频、shader、脚本等原始资源

常改位置

需求优先看
新增左侧菜单功能zerocore/config/mainmenu/
新增终端命令zerocore/config/ztcommand/
新增设置或页面zerocore/settings/res/layout/AndroidManifest.xml

不确定入口时,先从 MainMenuConfig.java 找用户入口。用户能点到的功能,基本都能从那里追出去。

Released under the MIT License.