## Summary - add rounded corners to the About page logo - add GitHub profile links for KremeCN, Moler, and alZerNest - add personal website links for KremeCN and Moler - localize link content descriptions in English and Simplified Chinese ## Verification - debug build completed successfully - APK installed on emulator Reviewed-on: #16 Co-authored-by: KremeCN <3265494849@qq.com>
ABox Manager
面向 Android 手机和平板的 ABox 智能家居管理应用
项目介绍
ABox Manager 使用 ABSDK 连接局域网中的 ABox 网关,为智能插座、温湿度传感器和红外控制器提供统一的设备管理体验。应用同时包含不依赖账号、网络或真实硬件的本地体验模式,可用于浏览界面和验证主要操作流程。
当前正式版本为 1.0.0,由 Flagship 团队开发。
主要功能
- ABox 登录、自动登录、加密凭据与会话失效处理;
- 智能插座状态查询、开关控制和命令后状态确认;
- 温度与湿度读取,以及无数据、错误和离线状态展示;
- 预置红外码库下载,以及自定义遥控器按键学习;
- 遥控器布局、按钮、硬件槽位和顺序管理;
- 手动指令与基于时间、温度、湿度和设备状态的自动指令;
- 插座、红外、延迟和系统通知动作;
- 按 profile 隔离并持久化的活动记录;
- 浅色、深色、动态颜色、强调色与界面缩放;
- 英文和简体中文本地化;
- 独立且确定性的本地体验环境。
技术栈
- Kotlin 2.4
- Jetpack Compose 与 Material
- Navigation Compose
- Hilt
- Coroutines 与 StateFlow
- Room
- DataStore 与 Android Keystore
- WorkManager
- 多模块 Gradle 工程
核心模块:
domain/ 领域模型、端口和用例
absdk-bridge/ ABSDK 0630 防腐层
runtime/simulation/ 本地体验模拟运行时
testing/fakes/ 测试专用 Fake
android/core/ 设计系统、偏好、设备目录和会话
android/feature/infrared/ 红外遥控器功能
android/feature/automation/ 情景、自动化和活动记录
android/app/ 应用组合根、导航和设备界面
完整依赖方向和数据边界见 架构文档。
开发环境
- JDK 17
- Android SDK 37
- Android Studio,或能够运行 Gradle Wrapper 的 Android 开发环境
- Windows、macOS 或 Linux
项目最低支持 Android 8.0(API 26),目标 SDK 为 36。
克隆仓库后,确保 Android SDK 路径已由 Android Studio 写入本机 local.properties,然后构建调试 APK:
.\gradlew.bat :android:app:assembleDebug
macOS 或 Linux:
./gradlew :android:app:assembleDebug
APK 输出位置:
android/app/build/outputs/apk/debug/app-debug.apk
连接模拟器或 Android 设备后可以安装:
adb install -r android/app/build/outputs/apk/debug/app-debug.apk
使用方式
ABox
设备需要与 ABox 网关处于可用的局域网环境,并使用有效账号登录。ABSDK 通过设备名称匹配网关设备;App 中的设备名称必须与网关实际名称一致。
首次初始化 ABox profile 时,App 会按设备类型补充以下默认记录:
智能插座温湿度传感器红外控制器
已有同类型设备不会被迁移、重命名或覆盖。
本地体验
本地体验无需账号和网络,使用独立模拟数据。它适合浏览产品和验证界面流程,但不能作为真实 ABox、网络或硬件验收结果。
文档
安全边界
厂商 ABSDK JAR 使用明文 HTTP,并依赖外部局域网环境完成域名到网关的访问。真实 ABox 功能只能在已授权、受控的局域网中使用。
不得在日志、截图、问题报告或测试记录中提交密码、Token、完整网关地址、完整硬件标识、原始红外码值或未脱敏 SDK 响应。
贡献流程
main 是受保护分支。所有修改必须从最新 main 创建专用分支,通过 Pull Request 合并,不得直接在 main 上开发或推送。详细规则见 AGENTS.md。
第三方资料
内置的部分红外预置来源于 Flipper-IRDB,并按照 CC0 1.0 提供。来源、转换范围和归属信息见 Flipper-IRDB attribution。
仓库中的厂商 SDK、接口资料和第三方内容分别受其自身许可或授权条件约束;本仓库当前未声明覆盖整个项目的统一开源许可证。
