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

简介: android library打包发布到jitpack.io远程maven仓库中详细教程本文介绍,如果将自己写的开源代码上传到github.com,然后打包传到jitpack.iomaven仓库,这样别人就可以通过gradle或者maven依赖使用你的开源代码了。

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中。库项目建好后,目录结构如下图所示:


img_e94626a7e4c64c709711cbd36e6cff46.png
1.png
2.编写或者复制代码

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


img_aa165916abda7c1e9cd86b031e36c124.png
2.png
3.打包环境准备

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

img_27a4af582008d12e9b8ba8823c681d30.png
3.png

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

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

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

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

二、github发布版本

1.新建项目

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

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

img_19f7b7817754ef0323ade3ca9235a638.png
6.png

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

img_cdb11144239db9f9ef43e8d230717af4.png
7.png
2.发布release版本

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

img_225a792e8488c539b6c7888e0e7e782d.png
8.png

三、发布到jitpack.io上

1.发布版本

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

img_8452cfb236a07ff00a538ab85a7e9b90.png
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进行自动配置导致的,按图去掉图中勾选的,就不回报错了。


img_02bb15b5685626edba86c646d60ac714.png
10.png

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


img_26a322d15fe43d6e42aefbf2be2c6fa6.png
112.png

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

img_edae80126a89e76f86a8135a367e58d5.png
13.png

关注

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

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

img_cb380af3d7a871d3f66df87a6eae835e.png
相关文章
|
2天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
18天前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
|
5月前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件(如JARs):本地仓库在首次执行时创建,默认位于`%USER_HOME%/.m2/repository/`;远程仓库包括中央仓库,存放大量开源Java构件,可在线浏览<http://search.maven.org/>。若本地缺失构件,Maven会从远程下载至本地。可通过settings.xml配置本地仓库路径。
|
2月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
268 4
|
2月前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!
|
3月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
830 3
|
5月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
432 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
6月前
|
Java Maven
maven开源仓库
maven开源仓库
139 6
|
5月前
|
敏捷开发 JavaScript Java
阿里云云效产品使用合集之如何进行Maven私有仓库迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章

推荐镜像

更多