项目结构
LinkSheet 遵循模块化架构,以分离关注点并缩短构建时间。
核心模块
app: 主应用程序模块。包含 UI 入口点、导航和胶水代码。config: 共享构建配置(SDK 级别、JVM 工具链、仓库)。
功能模块 (features/)
app: 各设置界面共享的应用列表 UI 与模型。analytics: 遥测基础设施。service: 分析服务接口、遥测级别和对话框。aptabase: Aptabase 分析客户端(仅用于 debug 构建)。
backup: 设置与应用状态的导入/导出。api: 备份模型与接口。impl: 实现以及备份/恢复 UI。
browser: 检测和管理 Web 浏览器的逻辑。devicecompat: 针对不同 Android 版本/ROM 的兼容层。downloader: 处理文件下载。engine: 链接匹配和处理的核心逻辑(LinkEngine)。libredirect: LibRedirect 集成的实现。profile: Android 用户/工作资料支持。remoteconfig: 拉取并存储远程配置/文档资源。shizuku: Shizuku 服务集成代码。systeminfo: 用于检索设备和系统信息的实用程序。wiki: 应用内文档/帮助资源。
集成模块 (integration/)
amp2html: 将 AMP 链接转换为标准 HTML 的转换器。clearurl: ClearURLs 集成的逻辑。embed-resolve: 解析内嵌内容镜像的逻辑。fastforward: FastForward 规则集成的逻辑。mime-types: 链接与下载的 MIME 类型检测。
库 (lib/)
api: 通用接口和 API 定义(包括偏好设置注册表)。bottom-sheet: 当前的自定义底部栏实现。bottom-sheet-new: 实验性重写版底部栏。compose: Jetpack Compose UI 组件和主题。hidden-api: 通过 HiddenApiRefine 访问隐藏的 Android API。http: 共享网络实用程序。scaffold: 共享的 Compose 脚手架/页面。util: 共享实用程序类和扩展。
测试模块
test-lib/: 共享测试基础设施。core: 基础测试类和数据库测试规则。fake: 假对象与测试替身。instrument: 插桩/UI 测试辅助工具。koin: Koin 测试扩展。
test/e2e: 端到端测试。