发布Library到JCenter

Posted Android-kongqw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布Library到JCenter相关的知识,希望对你有一定的参考价值。

发布Library到JitPack

官方文档

我们正常创建一个android Studio工程,添加一个Module(后面称为Library Module)作为我们想要发布到JitPack的Library

  1. 在工程build.gradle文件中添加android-maven插件
buildscript 
    ext.kotlin_version = 'xxx'
    repositories 
        ……
    
    dependencies 
        ……
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    

  1. Library Modulebuild.gradle中添加android-maven插件,并配置GitHub
apply plugin: 'com.github.dcendents.android-maven'
……
android 
    ……
    defaultConfig 
        ……
    
    ……
    group = 'com.github.kongqw'


dependencies 
    ……

至此,我们基础的工作就做完,可以在Library Module封装功能了。

验证

当我们搭建完基础工程或者封装完部分功能,可以准备发布的时候,在Terminal执行以下命令

./gradlew install

提交到GitHub

提交主ModuleLibrary Module以及gradle的基础配置文件就不做多说,要注意的是将gradle目录提交,因为里面包含Gradle版本等相关信息,如果没有上传,JitPack会使用默认的版本,可能出现一些问题。

发布到JitPack

  1. 我们到GitHub工程下,添加一个Release版本,添加一个版本名,例如1.0版本,或者再提交代码时,添加一个Tag,以备我们生产Library时使用

  2. 使用GitHub账号登录到 https://jitpack.io/,找到我们的工程,可以看到我们添加的Release版本,在对应的版本后面点击Get it按钮,开始生成。

到此,自己开源的一个Library,就发布成功了。

发布混合Library

场景:有时,我们的Library集成了很多的功能,但是使用者可能不需要全部都用到,这时候我们可以把Library拆分成多个模块,使用者可以按需导入,而不需要把整个Library全部导入,从而减小apk的体积。

方式和前面的方法一样,同样的,将需要才分的模块,在新建一个Library中实现即可,步骤参照上文,只是在导入时略有区别,我们通常在导入的时候格式是这样的:

implementation "com.github.<USER>:<REPO>:<version>"

现在可以按需导入

implementation "com.github.<USER>.<REPO>:<library-module>:<version>"

举一个直观的栗子:

假设我的KBox里面有commonui等等多个模块, 下面的导入的方式会将所有模块同时导入到工程

implementation 'com.github.kongqw:KBox:0.0.1'

但是KBox里有很多功能使用者可能是用不到的,假如他只想用common或者ui其中的某个模块,那么可以按照下面的方式按需导入:

implementation 'com.github.kongqw.KBox:common:0.0.1'
implementation 'com.github.kongqw.KBox:ui:0.0.1'

以上是关于发布Library到JCenter的主要内容,如果未能解决你的问题,请参考以下文章

发布自己Library到JCenter

如何使用android studio把自己的android library分享到jcenter和maven central

如何将Android studio中Library发布到Jcenter

Android studio 发布Android Library项目到JCenter

Android将Library上传到jcenter超简单完整步骤以及遇到的各种坑

史上最详细教程-Android library 发布到JCenter