android library打包发布到jitpack.io远程maven仓库中详细教程

头像
码农笔录
2018-12-03阅读 5800

android library打包发布到jitpack.io远程maven仓库中详细教程

本文介绍,如果将自己写的开源代码上传到github.com,然后打包传到jitpack.iomaven仓库,这样别人就可以通过gradle或者maven依赖使用你的开源代码了。

implementation ‘com.github.yirenyishi:common-utils:v1.0’ 这是我的jar包依赖,大家可以试试哦

一、准备环境

1.新建项目

在androidstudio中新建一个工程项目,建完之后,新建一个module,然后选择library,我们将开源代码放到这个library中。库项目建好后,目录结构如下图所示:
1.png

2.编写或者复制代码

将你要开源的代码复制到库项目中,然后用工程项目依赖这个库,测试通过后,进行下一步。如图所示:
2.png

3.打包环境准备

jitpack官方文档,同志们一定要记得看官方文档,因为软件版本的不断迭代更新,可能某一天这篇帖子的内容就跟不上时代了。我这里使用的gradle版本是4.6,所以要在build中增加如下代码。
3.png

在工程项目的根目录下build.gradle中加入如下依赖,版本号请看官方文档使用最新版。

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

4.png

然后在你的库项目build.gradle文件中增加如下代码

apply plugin: 'com.github.dcendents.android-maven'
group='com.github.yirenyishi'
// group='com.github.你的github用户名'

5.png

二、github发布版本

1.新建项目

在github新建一个仓库,注意项目配置,最好是输入项目名称,然后其他的默认,如图所示:

https://github.com/yirenyishi/common-utils 这是我项目的地址

6.png

然后将我们的项目上传到github上。

7.png

2.发布release版本

请看上图,我们在code页面。点击release,我们发布一个新的release,其实发布release就是相当于打包的意思。
8.png

三、发布到jitpack.io上

1.发布版本

github release发布成功后,我们打开网址 https://jitpack.io/ ,登陆,使用github授权登陆成功后。
我们选择我们刚才新建的项目,然后点击lookup,就会把你的版本号全部列出来,这时候一定要看打包日志,确认是否打包成功,如果打包失败,我们会看到报错原因。
9.png

2.如何使用

我们点击get it 就可以看到如何使用了,首先添加maven 仓库地址,然后加入如下依赖。

// 格式  com.github.github 用户名: github 仓库名称 : 版本号
implementation 'com.github.yirenyishi:common-utils:v1.0'

三、报错异常处理

1.Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above。

这是因为as的gradle插件不支持你的gradle进行自动配置导致的,按图去掉图中勾选的,就不回报错了。
10.png

2.Gradle wrapper not found. Please add. Using default gradle to build.
这种就是因为你在给github上传的时候没有上传gradle的相关文件。一下图中所示的文件都要上传。
112.png

上传后重新打包发布,如果还提示这个错误,请检查你的gradle版本号。请检查下图中的两个版本号是否一致。如果不一致,删除这个目录。然后进入到项目根目录下,在cmd中执行如下命令 gradle wrapper --gradle-version 4.6,版本号,请使用你自己的版本号,执行命令成功后会重新生成 gradle-wrapper.jar 这个文件,然后上传重新打包发布。
13.png

关注

如果有问题,请在下方评论,或者加群讨论 200909980

关注下方微信公众号,可以及时获取到各种技术的干货哦,如果你有想推荐的帖子,也可以联系我们的。