本文微信公众号「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,让项目依赖使用攻略

最新文章

  1. RF执行顺序
  2. Windows Azure HandBook (1) IaaS相关技术
  3. 1 server - n clients 模型实现(select)
  4. 命令cp
  5. Android(java)学习笔记168:Java异常分类
  6. 关于我们-成功人士西装定制服务第一品牌派斯特PAISTETAILOR绅士礼服
  7. Easyui datagrid 批量编辑和提交
  8. ansible-playbook(node_exporter)
  9. Redis的使用原理
  10. ubuntu 添加开机启动服务
  11. Linux 用top命令查看CPU和内存使用情况
  12. Effective Java 第三版——66. 明智谨慎地使用本地方法
  13. spring cloud:config-server中@RefreshScope的"陷阱"
  14. ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper create failed after 4 attempts
  15. Cacti日志时区问题
  16. 洛谷P3586 [POI2015]LOG(贪心 权值线段树)
  17. (转)Unity3D占用内存太大的解决方法
  18. mysql 数据类型 枚举类型与集合类型
  19. ABP zero出现Default language is not defined!的错误的解决方法
  20. Nginx(Windows)

热门文章

  1. 什么是ECMAScript、什么又是ECMA?
  2. logback颜色
  3. 第三方登录之GitHub篇
  4. HTML5存储--离线存储
  5. Springboot2.x + ShardingSphere 实现分库分表
  6. CSS中的各种单位
  7. Python网络爬虫——Appuim+夜神模拟器爬取得到APP课程数据
  8. 【教程】基于Ubuntu系统的PyTorch虚拟环境配置
  9. 面试必问的Synchronized知道这些就可以了
  10. 《HelloGitHub》第 43 期