参考:发布Android依赖到 Jitpack
Jitpack官网
1.配置插件maven-publish
,并加入task
plugins {
id 'com.android.library'
id 'maven-publish'
}
task generateSourcesJar(type: Jar){
from android.sourceSets.main.java.srcDirs
classifier 'sources'
}
- 异常一:
Could not find method publications() for arguments
afterEvaluate{ publishing {} }
部分应该在android{}块之外,并且在它自己的afterEvaluate {}
中
我们还需要在android
块中添加一个publishing {}
部分,指定要发布的变体。
android {
publishing {
singleVariant("release")
}
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release // 表示发布 release(jitpack 都不会使用到)
groupId = 'com.smallcake.utils' // 这个是依赖库的组 id
artifactId = 'SmallUtils' // 依赖库的名称(jitpack 都不会使用到)
version ="1.0.0" //当前版本依赖库版本号,这个jitpack不会使用到,只是我们开发者自己查看
}
}
}
}
2.将代码同步到 github
上,并创建一个 release 版本
- 异常一:
Github
上面点击release
后没有发现Create a new release按钮
解决:等几个小时刷新就有了
- 异常二:发布
Publish release
需要Choose a tag
我没法创建tag
解决:原来是我太赛,点击Choose a tag
后在输入框中输入你自己写的tag,然后点击Create new tag
3.去Jitpack发布
- 首先,复制当前项目地址,例如:
https://github.com/xiaoshubin/Utils
- 然后,进入https://jitpack.io/ ,把这段地址粘贴到输入框中,并点击Look up
- 异常一:由于我不知道第二部
Create new tag
的tag
代表的版本号,所以我写的utils,导致我第一个预览版引入路径是:
implementation 'com.github.xiaoshubin:Utils:utils'
哈哈,是不是很奇怪
改进:下次写tag一定写版本号
- 异常二:由于我的项目名称是大写,导致我的二级路径是
Utils
,github直接修改名称为小写的utils
- 异常三:由于我修改了
Github
项目名称为小写的utils
,导致jitpack
一直无法更新版本,可以尝试删除老版本 - 异常四:
ERROR: No build artifacts found Expected artifacts in: $HOME/.m2/repository/SmallUtils/utils/unspecified
Jitpack打包异常,发现原来事我自己的一个文件里面引入了一个错误的文件路径,我没删除。删除即可