Android库嵌套子模块发布到Jitpack后无法查看源码问题咨询
问题原因
- Jitpack 默认仅扫描项目根目录下直接存放的独立模块,嵌套在子目录内的模块不会被自动识别,也就不会自动触发
sources.jar的生成逻辑 - 通常这类问题是因为仅给根目录的Core模块单独配置了sourceJar生成任务,嵌套子模块的build.gradle没有继承或配置对应的源码打包任务
修复步骤
1. 统一配置所有模块的sourceJar任务
在项目根目录的build.gradle(项目级,非模块级)里添加全局子模块配置,确保所有Android Library模块都会生成sources.jar:
subprojects { afterEvaluate { project -> if (project.plugins.hasPlugin("com.android.library")) { task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } artifacts { archives sourcesJar } } } }
2. 明确声明Jitpack要构建的嵌套模块
在项目根目录新建jitpack.yml文件,手动指定所有需要构建的模块路径,避免Jitpack漏扫嵌套模块:
install: - ./gradlew :Core:publishToMavenLocal - ./gradlew :data:Networking:publishToMavenLocal - ./gradlew :data:Room:publishToMavenLocal - ./gradlew :customViews:CustomView1:publishToMavenLocal
模块路径的冒号对应目录层级,嵌套在data目录下的Networking模块路径即为:data:Networking,后续新增嵌套模块只要在该文件中追加对应构建命令即可。
3. 校验settings.gradle配置
确保你项目根目录的settings.gradle里已经正确引入了所有嵌套模块,示例配置:
include ':Core' include ':data:Networking' include ':data:Room' include ':customViews:CustomView1'
内容的提问来源于stack exchange,提问作者ChristianoBolla
相关产品推荐
相关产品推荐

