Android 发布开源库到 JitPack (详细步骤)

150 阅读6分钟

转载:developer.aliyun.com/article/104…

前言

最近这段时间,Google和jCenter的事情把开源库作者给搞懵了,jCenter还能使用一段时间,最近都是说迁移到mavenCentral上去,但是mavenCentral确实不太好迁移,所以退而求其次,选择JitPack。

 Jitpack的简单之处就在于,你只要把项目的代码提交到Github上之后,在打一个Release或者Tag,Jitpack就自动的帮你发布了一个新的版本,然后只要更新依赖就可以了,很方便,我个人是这么觉得的,虽说我没有写过什么开源依赖库,但是开源的小Demo我还是写了很多的,以帮助学习为主,这篇文章也是出于这个帮助的目的,下面进入正题。

正文

  希望这是你看过的最详细的关于发布项目到JitPack上的文章,我们从创建项目开始。

一、创建项目

打开你的AndroidStudio(我的版本 4.2.1),新建一个名为EasyLibrary的项目。

20210628163000197.png

点击Finish,完成项目的创建。

20210628163533322.png

下面进行依赖模块的创建。

二、模块创建与依赖

File → New → New Module…

2021062816380615.png

下面这个图要注意的是选择Android Library,然后输入模块名。

20210628164003442.png

点击Finish,模块创建完成之后,你就能看到这样的页面。

20210628164214893.png

可以看到easyutil与app是不同的图标,注意这一点,app是可运行模块,easyutil是可依赖模块。下一步就是app模块依赖easyutil模块,在依赖之后先看看app模块下的build.gradle

2021062816450864.png

此时dependencies闭包中是默认的依赖,下面来添加easyutil的依赖。点击下图的这个图标或者使用快捷键 Ctrl + Alt + Shift + S

20210628164556344.png

会弹出这样的弹窗。然后选择Dependencies ,按照下图的箭头进行操作。

20210628164856990.png

这就是给app模块添加一个依赖模块。

20210628165032144.png

勾选上easyutil,点击OK。

20210628165120819.png

此时你的app依赖内容里面就多了一个easyutil,点击OK,等待编译完成,再看看你的app下的build.gradle这里,多了一个依赖,此时依赖成功。

20210628165226411.png

三、测试依赖库

 目前依赖库里面什么都没有,因此是不是真的依赖成功了,都不知道,因此要测试一下,怎么测试呢,写几个方法,要是app模块能够调用不报错就说明依赖没有问题。在com.llw.easyutil下新建一个EasyToast类,里面的代码如下:

package com.llw.easyutil;

import android.content.Context;
import android.widget.Toast;

/**
 * EasyToast
 * @author llw
 */
public class EasyToast {

    /**
     * Toast
     */
    public static void show(final Context context, final CharSequence text) {
        Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
    }

    /**
     * LongToast
     */
    public static void showLong(final Context context, final CharSequence text) {
        Toast.makeText(context, text, Toast.LENGTH_LONG).show();
    }
}

然后在app模块的MainActivity中调用一下。

20210628172550864.png

在手机或者模拟器上运行一下:

20210628172731805.png

依赖没有问题,下面对依赖库进行配置。

四、项目配置

打开工程的build.gradle,添加如下代码:

classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
maven { url "https://jitpack.io" }

添加位置如下图所示:

20210628190702217.png

再打开easyutil模块下的build.gradle,添加如下代码:

apply plugin: 'com.github.dcendents.android-maven'
group='com.github.lilongweidev'

添加位置如下图:

20210628190649363.png

这里的group表示你自己的仓库名称,比如我的github地址是这样的,

20210628191834483.png

那么就是group=‘com.github.lilongweidev’,按照自己的实际情况来写。

最后记得要点击Sync Now。

五、提交代码

 下面进行代码提交,首先保证自己的电脑上安装了git,git官网地址,找到安装版本下载,直接安装,注意安装的路径。安装好之后File → Settings

2021062818010476.png

在图中标注的地方配置刚才git的安装路径,然后点击右边的Test按钮测试一下,出现弹窗,里面显示Success则说明git没有问题,点击GitHub → Add Account… ,登录你的Github账号。

20210628181239209.png

登录好了,

20210628191047399.png

下面直接通过AndroidStudio来提交项目代码。

2021062819105184.png

第一次提交就相当于在GitHub上创建仓库

20210628191502788.png

点击Share

20210628191707769.png

点击Add.

20210628192138852.png

第一来说第一次提交是比较顺利,但是也不排除网络环境比较差的提交失败,那就很麻烦了,如果请评论区留言,提交成功之后,你的AS右下角会出现一个弹窗提示,如上图所示,点击找个蓝色字体,就会进入到你提交到GitHub上的仓库地址。

2021062819283073.png

六、创建Release&Tag版本

点击这个tags

20210628192949700.png

点击Create a new release

20210628193129673.png

填写资料,release版本号和标题,以及该版本的描述。

2021062819332934.png

向下滑动。

2021062819344188.png

上面有一个This is a pre-release的选中按钮,勾选上则表示这是一个预发布版本,不勾选就是正式发布版本,这里不勾选,点击Publish release。

20210628193713339.png

发布成功。

七、提交到JitPack

下面进入Jitpack

20210628194110112.png

我的地址仓库如下:github.com/lilongweide…

后续会持续更新这个库,作为我自己的开源库,增加一个APP开发过程中的常用工具类,敬请期待。

将仓库地址复制到这个输入框中,然后点击Look Up,

20210628194353351.png

然后会出现你的发布版本,再点击Get it。

20210628194653688.png

现在提交成功了,再点击一下这个Get it。会自动向下滑,然后会告诉你怎么样在项目中使用这个依赖库。

20210628194819463.png

八、测试依赖库

为了证明这个依赖库确实有效,你可以新建一个EaseTest项目,然后这样配置进去。

打开新建项目的build.gradle,配置

20210628195101476.png

maven { url 'https://jitpack.io' }

如下图所示:

20210628195517388.png

再打开app模块下的build.gradle,配置

implementation 'com.github.lilongweidev:EasyLibrary:1.0.0'

20210628195523839.png

然后Sync Now。

20210628195704657.png

在MainActivity中调用依赖库中的方法即可。运行一下

20210628200041288.png

九、依赖库升级

 网络依赖库会根据开发者和使用者的需要而改变或者增加一个功能API,因此对应的依赖库版本也要进行升级,否则就无法使用新增的功能API,还是拿我的哪个EasyLibrary来举例子,比如我现在更新了一些工具类。

20210707200338380.png

那么首先你要把这些更新的代码提交到GitHub上去,然后在GitHub上再发布一个release版本,比如我的库,

20210707200459149.png

现在最新是1.0.1,当我的代码提交之后我就要升级一个版本,也就是1.0.2。

20210707200613181.png

点击Draft a new release

20210707200832156.png

设置release版本以及更新版本的内容,然后点击Publish release进行版本发布。

20210707201004609.png

发布成功,现在进入jitpack,在输入框输入仓库地址,然后Look up你会看到刚才发布的1.0.2版本,

20210707201052603.png

点击Get it,等待一会儿,当这里的Log处有这个绿色文件时,说明已经在jitpack上生效了。

20210707201159761.png

这里就可以使用1.0.2版本了。

20210707201311347.png

然后再去你的使用这里依赖的地方改变一下版本号,然后Sync Now一下就可以使用新版本依赖库中的功能了。