发布开源库到 JitPack
前言
最近这段时间,Google和jCenter的事情把开源库作者给搞懵了,jCenter还能使用一段时间,最近都是说迁移到mavenCentral上去,但是mavenCentral确实不太好迁移,所以退而求其次,选择JitPack。
Jitpack的简单之处就在于,你只要把项目的代码提交到Github上之后,在打一个Release或者Tag,Jitpack就自动的帮你发布了一个新的版本,然后只要更新依赖就可以了,很方便,我个人是这么觉得的,虽说我没有写过什么开源依赖库,但是开源的小Demo我还是写了很多的,以帮助学习为主,这篇文章也是出于这个帮助的目的,下面进入正题。
正文
希望这是你看过的最详细的关于发布项目到JitPack上的文章,我们从创建项目开始。
一、创建项目
打开你的AndroidStudio(我的版本 4.2.1),新建一个名为EasyLibrary的项目。
点击Finish,完成项目的创建。
下面进行依赖模块的创建。
二、模块创建与依赖
File → New → New Module…
下面这个图要注意的是选择Android Library,然后输入模块名。
点击Finish,模块创建完成之后,你就能看到这样的页面。
可以看到easyutil与app是不同的图标,注意这一点,app是可运行模块,easyutil是可依赖模块。下一步就是app模块依赖easyutil模块,在依赖之后先看看app模块下的build.gradle
此时dependencies闭包中是默认的依赖,下面来添加easyutil的依赖。点击下图的这个图标或者使用快捷键 Ctrl + Alt + Shift + S
会弹出这样的弹窗。然后选择Dependencies ,按照下图的箭头进行操作。
这就是给app模块添加一个依赖模块。
勾选上easyutil,点击OK。
此时你的app依赖内容里面就多了一个easyutil,点击OK,等待编译完成,再看看你的app下的build.gradle这里,多了一个依赖,此时依赖成功。
三、测试依赖库
目前依赖库里面什么都没有,因此是不是真的依赖成功了,都不知道,因此要测试一下,怎么测试呢,写几个方法,要是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中调用一下。
在手机或者模拟器上运行一下:
依赖没有问题,下面对依赖库进行配置。
四、项目配置
打开工程的build.gradle,添加如下代码:
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
maven { url "https://jitpack.io" }
添加位置如下图所示:
再打开easyutil模块下的build.gradle,添加如下代码:
apply plugin: 'com.github.dcendents.android-maven' group='com.github.lilongweidev'
添加位置如下图:
这里的group表示你自己的仓库名称,比如我的github地址是这样的,
那么就是group=‘com.github.lilongweidev’,按照自己的实际情况来写。
最后记得要点击Sync Now。
五、提交代码
下面进行代码提交,首先保证自己的电脑上安装了git,git官网地址,找到安装版本下载,直接安装,注意安装的路径。安装好之后File → Settings
在图中标注的地方配置刚才git的安装路径,然后点击右边的Test按钮测试一下,出现弹窗,里面显示Success则说明git没有问题,点击GitHub → Add Account… ,登录你的Github账号。
登录好了,
下面直接通过AndroidStudio来提交项目代码。
第一次提交就相当于在GitHub上创建仓库
点击Share
点击Add.
第一来说第一次提交是比较顺利,但是也不排除网络环境比较差的提交失败,那就很麻烦了,如果请评论区留言,提交成功之后,你的AS右下角会出现一个弹窗提示,如上图所示,点击找个蓝色字体,就会进入到你提交到GitHub上的仓库地址。
六、创建Release&Tag版本
点击这个tags
点击Create a new release
填写资料,release版本号和标题,以及该版本的描述。
向下滑动。
上面有一个This is a pre-release的选中按钮,勾选上则表示这是一个预发布版本,不勾选就是正式发布版本,这里不勾选,点击Publish release。
发布成功。
七、提交到JitPack
下面进入Jitpack
我的地址仓库如下:https://github.com/lilongweidev/EasyLibrary
后续会持续更新这个库,作为我自己的开源库,增加一个APP开发过程中的常用工具类,敬请期待。
将仓库地址复制到这个输入框中,然后点击Look Up,
然后会出现你的发布版本,再点击Get it。
现在提交成功了,再点击一下这个Get it。会自动向下滑,然后会告诉你怎么样在项目中使用这个依赖库。
八、测试依赖库
为了证明这个依赖库确实有效,你可以新建一个EaseTest项目,然后这样配置进去。
打开新建项目的build.gradle,配置
maven { url 'https://jitpack.io' }
如下图所示:
再打开app模块下的build.gradle,配置
implementation 'com.github.lilongweidev:EasyLibrary:1.0.0'
然后Sync Now。
在MainActivity中调用依赖库中的方法即可。运行一下
九、依赖库升级
网络依赖库会根据开发者和使用者的需要而改变或者增加一个功能API,因此对应的依赖库版本也要进行升级,否则就无法使用新增的功能API,还是拿我的哪个EasyLibrary来举例子,比如我现在更新了一些工具类。
那么首先你要把这些更新的代码提交到GitHub上去,然后在GitHub上再发布一个release版本,比如我的库,
现在最新是1.0.1,当我的代码提交之后我就要升级一个版本,也就是1.0.2。
点击Draft a new release
设置release版本以及更新版本的内容,然后点击Publish release进行版本发布。
发布成功,现在进入jitpack,在输入框输入仓库地址,然后Look up你会看到刚才发布的1.0.2版本,
点击Get it,等待一会儿,当这里的Log处有这个绿色文件时,说明已经在jitpack上生效了。
这里就可以使用1.0.2版本了。
然后再去你的使用这里依赖的地方改变一下版本号,然后Sync Now一下就可以使用新版本依赖库中的功能了。
SUCCESS,山高水长,后会有期~