本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。

可能有许多朋友都已经知道了这个事情,JCenter即将在Android上被废弃了。

这么重大的事件也是相当出乎我意料,本来我以为是Google又要整什么幺蛾子,因为Google很喜欢废弃东西。结果了解下来,Google这次也是受害者。

今年2月3号,JFrog(JCenter的运营方),在其官网宣布了这一重大决定,包括Bintray、JCenter在内的多项软件包管理和分发服务都将停止运营。原文链接如下:

https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

JFrog的这则声明可谓是杀伤力极强,为什么这么说呢?因为它即将影响到的是所有的Android开发者,是的你没听错,是所有。

只要你是一名Android开发者,就一定使用了JFrog提供的服务,即使你没听过JFrog这个名字,你也一定在不知不觉中使用了JFrog的服务。

当我们在Android Studio当中新建一个Android项目时,你总是可以在build.gradle文件里找到这样一段配置:

repositories {google()jcenter()
}

这段配置的意思是,指定当前的项目工程可以从哪些仓库上去拉取依赖库给当前项目使用。

其中,google()指的是Google自家的仓库,比如我们使用的很多第一方库,如RecyclerView, Jetpack Components等等就是从这里拉取的。

而jcenter()指的就是由JFrog提供的JCenter仓库,几乎Android上所有的第三方开源项目都会选择将库发布到这里,比如你在项目中集成的OkHttp、Retrofit、RxJava等等第三方库都是从这里拉取的。

Android的第三方库规模庞大,数量远超Google的第一方库,可以说任何一个Android项目都会依赖许多的第三方开源项目。这也是为什么我说,JFrog的这则声明杀伤力极强了。

接下来我来跟大家具体介绍一下JCenter的停止服务会带来哪些影响,以及这些影响生效的时间节点。

毫无疑问,JCenter的停止服务势必会影响两类人群:开源库的开发者和开源库的使用者。

开源库的开发者在接下来的一段时间里可能会是最头疼的人,因为本篇文章发布的时候,你已经无法再向JCenter提交任何库的更新了。

根据JFrog给出的时间节点,自2021年3月31日之后,JCenter就不再接受任何新的提交。

刚巧我最近有个开源库(PermissionX)的新版本要发布,前两天像往常一样向JCenter去提交新版本,结果发现却没能提交成功。然后我到JFrog官网才找到了这条时间节点,真的是非常遗憾,新版本暂时发布不成了。

而如果你是开源库的的使用者,那么短时间内你还可以不用担心,因为JCenter会继续提供服务到2022年2月1日。在那之前,你仍然可以在Android Studio中正常拉取2021年3月31日之前提交至JCenter的开源库。

关于JFrog的声明里比较重要的内容和时间节点差不多就是这些了,但是对于广大的Android开发者而言,我们现在应该做什么呢?

我认为现在能做的事情还不太多,因为整个事件当中,还有一位非常核心的玩家没有表态,那就是Google。

刚才说了,Google也是这次事件的受害者,本来Android Studio创建项目时默认集成JCenter仓库,我还以为Google是和JFrog建立了战略合作关系。没想到被JFrog一则停止服务声明,直接影响了整个Android开源库的生态。

而这个事情发生得也比较突然,JFrog2月3日才宣布的消息,3月31日就不再接受任何新库的提交了。感觉Google对此也没有充足的时间进行应对,因此只在Android开发者官网发布了这样一条简单的声明:

大概意思就是说,JCenter要停止服务了,建议大家改用Maven Central,Google会在不久之后发布迁移方案。

其实我印象中在JCenter之前,Android默认的第三方仓库就是Maven Central,现在看上去又是要改回去的意思?

我就在寻思着,Google会不会有计划自建一个第三方开源项目的仓库,从而不用再担心这种突然被停止服务的困扰。于是我又跟Google那边去求证了一下,得到的答复是Google并没有此计划,那么由此看来大概率是要使用Maven Central了。

如果你现在想要将自己的开源库发布到Maven Central上,可以参考这篇文档来进行操作:

再见JCenter,将你的开源库发布到MavenCentral上吧

我发现有些库的反应非常快,现在已经将新版本发布到Maven Central上了,比如说Glide。

可以看到,在repositories当中,Glide已经把jcenter()替换成了mavenCentral()。

但手动添加仓库毕竟很难形成标准,因此这件事还是需要Google来推动。相信要不了多久,Android Studio创建新项目时默认的仓库就会由jcenter()变成mavenCentral()了。

