JitPack构建失败报错ERROR: No build artifacts found如何解决
修复步骤
1. 修正库模块的插件声明
日志中第一个报错是触发了com.android.application插件逻辑,作为要发布的第三方库,你对应的模块必须使用库专用插件,不能用APP插件。打开库模块的build.gradle文件,头部插件配置要改为:
plugins { id 'com.android.library' // 保留其他需要的插件,比如kotlin-android等 }
删除所有com.android.application的插件声明,该插件仅用于构建可安装的APK,不适用于发布类库。
2. 解决Java版本不匹配报错
你之前的配置不生效,大概率是只改了项目内的Java编译版本,没有指定JitPack的运行环境JDK版本:JitPack默认的构建环境是Java 8,而你用的AGP 7.0+版本要求必须用Java 11才能运行,需要两步配置:
- 在项目根目录新建
jitpack.yml文件,写入以下内容,指定JitPack用Java 11运行构建:
jdk: - openjdk11 before_install: - sdk install java 11.0.17-tem - sdk use java 11.0.17-tem
- 确认库模块的
build.gradle中编译Java版本和运行环境匹配,添加如下配置:
android { // 原有其他配置不变 compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } // 项目使用Kotlin的话额外加下面的配置 kotlinOptions { jvmTarget = '11' } }
3. 修复install任务缺失警告
新版本AGP已经废弃了旧的maven插件,改用maven-publish插件实现发布逻辑,按以下方式配置即可:
- 在库模块的
build.gradle中添加maven-publish插件:
plugins { id 'com.android.library' id 'maven-publish' // 其他原有插件 }
- 在同一个
build.gradle文件末尾添加发布配置:
afterEvaluate { publishing { publications { release(MavenPublication) { from components.release groupId = 'com.github.arcm111' artifactId = 'ScaleNumberPicker' // 版本号可自定义,也可以留空让JitPack自动根据tag/commit生成 } } } }
如果需要同时发布debug版本,额外加一个debug类型的publication配置即可。
4. 处理Gradle 8.0兼容警告
这个警告是当前你使用的Gradle版本存在已废弃的API,你可以选择将项目Gradle版本升级到7.6+稳定版、配合AGP 7.4+版本即可消除警告;如果暂时不想升级,直接忽略该警告也不会影响当前构建成功。
所有配置修改完成后提交代码到GitHub,触发JitPack重新构建即可。
内容的提问来源于stack exchange,提问作者razz
相关产品推荐
相关产品推荐

