开发者指南
重要:自编译闪退预警
自编译的 debug 构建可能在启动时立即闪退,因为 debug 构建会包含 Aptabase 数据收集客户端,当 API Key 缺失或无效时它会抛出异常。
解决方法: 提供有效的 Aptabase Key,或在本地开发时删除/禁用数据收集模块。可参考 此分支 中的 commit 获取现成的补丁。
先决条件
- Android Studio: 推荐最新稳定版。
- JDK: JDK 21 或更高版本(项目工具链目标为 JVM 21)。
- Android SDK: 确保已安装最新的 SDK 工具和平台。
从源码构建
- 克隆仓库:
git clone https://github.com/LinkSheet/LinkSheet.git - 在 Android Studio 中打开: 打开项目目录并等待 Gradle 同步。
- 运行: 选择所需的构建变体并点击 Run。
构建变体
LinkSheet 使用 产品变体 (Flavors) 和 构建类型 (Build Types):
- 变体 (Flavors):
foss: 推荐开发使用。不含闭源服务或遥测。pro: 包含 Pro 功能,在适用处需要 API Key。
- 类型 (Types):
debug: 启用调试的开发构建。release: 压缩混淆后的发布构建。nightly: 以fe.linksheet.nightly应用 id 发布的发布构建。releaseDebug: 可调试的发布构建,用于复现仅发布版出现的问题。migrate: 用于数据库/设置迁移的发布构建。benchmark: 用于基准测试的发布构建。
使用命令行构建示例:
bash
./gradlew assembleFossDebug项目布局
LinkSheet 高度模块化。主应用模块为 app;共享代码位于 lib/ 下,功能实现位于 features/ 下,第三方集成封装位于 integration/ 下。完整拆解请参见 项目结构。
Nightly 构建
该项目通过 GitHub Actions 使用 Nightly 发布模式。构建产物会定期发布到 LinkSheet/nightly 仓库,可通过 Obtainium 安装。
许可证
LinkSheet 根据 LPL 许可(LinkSheet Public License,基于 MPL 2.0),不包括 strings.xml 和 plural.xml 文件。所有字符串资源根据 GPL-3.0 许可。