作为一名开发者,我们理应保持着时刻拥抱变化的心态和能力。然而作为一名Android开发者,我有时又忍不住想吐槽一句:我们的变化是不是有点太快了?

关注我的技术公众号,每个工作日都有优质技术文章推送。

微信扫一扫下方二维码即可关注:

浅谈JCenter即将被停止服务的事件相关推荐

  1. Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五)

    Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五) 前面几篇文章我们学习了Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止 ...

  2. html中单选按钮设置监听事件,浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio...

    浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio 若是只引用jquery的话,监听单选按钮改变事件如下: 男 女 $(document).ready(functio ...

  3. 浅谈MySQL中客户端与服务端连接方式

    一.前言 前面五篇文章给大家介绍了如何安装数据库到一条SQL在服务端需要经历那些步骤才能够解析完成,相信大家对数据库也有了初步的了解,但俗话说的好"纸上谈兵不如躬行实践",前面学习 ...

  4. 浅谈工业机器人的运动停止

    德系的工业机器人系统中,对于机器人停止运动,定义了3种模式,比如 KUKA 的工业机器人分别定义了 Stop 0 ,Stop 1,Stop 2 (*注1).这种定义模式是与机器人的机械结构和电气结构相 ...

  5. 设计云桌面不靠谱?浅谈如何挑选适合的服务

    近些年云桌面十分火热,大有取代电脑的趋势,但也存在不少反对意见,认为云桌面取代电脑绝无可能,尤其在设计这类高算力需求的行业,那么事实上真的如此吗?设计行业又该怎么选择云桌面? 首先在回答云桌面能否胜任 ...

  6. 浅谈Matchvs联网对战服务的几点优势

    由于微信和QQ这样的大流量社交平台逐步开放入口,现在有很多开发者会选择做支持联网对战游戏来契合社交属性.不过受限于成本与技术团队,其中会有不少的项目选择接入Matchvs.Matchvs是什么?简单说 ...

  7. 浅谈APP流式分页服务端设计(转)

    http://www.jianshu.com/p/13941129c826 a.cursor游标式分页 select * from table where id >cursor limit pa ...

  8. 浅谈HASH算法与CSDN密码泄漏事件

    在CSDN密码泄漏事件中,网友评论提到密码的明文保存和MD5保存问题.目前,很多站点都用MD5算法保存密码,但对于HASH(哈希)算法的认识还存在很多误区,很有必要重新认识. 一.HASH算法不是加密 ...

  9. 微信小程序存在的风险_浅谈微信小程序会中病毒事件

    小程序其实是云端数据,不在软件里,所以小程序没有进入的端口,所以华为的管家也检测不出来,但是你按照腾讯的方法收索的话,就等于默认开通小程序,把你的数据放到云端,同时你拥有的账号就绑定了一大堆应用程序, ...

最新文章

  1. Verilog 中的 function
  2. 2021-05-21 深入理解SLAM技术 【4】射影几何--2面中心射影
  3. View onRestoreInstanceState ClassCastException
  4. 编写自己的Shell解释器-3[转]
  5. SQL Server 2005客户端安装和端口设置
  6. CVPR 2020 | 北航提出:通过由粗到精特征自适应进行跨域目标检测,表现SOTA!
  7. Kindle 助手上线啦
  8. string输出逗号前半部分java_JVAV从入门到放弃 第二天 java HelloWorld.java
  9. JAVA集合系列(2):Collection和Iterator接口
  10. 一道携程SQL笔试题
  11. Word文件标尺工具被隐藏,怎么恢复
  12. Unity 安装失败原因
  13. System Repair Engineer (SREng)介绍
  14. 注册表:基本概念和reg文件
  15. 瑞云Renderbus渲染农场GPU渲染集群正式上线!
  16. 医疗器械A类B类C类物料区分
  17. 惠普HP LaserJet Pro M104a 打印机驱动
  18. 目标检测:传统目标检测方法
  19. 2022中山大学计算机考研专硕初试经验分享
  20. 项目管理的五个典型工具

热门文章

  1. 超赞!的装机软件(我的推荐)
  2. Codeforces加速访问及其他编程比赛平台推荐
  3. Beta版,外部测试版
  4. AI人脸识别的测试重点
  5. 使用Postfix与Dovecot搭建多域邮件服务
  6. 解决java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does no
  7. [附源码]计算机毕业设计打印助手平台
  8. 基于sentinel湿地_Sentinel-2和AW3D30相结合的湿地提取
  9. unity 设置图片九宫格_unity学习5_UGUI_Image_Sprite(2D_and_UI)
  10. php如何实现余额充值,PHP集成支付宝快速实现充值功能