开发者自行构建 — 从源码编译 APK
构建前置条件
从 Gloom 源码编译 APK 需要三个工具:
| 工具 | 最低版本 | 安装方式 |
|---|---|---|
| Git | 2.x | git-scm.com/downloads 或系统包管理器 |
| JDK | 11 | Oracle JDK 或 OpenJDK(推荐 11,Gloom 可能还没升到 17) |
| Android SDK | — | 跟着 Android Studio 一起装最省事 |
推荐直接装 Android Studio(developer.android.com/studio)——它会自动装 SDK + 合适的 JDK + Gradle 版本,省去手动装一堆东西的麻烦。
Windows 构建步骤
第一步:克隆仓库
git clone https://github.com/MateriiApps/Gloom.git
cd Gloom
第二步:用 Android Studio 打开项目
- 打开 Android Studio → File → Open → 选中刚 clone 的 Gloom 目录
- 等待 Gradle Sync 完成(第一次打开会下载依赖,可能要几分钟)
- 确认 IDE 没有红色错误提示
第三步:构建 debug APK
最简单的方式,直接在 Android Studio 里点「运行」按钮(或菜单栏 Build → Build Bundle(s) / APK(s) → Build APK(s))。
也可以命令行构建:
.\gradlew assembleDebug
构建产物位置:
app\build\outputs\apk\debug\gloom-debug.apk
第四步:装到手机
两种方式:
- 数据线 + USB 调试:手机开开发者选项 → USB 调试 → 连电脑 → Android Studio 里点运行 → 自动装
- 手动传输:把 APK 传到手机上(网盘、数据线都可以)→ 在手机上点 APK 安装
构建 release APK
Release 构建需要 signing keystore(签名密钥),Android Studio 里可以生成:
- Build → Generate Signed Bundle / APK → 选 APK → 创建新的 keystore 文件
- 填 keystore 路径和密码 → 构建
MateriiApps 官方 release 包的 keystore 不在仓库里(安全原因),你自己构建的 release 包和官方 release 包签名不同,不能互相覆盖升级。
想改什么
源码构建的好处是你可以自定义 Gloom:
换图标包
Gloom 的启动图标定义在 app/src/main/res/ 目录下的 mipmap-*dpi 文件夹里。把你自己的图标 PNG 按各分辨率尺寸放进去替换,重新构建就行。
加 Material You 主题覆盖
Gloom 默认从系统取 Material You 动态色,但你也可以在 Theme.kt 里写死一套配色覆盖(不推荐,会失去 Material You 的意义)。
改代码
源码结构:
app/src/main/java/com/materii/gloom/→ Kotlin 源码app/src/main/java/com/materii/gloom/ui/→ Compose UI 层(Material 3 组件)app/src/main/res/values/strings.xml→ 字符串资源app/src/main/res/drawable/→ 图片资源
建议阅读 MateriiApps 仓库 README 和 CONTRIBUTING.md 了解代码结构。
常见构建失败
Gradle Sync 失败
最常见的原因:
- JDK 版本不对:Android Studio 设置 → Build, Execution, Deployment → Build Tools → Gradle → Gradle JDK 选 11
- Android SDK 版本缺失:Android Studio → SDK Manager 安装所有可用的 SDK Platform(至少 Android 12+)
- 网络下载慢/断:Gradle 需要从 Google Maven 仓库下载依赖,网络慢时容易超时。配置代理或换网络
编译报错
- Kotlin 版本报错 → Android Studio 会提示推荐的 Kotlin 版本,按提示更新 Gradle 插件版本
- Compose 版本冲突 → 确保 Gradle 插件版本和 Compose Compiler 版本匹配(MateriiApps 的 build.gradle 里已固定好,别乱改)
- API Level 报错 → build.gradle 里的
compileSdk和minSdk需要对应你安装的 SDK 版本
构建成功但 APK 装不上
- 签名问题 → debug 构建用的是 Android Studio 默认 debug keystore,和你之前装的 Gloom 可能签名不同。先卸掉旧包再装
- 包名冲突 → 如果改了 applicationId,新包名和旧包名不同,能共存
- Android 版本过低 → 确认手机 Android 版本 ≥ 5.0