浅谈JCenter即将被停止服务的事件

应用开发2025-11-05 11:17:3161

可能有许多朋友都已经知道了这个事情,浅谈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上,可以参考这篇文档来进行操作:

https://maven.apache.org/repository/index.html

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

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

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

不过目前我们只是可以将一个库的新版本发布到Maven Central上,而以前的老版本还是保留在JCenter上的,这些老版本会在明年2月1日彻底无法访问,所以我们仍然需要Google尽快给出迁移方案,从而让第三方的开源库可以无缝从JCenter切换到Maven Central。

迁移方案会在以下网址更新,当然到时候我也会写文章来进行讲解的。

https://developer.android.com/studio/build/jcenter-migration

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

本文地址:http://www.bzuk.cn/news/385a30799307.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

龙翼鼠标(探索精准操控的全新境界)

面试官拷打: Redis 高可用篇章中面试最常见的六个问题!

2025 年十大优秀无密码认证工具

一篇带给你pod创建源码分析

安装SSH: sudo apt-get install ssh 用ssh登录主机: SSH username@ipaddress eg:admin@10.24.0.2 安装vsftpd: vsftpd 是可在 Ubuntu 中应用的 FTP 守护程序之一。它在安装、设置和保护方面十分方便。要安装 vsftpd 您可以应用下列命令: vsftpd - FTP 服务器配置 你可以编纂 vsftpd 配置文件,/etc/vsftpd.conf,来配置缺省设置。缺省状态下只答应匿名 FTP。假如您盼看禁用该选项,您可以将下面这行: anonymous_enable=YES 改为 anonymous_enable=NO 缺省状态下,本地系统用户是不答应登录 FTP 服务器的。要转变该设置,您可以将下面这行反注释: #local_enable=YES 缺省状态下,答利用户从 FTP 下载文件,但不答应他们上传文件到 FTP 服务器。为了能够上传文件到 FTP 服务器,需要转变该设置,您可以将下面这行反注释掉: #anon_upload_enable=YES 配置文件包含很多配置参数。关于配置文件中的每个参数的信息都可以得到,或者您可以参考手册页,man 5 vsftpd.conf 阐明每个参数的细节。 一旦您配置好了 vsftpd 您就可以运行该守护程序了。您可以履行下列命令来运行vsftpd 守护过程: sudo /etc/init.d/vsftpd start

加快数据库性能的八项技术

物联网(IoT)改变电信行业的7种方式

MySQL中Int(3)与Int(6)的数值范围相同吗?

友情链接

滇ICP备2023006006号-33