使用Jitpack发布自己的Android Library
版权声明:本文为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的更多相关文章
- Android Library 发布开源库 JCenter & JitPack 攻略
对于Android 的开源库,一般通过 JCenter 或者 JitPack 发布开源.两种方式均可~ 当你造了一个好玩有用的东西想要分享给大家时,开源出来便是一种好方式~ 一. 上传开源库到 JCe ...
- Android Library项目发布到JCenter最简单的配置方法
前沿 网上的步骤看起来实在太麻烦,gituhb上偶然间看到的一个项目,经过实际验证确实可行.github连接:https://github.com/xiaopansky/android-library ...
- 发布 Android Library 到 JCenter 从入门到放弃
最近想倒腾一个小小的 UIKit 到 JCenter,为开源社区贡献一点绵薄之力,于是就有了一系列惨无人道的踩坑史.好,接下来,直奔主题,以下是发布流程. 发布到 JCenter 发布到 JCente ...
- Android Library的依赖方式及发布(转)
还是那句老话,好记性不然烂笔头,在此整理 Android Studio 依赖相关 以及 如何发布项目到 JCenter Android Studio 添加依赖Module 依赖module 依赖是指在 ...
- 【转】用JitPack发布开源库时附加文档和源码
来自:http://www.gcssloop.com/course/jitpack-sources-javadoc 用JitPack发布开源库时附加文档和源码 很早之前写过一篇用JitPack发布An ...
- [转]利用JitPack发布自己项目让别人可以在dependencies中compile的简单方法
JitPack的地址为:https://jitpack.io/ 发布 登陆 jitpack 在编辑框中输入github的网址,完成后点击LookUp 使用 点击 Get it. 之后网页就会自动导航到 ...
- 【转】如何使用Android Studio把自己的Android library分发到jCenter和Maven Central
转自:http://www.devtf.cn/?p=760&utm_source=tuicool 如何使用Android Studio把自己的Android library分发到jCenter ...
- android studio开发工具的android library打包文件(.aar)本地引用
by 蔡建良 2014-5-13 关键点: 利用Gradle发布本地maven库支持android library 打包文件(*.aar) 的本地引用 开发环境: windows7 64位操作系统 a ...
- 转:解决windows下eclipse中android项目关联android library project失败问题
近日,在做一个人人的第三方小项目.打算直接使用renren 的sdk 进行开发.因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以 ...
随机推荐
- ORACLE spool打印
问题描述:spool让我想起来了spooling假脱机,但是这个spool是oracle下的命令,将select查询出来的数据打印出来 1.linuxi下 spool +路径+文件名,这里的文件如果不 ...
- 看懂 游戏《Minecraft》的崩溃报告 服务端/客户端
如何看懂Minecraft报错的关键信息. 让你如何看懂Minecraft报错 前言 一些俏皮话 寻找崩溃日志 打开崩溃日志 重要的事说三遍 下载文本编辑器 开始分析 深度分析 得出结论 修复报错 解 ...
- Angular 彻底解决 Dropdown 在 Safari 上无法自动关闭的问题
之前在 Safari 上用 focus 事件来实现 Dropdown 下拉菜单,结果在 iOS 上不兼容. 尝试了 MDN 和 stack over flow 上各种奇技淫巧,然而在 iOS 上全都败 ...
- Android组件体系之BroadcastReceiver小结
1.常见分类 BroadCastReceiver,按注册方式可以分为静态广播接收器和动态广播接收器. 静态广播接收器:不受程序是否启动的约束,当应用程序关闭之后,还是可以接收到广播(一般广 ...
- YII2中andWhere多个or查询
使用多个or的复杂查询: AND ((`name`='张三') OR (`name`='李四') OR (`name`='王五')) // AND ((`name`='张三') OR (`name`= ...
- JavaScript图形实例:布纹图案
1.椭圆型布纹图案 先在HTML页面中设置一个画布. <canvas id="myCanvas" width="300" height="300 ...
- Python爬虫基础——正则表达式
说到爬虫,不可避免的会牵涉到正则表达式. 因为你需要清晰地知道你需要爬取什么信息?它们有什么共同点?可以怎么去表示它们? 而这些,都需要我们熟悉正则表达,才能更好地去提取. 先简单复习一下各表达式所代 ...
- Spring Boot常用注解和原理整理
一.启动注解 @SpringBootApplication @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documen ...
- Redis入门(四)-Java操作Redis
<Redis入门>系列文章的第四篇,这一节看一下如何用Java版本的redis客户端工具--Jedis来操作redis. Jedis封装了丰富的api来对redis的五种数据类型 stri ...
- 简单“三步”让你的网站支持https!
关于Let's Encrypt Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起 ...