android Android Support Repository vs Android Support Library vs Google Repository vs Google Play Se

Posted

技术标签:

【中文标题】android Android Support Repository vs Android Support Library vs Google Repository vs Google Play Services有啥区别【英文标题】:android what is the difference between Android Support Repository vs Android Support Library vs Google Repository vs Google Play Servicesandroid Android Support Repository vs Android Support Library vs Google Repository vs Google Play Services有什么区别 【发布时间】:2015-02-24 06:24:04 【问题描述】:

谁能解释一下 android Support Repository vs Android Support Library vs Google Repository vs Google Play Services 有什么区别?

我的理解是,Google Repository 与 Google Play Services 相同,只是将所有 api 分开(而经典的 play services 是一个包含所有内容的大 jar),并且更适合在 android studio 中使用,因为现在您可以准确选择要编译的 api(例如 'com.google.android.gms:play-services-ads:+')与依靠 proguard 在构建时剥离不需要的 api。

我说的对吗?

Android Support Repository 与 Android Support Library 怎么样?

【问题讨论】:

主要是关于构建系统。如果您使用 ant,则将 library/services 包复制到您的项目中。如果您使用 Gradle,它会自动知道使用存储库来定位您在构建文件中输入的依赖项。 【参考方案1】:

Google 在末尾使用术语 repository 来指定这些是 Maven 存储库,您应该使用 Gradle 依赖项导入它们,如下所示:

dependencies 
   compile "com.google.android.gms:play-services-gcm:8.4.0"

Gradle 构建系统仅在 Android Studio 中受支持,而 Eclipse 使用较旧的 Ant构建系统。

在谷歌文档中也提到了here

    选择 Android 支持库项目。

    注意:如果您使用 Android Studio 进行开发,请选择并安装 Android Support Repository 项。

如果您使用的是 Eclipse IDE,请使用以下库:

Android 支持库 Google Play 服务

如果您使用的是 Android Studio,请改用以下库:

Android 支持存储库(新名称:支持库的本地 Maven 存储库) Google 存储库

【讨论】:

【参考方案2】:

通过 SDK 管理器:

Android Support Repository:它是 android.support.* 库的本地 Maven 存储库(包括所有版本)

Android 支持库:总是与上面相同的库,对于 android.support.*,只有一个版本,(以 android 项目结构的形式)。 SDK 管理器不再提供它!

Google 存储库:它是一些 google 库 google 的 Maven 存储库。*

Google Play 服务:这是用于在 Android 设备上运行的 GooglePlay 服务(一种应用程序或运行时)的文档和示例。

【讨论】:

【参考方案3】:

Android Support Library 和 Google Play Services 是库本身(jar + src),而 Android Support Repository 和 Google Repository 是对应的本地 Maven 存储库(aar 文件)。

巧合的是,他们爆炸了 API,但这不是主要的事情。

官方页面:

Adding SDK Packages

【讨论】:

将两者分开的确切原因是什么?为什么不让支持库过时并使用支持库? 这就是重点,这不是一回事。 Support Repository 是获取 Support Library 的一种新方式(gradle + maven)。

以上是关于android Android Support Repository vs Android Support Library vs Google Repository vs Google Play Se的主要内容,如果未能解决你的问题,请参考以下文章

崩溃:java.lang.NoClassDefFoundError:android.support.v7.appcompat.R$layout

程序类型已存在:android.support.compat.R $ attr

无法解析 android.support.design。迁移到 AndroidX 后

如何以编程方式将背景颜色从 android.support.design 更改为 MaterialButton

Android Support Annotations :安卓注解快速上手

null 不能转换为非 null 类型 android.support.v4.view.ViewPager - KOTLIN