feat: Telegram 双通道抓取、PC 调试台与 Hook 后台转发修复
v2.2.1 更新说明: - 新增 xposed-module(Telegram/微信/SQLite Hook),双 APK + LSPosed 作用域 - HookMessageReceiver 后台直接 DebugForwarder + goAsync,修复 notiMessage 退后台丢消息 - MessageLogStore 日志持久化;AppConfig 调试/上传开关;PC 调试台 debug-server - 健康检查去掉联网限制;通知/Hook 通道增加诊断日志 - 安装脚本 install-full/configure-lsposed/start-debug-server;文档 CHANGELOG + HOOK_GUIDE
This commit is contained in:
45
AGENTS.md
45
AGENTS.md
@@ -1,6 +1,8 @@
|
||||
# AGENTS.md — SmsMessage (notiMessage)
|
||||
|
||||
Android 应用,监听通知栏短信/通知内容并上传至服务器。适配华为、MIUI 等手机。
|
||||
Android 应用,监听通知栏消息并通过 **双通道**(通知监听 + Xposed Hook)抓取内容,支持 PC 本地调试台转发。
|
||||
|
||||
> **Hook 架构与扩展指南**:详见 [docs/HOOK_GUIDE.md](docs/HOOK_GUIDE.md)(Telegram 实现、接入新 App 步骤)
|
||||
|
||||
## 项目结构
|
||||
|
||||
@@ -10,24 +12,43 @@ notiMessage/
|
||||
│ ├── src/main/java/.../
|
||||
│ │ ├── Activity/ # Activity 类 (MainActivity, NotificationActivity, SettingActivity, AppListActivity)
|
||||
│ │ ├── service/ # Service 类 (NotificationService — 通知监听核心)
|
||||
│ │ ├── network/ # ApiService, DebugForwarder, TokenManager
|
||||
│ │ ├── comm/ # 通用组件 (CommonAdapter, ViewHolder)
|
||||
│ │ ├── App.java # Application 类,管理通知列表持久化
|
||||
│ │ ├── AppConfig.java # 调试转发 / 正式上传开关
|
||||
│ │ ├── MessageLogStore.java # 监听日志持久化
|
||||
│ │ ├── MessageInfo.java, AppInfo.java # 数据模型
|
||||
│ │ └── GsonUtils.java # JSON 工具类
|
||||
│ └── src/main/res/ # 资源文件
|
||||
├── xposed-module/ # Xposed Hook 模块 (com.miraclegarden.smsmessage.xposed)
|
||||
│ └── src/main/java/.../hook/
|
||||
│ ├── TelegramMessageHook.java # Telegram 专用
|
||||
│ ├── WeChatMessageHook.java # 微信专用
|
||||
│ └── SqliteMessageHook.java # 通用 SQLite 兜底
|
||||
├── debug-server/ # PC 本地调试台 (server.py, 端口 8765)
|
||||
├── scripts/ # build-debug.ps1, install-full.ps1, start-debug-server.ps1
|
||||
├── library/ # 基础库模块 (com.miraclegarden.library)
|
||||
│ └── MiracleGardenActivity<T> # ViewBinding 基类
|
||||
├── build.gradle # 根构建文件 (AGP 7.3.0)
|
||||
├── settings.gradle # 模块声明 + 仓库配置
|
||||
├── docs/HOOK_GUIDE.md # Hook 架构与扩展文档
|
||||
├── build.gradle # 根构建文件
|
||||
├── settings.gradle # 模块: app, library, xposed-module
|
||||
└── gradle.properties # Gradle 配置
|
||||
```
|
||||
|
||||
## 构建命令
|
||||
|
||||
```bash
|
||||
# 构建
|
||||
./gradlew assembleDebug # 构建 debug APK
|
||||
./gradlew assembleRelease # 构建 release APK
|
||||
# 构建(主 App + Xposed 双 APK)
|
||||
./gradlew :app:assembleDebug :xposed-module:assembleDebug
|
||||
|
||||
# Windows 一键完整安装(推荐)
|
||||
powershell -ExecutionPolicy Bypass -File scripts/install-full.ps1
|
||||
|
||||
# PC 调试台
|
||||
powershell -ExecutionPolicy Bypass -File scripts/start-debug-server.ps1
|
||||
|
||||
# 构建 release(仅主 App)
|
||||
./gradlew assembleRelease
|
||||
./gradlew build # 完整构建(编译 + lint + 测试)
|
||||
|
||||
# Lint
|
||||
@@ -51,12 +72,12 @@ notiMessage/
|
||||
|
||||
## SDK 与依赖版本
|
||||
|
||||
| 配置项 | app 模块 | library 模块 |
|
||||
|--------|---------|-------------|
|
||||
| compileSdk | 32 | 32 |
|
||||
| minSdk | 24 | 21 |
|
||||
| targetSdk | 32 | 32 |
|
||||
| Java | 17 | 17 |
|
||||
| 配置项 | app 模块 | library 模块 | xposed-module |
|
||||
|--------|---------|-------------|---------------|
|
||||
| compileSdk | 34 | 32 | 34 |
|
||||
| minSdk | 24 | 21 | 24 |
|
||||
| targetSdk | 34 | 32 | 34 |
|
||||
| Java | 17 | 17 | 17 |
|
||||
|
||||
**关键依赖**: OkHttp 5.0.0-alpha.10 (网络), Gson 2.9.0 (JSON), ViewBinding (UI绑定), Material 1.6.1
|
||||
**测试框架**: JUnit 4.13.2, Espresso 3.4.0, AndroidX Test JUnit 1.1.3
|
||||
|
||||
Reference in New Issue
Block a user