小知识 - 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 文件中,这里直接引用即可,这里就不多赘述了。

目录
相关文章
|
7月前
|
设计模式 JSON Dart
Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
588 0
JitPack让第三方依赖更简单(第二种方法)
JitPack让第三方依赖更简单(第二种方法)
|
开发工具 Android开发 git
JitPack让第三方依赖更简单(第一种方法)
JitPack让第三方依赖更简单(第一种方法)
|
API 开发工具 Android开发
Android 发布开源库到 JitPack (详细步骤)
Android 发布开源库到 JitPack (详细步骤)
466 0
Android 发布开源库到 JitPack (详细步骤)
|
缓存 Java 开发工具
你会在 JitPack 上创建依赖库吗?
你会在 JitPack 上创建依赖库吗?
292 0
你会在 JitPack 上创建依赖库吗?
|
Java API Maven
Gradle基础|自定义插件并上传到JitPack
每一个使用 Gradle 的同学,肯定都听过或者写过插件,因为其本身并不难,但碍于现在网上的文章千篇一律,大部分都比较老,新同学一上手反而是和我一样,花了大把时间在最基础的第一步如何写一个简单demo上。再者如果大家使用 AndroidStudio BumBlebee 去创建项目,那对照网上教程差别更大,甚是花费时间,而本篇就是帮你省掉这些时间。 本篇主要概括创建插件的三种方式,并如何上传到 JitPack 中。
217 0
Gradle基础|自定义插件并上传到JitPack
|
Java Android开发
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
347 0
|
Android开发
【Android 插件化】Hook 插件化框架 ( 创建插件应用 | 拷贝插件 APK | 初始化插件包 | 测试插件 DEX 字节码 )
【Android 插件化】Hook 插件化框架 ( 创建插件应用 | 拷贝插件 APK | 初始化插件包 | 测试插件 DEX 字节码 )
218 0
【Android 插件化】Hook 插件化框架 ( 创建插件应用 | 拷贝插件 APK | 初始化插件包 | 测试插件 DEX 字节码 )
|
Android开发
【Android 热修复】运行 Tinker 官方示例 ( 处理 TINKER_ID 问题 | 编译 debug 包 | 修改 Gradle 脚本 | 生成 patch 包 | 热修复 )(二)
【Android 热修复】运行 Tinker 官方示例 ( 处理 TINKER_ID 问题 | 编译 debug 包 | 修改 Gradle 脚本 | 生成 patch 包 | 热修复 )(二)
249 0
【Android 热修复】运行 Tinker 官方示例 ( 处理 TINKER_ID 问题 | 编译 debug 包 | 修改 Gradle 脚本 | 生成 patch 包 | 热修复 )(二)