小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
最近在使用 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.homeingradle.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 ,即组件IDversion版本号
示例
比如上述全称是 com.petterp.statex , statex 是我的组件 library,故就是上述这样的写法。
当然对于 version 这些统一管理 你也可以配置到专门的 gradle 文件中,这里直接引用即可,这里就不多赘述了。