上次我使用Android Studio时,它生成了.gradle
文件与mavencentral()
buildscript 存储库,而现在有jcenter()
.
谁能解释一下与此相关的问题。还有其他回购吗?我们什么时候应该切换它们?它们对项目、模块、库有什么影响? Android 开发者还有其他必需品吗?
谁负责维护这些存储库?
在 Bintray,我刚刚转发了博客一篇非常详细的博文 https://blog.bintray.com/2015/02/09/android-studio-migration-from-maven-central-to-jcenter/描述 Google 做出此更改的原因。以下是最重要的几点:
- J中心是一个Bintray 中的 Java 存储库 https://bintray.com/bintray/jcenter,这是世界上最大的 Java 和 Android OSS 库、包和组件存储库。
- JCenter 中的所有内容均通过 CDN 提供,并具有安全的 HTTPS 连接。回到迁移时 (Android Studio 0.8),中央 Maven 2 存储库仅支持 HTTP,不支持 HTTPS。参考:51.6.2。 Maven 中央存储库 https://gradle.org/docs/current/userguide/dependency_management.html#sec:repositories.
-
jcenter()
是一个超集mavenCentral()
,其中包含许多其他存储库和工件。
- 在不同的场景和不同的国家,Bintray 比 Maven Central 更快(例如来自以色列)。在其他方面,情况非常接近。由于 Maven Central 和 Bintray 使用不同的 CDN,这些 CDN 会自适应地支持区域,因此这两种方式都可能会发生变化。
- Bintray 具有与旧版 Maven Central 不同的包识别方法。这是一个重大而严重的安全问题。这很重要。 https://blog.bintray.com/2014/08/04/feel-secure-with-ssl-think-again/
- 如果您确实需要将包发送到 Maven Central(用于支持遗留工具),您也可以从 Bintray 进行操作,单击按钮甚至自动 https://blog.bintray.com/2014/02/11/bintray-as-pain-free-gateway-to-maven-central/.
关于性能改进,一些 Android 开发者倡导者已经面临/注意到 Maven Central 的巨大索引问题。
用的话来说托诺比 https://plus.google.com/+TorNorbye/posts:
我使用全新的设置目录运行 AndroidStudio,因此它连接了 Maven Central 并下载了可用工件的索引。
然后我碰巧查看了我的目录的大小。
我的 ~/Library/Cache/AndroidStudioPreview 是 1.5G,其中 1.2G 被“Maven”子目录占用。
这是荒谬的。我们几乎根本不使用索引。它的主要用途是项目结构对话框中的依赖关系编辑器,但我们实际上不需要为其预先计算索引。 MavenCentral 有一个快速的在线 JSON 搜索,当有人搜索工件时我们可以按需使用。在https://android-review.googlesource.com/#/c/94843/ https://android-review.googlesource.com/#/c/94843/我们添加了一个 lint 检查来检查依赖项是否是最新的,并且对一些工件的搜索几乎是即时的。
简而言之,我们确实不需要缓存;我们不需要缓存。它可能有助于 .gradle 和 maven .pom 文件中的代码完成,但这不是一个超级重要的用例,当然也不是什么all用户应该必须牺牲1.5G的下载速度和磁盘空间才能有一天做的可能性。阅读更多内容:Maven 索引是huge! https://code.google.com/p/android/issues/detail?id=72061
另外,你可能会发现这个关于 Hacker News 的非常简短的讨论(1Q 和 1A) https://news.ycombinator.com/item?id=8099840有趣的。
I am with JFrog http://jfrog.com, the company behind bintray /questions/tagged/bintray and artifactory /questions/tagged/artifactory, see my profile https://stackoverflow.com/users/402053/jbaruch for details and links.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)