书写Android开源库,并发布到JitPack.io

        一直以来,都是使用别人的开源库,尤其有了 Gradle 后,依赖别人的开源库就更简单了,只需要在项目的 build.gradle 文件中添加上类似 implementation 'com.github.freakcsh:UIAdaptive:V1.0' 就可以了,剩下的工作就可以交给 Gradle 帮助我们完成 library 依赖了。

        但是这个依赖库是怎么书写的呢?下面分两部分进行分解。

  • 一、如何写 library

首先,我们先自己写一个本地的library进行依赖。

1、新建一个library

打开 Android Studio,New Project,然后在次工程下new  module,module的类型选择library,如图所示

书写Android开源库,并发布到JitPack.io_第1张图片

之后就是填写library的名字,一路next下去就可以,就不一一贴图了。

2、创建了library之后如何区分创建的是library还是application呢?

打开 module 对应的 build.gradle 文件,查看首行是否是

apply plugin: 'com.android.library'

如果是这个则是library,如果是

apply plugin: 'com.android.application'

则是application。

3、创建java类

4、在我们的项目中依赖我们书写的library,如图所示

书写Android开源库,并发布到JitPack.io_第2张图片

这样,就可以在我们的项目中调用我们的library了。不过这只是我们自己玩玩,如何把我们书写的library让别人一gradle的方式去依赖使用呢?我们继续往下看。

  • 二、如何在 JitPack.io Publish Android Library

首先让大家看看开源库的查看方法,以我的开源库为例子:https://github.com/freakcsh/UIAdaptive 这个是我书写的UI适配的开源库,打开https://jitpack.io/  把我的开源库地址粘贴进去,然后点击 Look Up,就可以查看我的开源库信息,依赖方式等。如图所示:

书写Android开源库,并发布到JitPack.io_第3张图片

效果查看了,下面就进行讲解如果把本地的library与JitPack.io 结合起来,JitPack.io 的官方网址:https://jitpack.io/docs/ANDROID/

1、要在JitPack上启用构建,您需要添加android-maven插件。打开Project 的build.gradle文件,在dependencies 下添加

dependencies {
    classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}

2、在你的library / build.gradle中添加:

apply plugin: 'com.github.dcendents.android-maven'

group='com.github.YourUsername'

注意:YourUsername 是你github的username

3、检查你的Project目录是否存在 gradle/wrapper/gradle-wrapper.jar、gradle-wrapper.properties 这两个文件(一般创建项目就会有这两个文件),如果存在可跳过下面这步,如果不存在,请按下面的进行操作。打开当前项目的 Terminal,先后执行 gradle wrapper 和 ./gradlew install 两个命令。

4、把你的这个项目上传到github上,如果你使用的是Android studio则只需要一步即可share你的项目到github上,前提是你需要安装了git并在Android studio上配置了。上传方式如图:

书写Android开源库,并发布到JitPack.io_第4张图片

5、把项目share带github上之后,要到github上设置版本号,在github上选择release,点击Create a new release,填写好版本号那些就可以提交了,如图所示:

书写Android开源库,并发布到JitPack.io_第5张图片

填写完版本号之后:

书写Android开源库,并发布到JitPack.io_第6张图片

到此,就完成了Android开源库的上传了,就可以在https://jitpack.io上根据你的github地址去查找你的依赖了。

你可能感兴趣的:(开源库)