# DevToolboxApp **Repository Path**: gjx333666/dev-toolbox-app ## Basic Information - **Project Name**: DevToolboxApp - **Description**: 面向开发、测试与运维的 Android 工具箱:在手机上管理云服务器、传文件、查库、部署、MarkDown等功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-06 - **Last Updated**: 2026-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevToolbox App 面向运维与开发的 Android 工具箱:在手机上管理云服务器、传文件、查库、看文档。 对应桌面版 DevToolbox / SFTPHelper 的核心能力,交互按移动端重新设计。 ## 功能 ### 连接 - 多套 SSH 连接配置(主机、端口、账号密码) - 密码本地加密保存,配置写在公共目录,卸载 App 后仍可保留 - 一键连接 / 断开,状态清晰可见 - **高级 · sudo 提权**(默认收起):可按连接启用 sudo / 免密 sudo;`root` 用户不显示该选项 - 连接级已配 sudo 时,文件与双机互传不再显示临时 sudo 开关 ### 终端 - SSH 交互会话:发送命令、查看输出(支持左右滑动看长行) - 命令历史上下翻、Tab 补全建议 - 会话重启 / 停止、清空结果 - **sudo 开关**(非 root,在「清空结果」后):开启后发送命令自动加 `sudo` 前缀 - 前台保活与断线检测,状态变灰并提示重连 ### 文件(SFTP) - 浏览远端目录,上传 / 下载 / 删除 / 新建文件夹 / 新建文件 - 点击文件查看详情;删除需二次确认;传输可取消并显示进度 - 文本类文件可在线编辑并保存回服务器 - 未在连接中配置 sudo 时,可临时打开 sudo(需密码或免密) ### 数据库 - **MySQL / SQLite** 统一连接列表,带引擎标签 - MySQL:远程连接(含局域网),兼容 5.7 / 8;库表浏览、SQL、分页 - SQLite:选择本地 `.db` 导入(校验文件头,避免误建空库);查询 UI 与 MySQL 复用 - SQL 编辑器:关键字 / 表字段提示;聚焦时滚入可见区 - 表格结果:动态列宽、左右滑动;点表打开后可勾选增删改(需主键) ### 更多 - **双机互传**:A / B 两端互传文件或目录;按连接 sudo 配置自动提权 - **笔记剪切板**:逐条记录命令 / 长文案(标题 40 字、内容 10000 字);一键复制、编辑;右滑露出删除并二次确认 - **文件中转站**:选定服务器目录作临时小网盘;上传 / 下载 / 删除(二次确认)、进度可取消 - **Linux 命令**:常用命令分类速查,一键复制 - **MD 阅读**:本地 Markdown 书签;目录跳转、代码块复制;重装后自动清理失效权限记录 - **关于**:配置路径等说明 ## 数据目录 公共目录(卸载 App 后仍可保留): ```text Documents/DevToolbox/ config.json # 连接配置(密码加密) notes.json # 笔记剪切板 md_bookmarks.json # MD 书签 sqlite_imports/ # 导入的 SQLite 文件 Downloads/ # 下载落盘 ``` ## 技术栈 - Kotlin · Jetpack Compose · Material 3 - SSH / SFTP:`sshj` - MySQL:MariaDB JDBC(兼容 MySQL) - SQLite:Android `SQLiteDatabase` - Markdown:CommonMark + WebView 渲染 ## 构建 ```bat gradlew.bat assembleDebug ``` 产物:`app/build/outputs/apk/debug/app-debug.apk` 需要 JDK 17 与已配置的 Android SDK(可用 `gradle.properties` 中的 `org.gradle.java.home`)。首次连接云服务器或访问公共配置目录时,请授予「所有文件访问」等存储权限。