版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自http://javaexception.com/archives/169

使用Jitpack发布自己的Android Library

写本篇文章是为了总结成一个教程,自己使用Jitpack已经很久了,用它处理过好多开源项目。感觉很值得用,比jcenter之类的方便太多了。

使用教程

拿最近处理的一个开源项目举例吧,设计师出了个奇特的交互效果,https://github.com/H07000223/FlycoTabLayout 原来用的就是这个开源库,处理Tab切换,现在需要对源码做些修改定制,才能满足设计师的需求,为了不把开源库代码搬进工程中,准备修改源码后,发布到Jitpack上,使用远程依赖的方式引入进工程。其他同事几乎感觉不到差异。

fork https://github.com/H07000223/FlycoTabLayout项目到自己的仓库中,我的仓库地址是https://github.com/xingstarx/FlycoTabLayout

第一步在FlycoTabLayout/build.gradle里面添加

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

第二步在FlycoTabLayout_Lib/build.gradle下添加

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

然后把代码提交,push到远程仓库。

那么这个时候,已经可以使用Jitpack的远程依赖了,我们访问https://jitpack.io/ 可以先用github账号登录。

输入xingstarx/FlycoTabLayout 查询

可以看到我最近的提交记录,branches等等信息,点击这里面的Get it。就会获取到为之生成的远程依赖地址,我们以branches里面的master分支举例,点击一下。

会出现一个这样的路径

dependencies {
implementation 'com.github.xingstarx:FlycoTabLayout:master-SNAPSHOT'
}

那么我们只需要将这个地址,作为工程的远程依赖库即可了,替换掉原来的远程依赖。

在我们迭代过程中,更加倾向于使用tag的方式,这样可以避免使用master-SNAPSHOT产生的缓存。

点击Releases,会列出所有的tag对应的远程依赖路径

这里我们使用v2.5.0这个tag对应的远程依赖路径

implementation 'com.github.xingstarx:FlycoTabLayout:v2.5.0'

在工程中引入

上面的内容是发布到jitpack,发布了之后,工程里面需要集成进来啊,还需要处理两个地方

在跟节点的build.gradle里面添加jitpack的repository

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

在app目录下引入flycoTabLayout的远程依赖库

dependencies {
implementation 'com.github.xingstarx:FlycoTabLayout:v2.5.0'
}

到此结束。

												

使用Jitpack发布自己的Android Library的更多相关文章

  1. Android Library 发布开源库 JCenter & JitPack 攻略

    对于Android 的开源库,一般通过 JCenter 或者 JitPack 发布开源.两种方式均可~ 当你造了一个好玩有用的东西想要分享给大家时,开源出来便是一种好方式~ 一. 上传开源库到 JCe ...

  2. Android Library项目发布到JCenter最简单的配置方法

    前沿 网上的步骤看起来实在太麻烦,gituhb上偶然间看到的一个项目,经过实际验证确实可行.github连接:https://github.com/xiaopansky/android-library ...

  3. 发布 Android Library 到 JCenter 从入门到放弃

    最近想倒腾一个小小的 UIKit 到 JCenter,为开源社区贡献一点绵薄之力,于是就有了一系列惨无人道的踩坑史.好,接下来,直奔主题,以下是发布流程. 发布到 JCenter 发布到 JCente ...

  4. Android Library的依赖方式及发布(转)

    还是那句老话,好记性不然烂笔头,在此整理 Android Studio 依赖相关 以及 如何发布项目到 JCenter Android Studio 添加依赖Module 依赖module 依赖是指在 ...

  5. 【转】用JitPack发布开源库时附加文档和源码

    来自:http://www.gcssloop.com/course/jitpack-sources-javadoc 用JitPack发布开源库时附加文档和源码 很早之前写过一篇用JitPack发布An ...

  6. [转]利用JitPack发布自己项目让别人可以在dependencies中compile的简单方法

    JitPack的地址为:https://jitpack.io/ 发布 登陆 jitpack 在编辑框中输入github的网址,完成后点击LookUp 使用 点击 Get it. 之后网页就会自动导航到 ...

  7. 【转】如何使用Android Studio把自己的Android library分发到jCenter和Maven Central

    转自:http://www.devtf.cn/?p=760&utm_source=tuicool 如何使用Android Studio把自己的Android library分发到jCenter ...

  8. android studio开发工具的android library打包文件(.aar)本地引用

    by 蔡建良 2014-5-13 关键点: 利用Gradle发布本地maven库支持android library 打包文件(*.aar) 的本地引用 开发环境: windows7 64位操作系统 a ...

  9. 转:解决windows下eclipse中android项目关联android library project失败问题

    近日,在做一个人人的第三方小项目.打算直接使用renren 的sdk 进行开发.因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以 ...

随机推荐

  1. Glide只播放一次Gif以及监听播放完成的实现方案

    需求: 近段时间正好有一个需求,是要实现Gif图只加载播放一次,并且要在Gif播放完毕后回调给系统的需求. 因为Glide 3系列的API与4系列还是有很大差距的,这里我们针对Glide 3.x和Gl ...

  2. 分布式图数据库 Nebula RC2 发布:增强了 CSV Importer 功能

    Nebula Graph 是开源的分布式图数据库,可应用于知识图谱.社交推荐.风控.IoT 等场景. 本次 RC2 主要新增 GO FROM ... REVERSELY 和 GROUP BY 等语句, ...

  3. ling to sql创建临时变量 let的使用

    使用let赋值给临时变量 var dailys = from f in _postgreDbContext.draws let temp = f.review_time.Value.Date wher ...

  4. JQuery 常用网址

    http://www.bejson.com/apidoc/jquery/css.html  操作手册 https://jquery.com/   JQuery官网 一.JQuery插件的网站 1.ht ...

  5. About learn《The C programming Language,Second Edition》

    Today,My last week buy C language book arrived. Today,I week earnest study. No matter what difficult ...

  6. MySQL数据库:合并结果集

    合并结果集 union----合并结果集 对合并后的结果集中的重复数据也会自动去重 select sName from students union select tName from Teacher ...

  7. [PHP] Workerman中的注册树模式

    注册树模式是把对象挂到一个类的属性数组里,下次直接在这个数组里面取,保持全局唯一,一般在项目入口初始化的时候有用到.在workerman中一开始的就是个注册树模式的运用,下面是对他的模拟 <?p ...

  8. java程序猿工具

    1.做为一个程序员打字最重要    指法打字练习软件:http://home.bdqn.cn/thread-11142-1-1.html 2.JDK必不可少    JDK6.X下载       JDK ...

  9. 一篇和Redis有关的锁和事务的文章

    部分参考链接 Transaction StackExchange.Redis Transaction hashest 正文 Redis 是一种基于内存的单线程数据库.意味着所有的命令是一个接一个的执行 ...

  10. vuetify,vux,Mint UI 等框架的选择

    vuetify: https://vuetifyjs.com/zh-Hans/getting-started/quick-start NutUI:https://github.com/jdf2e/nu ...