小知识 - Gradle7.0之后JitPack发布组件需要注意的几个问题

简介: 最近在使用 JitPack 发布组件时候,遇到了这几个问题,着实找了好一会才解决,分享一下。🙃

问题1 - 调整jdk版本为11

  • What went wrong:
    An exception occurred applying plugin request [id: ‘com.android.application’]

Failed to apply plugin ‘com.android.internal.application’.

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

You can try some of the following options:

- changing the IDE settings.

- changing the JAVA_HOME environment variable.

- changing org.gradle.java.home in gradle.properties.

这个问题,我们如果是在本地Android Studio,很简单,直接改 gradle ,但是 jit 上呢😶,解决办法如下:

创建一个 jitpack.yml 文件,具体如下:

网络异常,图片无法展示
|

jitpack.yml

jdk:
  - openjdk11

问题2 - 无法创建 AndroidMavenPlugin 插件

  • What went wrong:
    A problem occurred evaluating script.

Failed to apply plugin ‘com.github.dcendents.android-maven’.

Could not create plugin of type ‘AndroidMavenPlugin’.

> Could not generate a decorated class for type AndroidMavenPlugin.

> org/gradle/api/publication/maven/internal/MavenPomMetaInfoProvider

解决办法:

打开相应的组件的 build.gradle (如果你的组件都写在app里了,那就只写到app里即可),增加以下内容:

plugins {
    ...
    id 'maven-publish'
}
afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.petterp'
                artifactId = 'statex'
                version = '1.0-dev02'
            }
        }
    }
}
  • groupId 是你的包名除 labrary 之前的全称
  • artifactId 对应 labrary id ,即组件ID
  • version 版本号

示例

比如上述全称是 com.petterp.statex , statex 是我的组件 library,故就是上述这样的写法。

当然对于 version 这些统一管理 你也可以配置到专门的 gradle 文件中,这里直接引用即可,这里就不多赘述了。

目录
相关文章
|
Android开发
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
1541 0
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
|
1月前
|
设计模式 JSON Dart
Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
113 0
|
8月前
|
Java 数据库连接 API
Gradle依赖管理:编译时和运行时依赖的区别
Gradle依赖管理:编译时和运行时依赖的区别
68 0
|
自然语言处理
代码来构建一个简单的compiler
Parsing 我们来构建一个tokenizer用于进行lexical analysis(词法分析)
|
缓存 Java 开发工具
你会在 JitPack 上创建依赖库吗?
你会在 JitPack 上创建依赖库吗?
225 0
你会在 JitPack 上创建依赖库吗?
|
编解码 JavaScript 前端开发
cc-plugin 让插件开发更简单
cc-plugin 让插件开发更简单
127 0
|
API 开发工具 Android开发
Android 发布开源库到 JitPack (详细步骤)
Android 发布开源库到 JitPack (详细步骤)
386 0
Android 发布开源库到 JitPack (详细步骤)
|
Java API Maven
Gradle基础|自定义插件并上传到JitPack
每一个使用 Gradle 的同学,肯定都听过或者写过插件,因为其本身并不难,但碍于现在网上的文章千篇一律,大部分都比较老,新同学一上手反而是和我一样,花了大把时间在最基础的第一步如何写一个简单demo上。再者如果大家使用 AndroidStudio BumBlebee 去创建项目,那对照网上教程差别更大,甚是花费时间,而本篇就是帮你省掉这些时间。 本篇主要概括创建插件的三种方式,并如何上传到 JitPack 中。
171 0
Gradle基础|自定义插件并上传到JitPack
|
Java Android开发
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
294 0
webpack打包library发布到npm
webpack打包library发布到npm
158 0