我已经分叉了一个 Android 库并合并了一些我需要的更改 https://github.com/ceessay/kdgaugeView
为了在我的 Android 项目中使用该库,我尝试将其发布到 Jitpack 上。
问题是在 Github 上推送更改后,Jitpack 上的构建似乎通过了,但有这条消息
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 543ms
4 actionable tasks: 1 executed, 3 up-to-date
Build tool exit code: 0
Looking for artifacts...
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Looking for pom.xml in build directory and ~/.m2
2020-07-13T12:27:13.425592193Z
Exit code: 0
ERROR: No build artifacts found
完整日志在这里:https://jitpack.io/com/github/ceessay/kdgaugeView/1.0.5/build.log
在我的项目中添加库也失败,并显示以下消息:
找不到 com.github.ceessay:kdgaugeView:1.0.4。
我已经遵循了 Jitpack 文档的指南,升级了库的 gradle,但我不会工作。
我是 Android 发布库的新手,所以我可能会遗漏一些东西。有什么线索吗?
您可以使用
maven-publish
gradle 插件。 maven-publish
的文档是https://developer.android.com/studio/build/maven-publish-plugin。
我确信也可以使用该项目中已经存在的
com.github.dcendents.android-maven
,但对我来说并不那么明显。
您还可以查看优秀的插件https://vanniktech.github.io/gradle-maven-publish-plugin/。
花了半天时间解决同样的问题。我忘记在 build.gradle.kts 中为我的工件定义发布:
publishing {
publications {
create<MavenPublication>("maven") {
groupId = "com.github.username"
artifactId = "library-name"
version = "1.0.0"
from(components["kotlin"])
}
}
}
希望,这有帮助。
经过大量挖掘后,最终得到了一个更好的解决方案,首先我建议使用文档,这将比链接中的任何内容更好地帮助您。 :https://developer.android.com/build/publish-library/upload-library
在顶部插件中添加
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.jetbrains.kotlin.android)
`maven-publish`
}
在你的gradle中你必须添加
android {
publishing {
singleVariant("release") {
withSourcesJar()
}
}
}
在android栏下方添加
group = "com.papayacoders.draw"
version = "1.0.9"
publishing {
publications {
create<MavenPublication>("release") {
afterEvaluate {
from(components["release"])
}
groupId = "com.papayacoders.draw"
artifactId = "AndroidDraw"
version = "1.0.9" // Ensure this matches your versioning
}
}
}