Android buildscript存储库。 jcenter VS mavencentral

问题:

最后一次使用Android Studio时,它使用mavencentral() buildscript存储库生成了.gradle个文件,而现在则是jcenter()
任何人都可以解释与此有关的问题。还有其他回馈吗?我们什么时候切换它们?他们对项目,模块,库有什么影响?任何Android开发人员的其他要点?
谁负责维护这些回馈?

回答:

在Bintray,我刚刚重新记录了a very detailed blog post描述了Google如何做出这一改变的原因。这里是最重要的一点:

  • JCenter是一个Java repository in Bintray,这是世界上最大的Java和Android OSS库,软件包和组件的回购。
  • JCenter中的所有内容都通过CDN提供,并具有安全的HTTPS连接。返回迁移时间(Android Studio 0.8)中央maven 2存储库仅为HTTP,不支持HTTPS。参考:51.6.2. Maven central repository
  •  jcenter()mavenCentral()的超集,包含许多其他存储库和工件。
  • 在不同的场景和不同的国家,Bintray比Maven Central(例如来自以色列)快。在其他地方是非常接近的。由于Maven Central和Bintray使用不同的CDN来自适应地区,这可能会改变两种方式。
  • Bintray与传统Maven Central具有不同的包装识别方法。 This is a big and serious security matter. It is important.
  • 如果你真的需要把你的软件包给Maven Central(支持传统工具),你可以从Bintray in a click of a button or even automatically中获得。

关于性能改进,几位Android开发者倡导者面对/注意到使用maven中心的巨大索引的问题。
Tor Norbye

我运行AndroidStudio与一个全新的设置目录,所以它去连接maven中央并下载了可用的工件的索引。
然后我碰巧看了我的目录的大小。
My〜/ Library / Cache / AndroidStudioPreview为1.5G,其中1.2G为“Maven”子目录。
这是荒谬的。我们根本就没有使用这个索引。其主要用途是“项目结构”对话框中的“依赖关系”编辑器,但我们确实不需要为其预先计算的索引。 MavenCentral有一个快速的在线JSON搜索,当有人搜索工件时,我们可以按需使用。在https://android-review.googlesource.com/#/c/94843/中,我们添加了一个lint检查,它检查依赖关系是否是最新的,并且搜索少量文物是即时的。
总之,我们真的不需要缓存;它可能有助于在.gradle和maven .pom文件中的代码完成,但这不是一个超级重要的用例,当然,all用户不得不牺牲1.5G的下载速度和磁盘空间来有一天的可能性。详细了解:The Maven index is huge!

此外,您可能会发现这个very short (1Q and 1A) discussion on Hacker News很有趣。
 I am with JFrog, the company behind and , see my profile for details and links.

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Android buildscript repositories. jcenter VS mavencentral

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 4 = 4