本文微信公众号「AndroidTraveler」首发。

背景

之前给大家写过一篇文章 Android 上传开源项目到 jcenter 实战踩坑之路,分享了上传开源项目到 jcenter 上面的一些踩坑经验。

最近,又有一个开源项目要上传,发现 jcenter 出现各种问题。

登录不上,登录后点击不断返回登录界面,或者 404 如下:

没办法,只能找找看有没有其他方式可以开源项目。

本文定位

本文主要讲解新方法的一些坑和经验,具体操作不赘述,如有不清楚的可以看参考链接。

1. 准备好要开源的项目

假设你已经有了一个带 Module 的 Android 项目了。现在你想要将其开源出去。

首先将其上传到 GitHub。

这里演示使用的项目地址是:AndroidModule

2. 打开 JitPack 地址

点击右边链接打开:JitPack

如下图:

这个时候有两种方式可以获取远程代码仓库依赖。

第一种方式:

拷贝 GitHub 仓库到上图红框位置。

点击 Look up,再点击具体的 TAB,比如 Releases 或者 Builds,可以看到下图:

第二种方式:

点击网站的右上角使用 GitHub 进行授权登录。

登录后你的 public 仓库都会显示在左侧:

点击就可以获得对应的仓库依赖了。

3. 点击 Get it

点击之后 Log 会显示一个 Loading,表明在编译中。

如果编译错误,Log 会显示红色文本图标,点击可以查看错误。如果编译成功,Log 会显示绿色文本图标。

当显示红色的时候,点击进去查看原因,比如我这里出现下面错误:

A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
> Minimum supported Gradle version is 5.1.1. Current version is 4.8.1. If using the gradle wrapper, try editing the distributionUrl in /home/jitpack/build/gradle/wrapper/gradle-wrapper.properties to gradle-5.1.1-all.zip

最后到 JitPack GitHub 的 issue 里面找到了问题所在。

就是修改项目的 build.gradle 文件,将

classpath 'com.android.tools.build:gradle:3.4.2'

改为

classpath 'com.android.tools.build:gradle:3.2.0'

即可。

当显示绿色之后就表示可以用了。

点击 Get 之后,屏幕会滑动到下方。可以看到如何引入到项目中。

4. 引入

很简单,两步即可:

实战

当然实际上我们并不会直接 Get it 某一个提交。

我们会按照版本来操作,并且一般会对 ReleasesGet it 操作。

第一步是点击 release:

第二步是点击新建一个 release,因为这里是第二个,所以页面如下:

第三步是填写相关信息,然后点击 Publish release

这样就可以看到效果了。

点击 Releases 可以看到所有的 Release 情况。

然后我们到 JitPack 上面就可以看到我们这个最新的 Release 了。

结语

背景已经说了,有一个开源项目要上传。下篇文章跟要开源的项目有关,也会在那篇文章公布开源的项目。

敬请期待。

参考链接:

jitpack/jitpack.io

gradle version mismatch

在github上面开源自己的android library,让项目依赖使用攻略

Android 开源库 GitHub 托管的更多相关文章

  1. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  2. GitHub Top 100的Android开源库

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...

  3. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

  4. <Android开源库 ~ 1> GitHub Android Libraries Top 100 简介

    转载自GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitH ...

  5. GitHub上排名前100的Android开源库介绍

    GitHub上排名前100的Android开源库介绍 文章来源: http://www.open-open.com/news/view/1587067#6734290-qzone-1-31660-bf ...

  6. Android 开源库获取途径整理

    介绍眼下收藏 Android 开源库比較多的 GitHub 项目.站点.Twitter.App 及怎样获取最新的 Android 开源库. 微信号: 1. GitHub Android 开源项目汇总 ...

  7. 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)

    标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...

  8. Android 开源库和项目 3

    Android 开源库和项目 Android 开源库和项目 2 1.Matisse Android 图片选择器 -- 知乎开源 github 地址:https://github.com/zhihu/M ...

  9. 【Java&amp;Android开源库代码分析】のandroid-async-http の开盘

          在<[Java&Android开源库代码剖析]のandroid-smart-image-view>一文中我们提到了android-async-http这个开源库,本文正 ...

随机推荐

  1. python语言程序设计基础(嵩天)第四章课后习题部分答案

    p121: *题4.1:猜数字游戏.在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了!”:小于预设的数,显示“遗憾,太小了!”,如此循环,直至猜中该数 ...

  2. PHP高效产生m个n范围内的不重复随机数(m<=n)

    该算法非常巧妙的取随机数的位置(数组的下标),替代取随机数本身,每次取到一个随机数之后,就将其在取值范围中排除,下一次仅会在剩下的数字中取,一次遍历就可以完成随机数的选取,效率相当高. functio ...

  3. 【线性表基础】顺序表和单链表的插入、删除等基本操作【Java版】

    本文表述了线性表及其基本操作的代码[Java实现] 参考书籍 :<数据结构 --Java语言描述>/刘小晶 ,杜选主编 线性表需要的基本功能有:动态地增长或收缩:对线性表的任何数据元素进行 ...

  4. redis系列之------字典

    前言 字典, 又称符号表(symbol table).关联数组(associative array)或者映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构. 在字典中 ...

  5. CSS样式手册

    字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: obl ...

  6. 网页布局——float浮动布局

    我的主要参考资料是[Object object]的文章 float 布局应该是目前各大网站用的最多的一种布局方式了,但是也特别复杂,这里详细讲一下 首先,什么是浮动? 浮动元素是脱离文档流的,但不脱离 ...

  7. Cocos Creator 通用框架设计 —— 网络

    在Creator中发起一个http请求是比较简单的,但很多游戏希望能够和服务器之间保持长连接,以便服务端能够主动向客户端推送消息,而非总是由客户端发起请求,对于实时性要求较高的游戏更是如此.这里我们会 ...

  8. javascript 对象和字符串互转

    Object  =>  String : console.log(JSON.stringify(e)); String => Object : JSON.parse(str)

  9. [USACO17FEB]Why Did the Cow Cross the Road III S

    题目描述 Why did the cow cross the road? Well, one reason is that Farmer John's farm simply has a lot of ...

  10. 2.单核CPU是如何实现多进程的?

    单核cpu之所以能够实现多进程,主要是依靠于操作系统的进程的调度算法 如时间片轮转算法,在早期,举例说明:有5个正在运行的程序(即5个进程) :   QQ    微信    有道词典      网易云 ...