小知识 - 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 代码生成和模块化编译的构建系统
575 0
JitPack让第三方依赖更简单(第二种方法)
JitPack让第三方依赖更简单(第二种方法)
|
开发工具 Android开发 git
JitPack让第三方依赖更简单(第一种方法)
JitPack让第三方依赖更简单(第一种方法)
|
XML 监控 算法
深入探索编译插桩(二.app打包编译)
现如今随着组件化, 插件化框架以及热修复,AOP编程等高级用法的新起,不得不驱使大家去了解更加底层的原理,上一篇文章笔者介绍了关于JVM字节码的理解,这篇文章笔者就来讲解下我们apk从编译到安装的过程。
|
API 开发工具 Android开发
Android 发布开源库到 JitPack (详细步骤)
Android 发布开源库到 JitPack (详细步骤)
466 0
Android 发布开源库到 JitPack (详细步骤)
|
缓存 Java 开发工具
你会在 JitPack 上创建依赖库吗?
你会在 JitPack 上创建依赖库吗?
291 0
你会在 JitPack 上创建依赖库吗?
|
Java API Maven
Gradle基础|自定义插件并上传到JitPack
每一个使用 Gradle 的同学,肯定都听过或者写过插件,因为其本身并不难,但碍于现在网上的文章千篇一律,大部分都比较老,新同学一上手反而是和我一样,花了大把时间在最基础的第一步如何写一个简单demo上。再者如果大家使用 AndroidStudio BumBlebee 去创建项目,那对照网上教程差别更大,甚是花费时间,而本篇就是帮你省掉这些时间。 本篇主要概括创建插件的三种方式,并如何上传到 JitPack 中。
214 0
Gradle基础|自定义插件并上传到JitPack
|
Java Android开发
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
342 0
|
缓存 前端开发 JavaScript
在 Webpack 5 中开启懒编译(Lazy Compilation)
在 webpack 5 中推出了 experiments 配置,目的是为了给用户赋能去开启并试用一些实验的特性。Lazy Compilation 是只有在用户访问时才编译。
1016 0