发布Android库到Jitpack,只需三步

参考:发布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
    image.png
  • 异常一:由于我不知道第二部Create new tagtag代表的版本号,所以我写的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/unspecifiedJitpack打包异常,发现原来事我自己的一个文件里面引入了一个错误的文件路径,我没删除。删除即可

经过三天折腾,终于可以了,感觉比上传到MavenCenter简单

image.png

你可能感兴趣的:(发布Android库到Jitpack,只需三步)