尧图精选

如何从源码编译阅读Sigma:Gradle多模块构建、book/rhino/web模块拆解指南

🕒 发布时间:2026/10/1 23:21:58 📁 来源:尧图网络
如何从源码编译阅读SigmaGradle多模块构建、book/rhino/web模块拆解指南【免费下载链接】legado-E阅读Sigma是legado的继承保持开源免费延续开源精神。项目地址: https://gitcode.com/gh_mirrors/legado2/legado-E阅读Sigmalegado-E是一款开源免费的 Android 阅读应用延续 legado 的开源精神。如果你想在本地编译它本文带你走通Gradle 多模块构建全流程从克隆源码、配置环境到拆解app、book、rhino、web四大模块的分工最后输出可安装的 APK。整个过程只需 JDK 17 Android Studio零基础也能照做。项目构建结构一张图看懂 Gradle 多模块布局打开 settings.gradle 就能看清整个项目的模块骨架include :app include :modules:book include :modules:rhino模块Gradle 路径类型作用主应用:appApplication阅读主体846 个 Kotlin 文件都在这里书籍数据:modules:bookAndroid Library书籍/书源数据模型层脚本引擎:modules:rhinoAndroid Library封装 Rhino JavaScript 引擎驱动书源规则网页版:modules/web非 Gradle 模块Vue3 Vite 前端编译后塞进 APK 资源目录所有依赖版本统一收口在 gradle/libs.versions.toml 这个版本目录Version Catalog中Kotlin 2.3.10、Android Gradle Plugin 8.13.2、Room 2.7.1、OkHttp 5.3.2。各模块的 build.gradle 只写alias libs.plugins.xxx不出现具体版本号——这是现代 Android 项目的标准姿势升级依赖只需改一个文件。编译前准备环境要求与快速克隆源码环境清单缺一不可️JDK 17三个模块的jvmToolchain都锁定 Java 17compileSdk 36Android Studio 会自动下载对应平台在 build.gradle 第 5 行定义内存gradle.properties 已把 Gradle 守护进程堆内存设为-Xmx6g建议给电脑留 8GB 以上可用内存网络构建会访问 Google Maven、Maven Central 和 JitPack如果访问不畅settings.gradle 里预留了阿里云、华为云镜像仓库的注释行取消注释即可git clone https://gitcode.com/gh_mirrors/legado2/legado-E一键编译出包Debug 与 Release 两条路径项目定义了唯一的产品风味app见 app/build.gradle 第 107-112 行所以编译任务名都带App前缀命令产物特点./gradlew app:assembleAppDebugdebug APK不混淆装进手机开发调试首选./gradlew app:assembleAppReleaserelease APK开启 ProGuard 混淆 资源压缩产出文件按legado_app_版本.apk命名版本号由 git 提交数动态生成。两个实用细节签名release 默认使用调试签名只有设置了RELEASE_STORE_FILE等 Gradle 属性时才切换为你自己的正式签名app/build.gradle 第 35-48 行Cronet 网络库主应用通过 app/download.gradle 提供了gradlew app:downloadCronet任务用于更新 Chromium Cronet 的 jar 与 so 文件并重新生成 MD5 校验清单 app/src/main/assets/cronet.json日常编译无需执行三大子模块拆解book、rhino、web 各司其职book 模块数据层的最小实现modules/book/build.gradle 中 namespace 为me.ag2s它只依赖androidx.annotation一个库78 个 Java 文件专注书籍、书源等数据模型——把数据层独立成库主应用升级数据库结构时app/schemas/下已有 89 个版本的 Room schema 演进不用被 UI 代码牵制。rhino 模块书源规则的 JavaScript 引擎modules/rhino/build.gradle 的 namespace 为com.script核心依赖是libs.mozilla.rhino1.8.1 版本目录中明确注释不要更新版本因为新版在 Android 8 以下无法编译。阅读Sigma 的书源规则大量使用 JS 表达式这个模块就是规则引擎的底座31 个 Kotlin 文件负责把 Rhino 封装成应用可安全调用的脚本沙箱。web 模块藏在 APK 里的 Vue3 网页应用注意modules/web不在 Gradle 构建图里它是一个独立的 Node 工程要求 Node ≥ 20modules/web/package.json 里声明了 Vue 3、Vite 5、Element Plus 全家桶。构建链路是执行pnpm build先跑vue-tsc类型检查再vite buildmodules/web/scripts/sync.js 把dist产物同步到 app/src/main/assets/web/vue主应用通过内置 WebView 加载这些静态资源实现手机本地打开网页版书架/书源编辑器的体验也就是说网页源码的改动要经过pnpm build才会反映到 APK 中。常见编译问题与快速解决症状原因解法依赖下载超时Google Maven 访问慢启用 settings.gradle 中注释掉的国内镜像仓库OutOfMemoryError构建内存不足确认 gradle.properties 中-Xmx6g生效或调大编译提示 Java 版本错误JDK 不是 17在 IDE 中把 Gradle JDK 切换为 17Cronet 加载失败so 文件缺失执行./gradlew app:downloadCronet补齐总结从源码到 APK 的最短路径JDK 17 Android Studio 打开项目让 Gradle 同步完app、modules/book、modules/rhino三个模块需要网页功能时先进入modules/web执行pnpm build./gradlew app:assembleAppDebug到app/build/outputs/下取走你的 APK 掌握这套 Gradle 多模块构建方式后无论是自定义签名打包、裁剪依赖还是给阅读Sigma 提交功能改进你都已经具备了从源码出发的全部基础。【免费下载链接】legado-E阅读Sigma是legado的继承保持开源免费延续开源精神。项目地址: https://gitcode.com/gh_mirrors/legado2/legado-E创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →