Skip to content

Development

xiaoxuesheng123467 edited this page Aug 17, 2026 · 2 revisions

开发说明

本页面向希望在本地阅读、构建或测试 QiaoGrid 的开发者。

技术栈

  • Kotlin
  • Jetpack Compose
  • Material 3
  • Gradle Kotlin DSL
  • Android SDK 36
  • JDK 17 或更高版本

模块结构

:core

纯 Kotlin 模块,负责颜色计算、网格处理和量化等不依赖 Android 的逻辑。

:app

Android 应用模块,负责 Compose UI、图片解码、持久化、项目管理和文件导出。

关键实现方向

  • 使用 IntArray 保存网格,避免大图纸产生大量对象
  • 以差分方式保存撤销历史
  • 使用安全原子写入保留可恢复项目状态
  • 使用 OKLab 感知颜色空间进行匹配
  • 将图像转换、库存限制和材料统计连接为一个工作流

本地构建

./gradlew :core:test :app:assembleDebug :app:lintDebug

Debug APK 生成在:

app/build/outputs/apk/debug/app-debug.apk

正式签名

本地正式构建需要未提交的 keystore.properties 和对应 keystore。签名文件、密码和配置不属于公开仓库内容。

Caution

不要把 keystore、签名密码、keystore.properties、访问令牌或个人配置提交到 GitHub。

测试

仓库包含核心逻辑单元测试、Android 仪器测试和部分 UI 行为测试。修改图片转换、导出、项目格式或库存计算后,应优先运行对应模块测试,再运行完整构建检查。

贡献与许可

仓库当前公开用于查看与交流,但除第三方声明明确列出的材料外,项目暂未授予开源许可。公开代码不自动代表允许复制、分发或制作衍生版本。

提交代码或使用项目前,请阅读:

Clone this wiki locally