Skip to content

开发者指南 ​

重要:自编译闪退预警

自编译的 debug 构建可能在启动时立即闪退,因为 debug 构建会包含 Aptabase 数据收集客户端,当 API Key 缺失或无效时它会抛出异常。

解决方法: 提供有效的 Aptabase Key,或在本地开发时删除/禁用数据收集模块。可参考 此分支 中的 commit 获取现成的补丁。

先决条件 ​

  • Android Studio: 推荐最新稳定版。
  • JDK: JDK 21 或更高版本(项目工具链目标为 JVM 21)。
  • Android SDK: 确保已安装最新的 SDK 工具和平台。

从源码构建 ​

  1. 克隆仓库: git clone https://github.com/LinkSheet/LinkSheet.git
  2. 在 Android Studio 中打开: 打开项目目录并等待 Gradle 同步。
  3. 运行: 选择所需的构建变体并点击 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 许可。