GoForum🌐 V2EX

一个人写了大半年 Android App,聊聊过程中的一些取舍

putilaoha · 2026-03-25 10:04 · 0 次点赞 · 2 条回复

App 是 Meows ,Android 上的 Linux 服务器监控工具,纯原生 Jetpack Compose 开发,之前发过几次。这次不介绍功能了,聊聊开发过程中一些纠结过的点。

要不要装 agent

一开始也考虑过走 agent 方案,服务端装个守护进程推数据,能做的事情多很多。但想了想,我自己作为用户其实最烦在服务器上多装东西,尤其是小鸡,本来资源就不多。

最后选了纯 SSH ,好处是零侵入,坏处是能拿到的数据有限,得在客户端做更多解析。这个取舍到现在觉得是对的——填个地址就能看到所有指标,不用折腾。

总览控制台

CPU 、内存、磁盘、上下行流量、TCP 连接数、在线时长,实时刷新。9 种指标都有历史曲线,可以切 1 分钟 / 2 分钟 / 5 分钟跨度。

流量图表

终端要不要自己写

调研了一下 Android 上能用的终端库,要么太老,要么和 Compose 不兼容。最后决定自己写 ANSI 解析引擎,手搓状态机。

写完才发现这东西是个坑——光是 CJK 全角字符的宽度处理就搞了好几天,还有各种转义序列的边界情况。不过好处是完全可控,后面加语义着色就很自然:终端自动识别输出内容类型上色,文件权限逐字符着色( r 绿 w 橙 x 红)、路径按类型区分(/etc 配置色、/var/log 日志色)、IP 地址、百分比阈值着色(≥90% 红、≥70% 黄),比纯白字看着舒服不少。

终端语义着色

nano 、vim 、htop 都能正常跑,底部有快捷键栏,支持跳板机,内置了 4 款等宽字体可选。

nano 编辑器

关于定价和安全

$4.99 一次买断,没有订阅,没有内购,没有广告,后续更新免费。去年 10 月底上架,到现在版本号刷到 1.0.144 了。

不想做免费 + 广告,一是体验差,二是不想接第三方 SDK 。App 只申请了通知权限,不收集不共享任何数据。所有密码和私钥走 AES-GCM + Android Keystore 硬件级加密,不是明文落盘。

设置页面

其他功能

  • 告警:CPU 、内存、磁盘阈值 + 掉线通知,多指标超标合并推送,有防抖
  • 离线 IP 库 + 骨干网识别( CN2 、9929 、CMI 这些)
  • 8 项流媒体 / AI 解锁检测,直接显示在卡片上
  • SSH 登录失败次数统计,一眼看出有没有被暴力破解
  • Google Drive 加密备份,换机一键恢复

告警设置

卡片徽章配置

下载

Google Play 搜 Meows

https://play.google.com/store/apps/details?id=com.meows.android

上架地区: 日本、美国、新加坡、韩国、香港、台湾、英国、加拿大、澳门、马来西亚、冰岛。

要求: Android 14+,Google Play 商店 → 设置 → 关于 → 「设备已通过认证」( Google Play 策略,非 App 限制。解锁 bootloader 的设备可能显示未认证,可先在网页端入库)。支持简中 / 繁中 / 英 / 日 / 韩。

有问题或建议可以直接回帖,我都会看。

2 条回复
lambdavip2022 · 2026-03-25 10:09
#1

这个需要在服务器安装对应的 server 组件吗?还是只需要手机安装 APK 就可以用了。

putilaoha · 2026-03-25 10:14
#2

@lambdavip2022 不需要,服务器端零安装。手机装好 App ,填上服务器 IP 和 SSH 账号就能用,针对这个问题,文章第一节说过了

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: putilaoha
发布: 2026-03-25
点赞: 0
回复: 0