Android SDK 中的 Google API 有啥区别

Posted

技术标签:

【中文标题】Android SDK 中的 Google API 有啥区别【英文标题】:What is the difference between Google APIs in Android SDKAndroid SDK 中的 Google API 有什么区别 【发布时间】:2015-11-12 02:21:54 【问题描述】:

android 5.0 开始,Google 添加了 Google APIs。那到底是什么?

Google APIs intel atom_64 x86 system image 和 Google APIs intel atom x86 system image 有什么区别?

我知道 intel atom 图像要快得多,但数量很多。

我应该使用什么版本作为我的主模拟器?

【问题讨论】:

【参考方案1】:

从 android 5.0 开始,Google 添加了 Google API。那到底是什么?

一些库 jar 和相应的文档。请参阅 Android SDK 中的 add-ons 目录。来自 add-ons/addon-google_apis-google-23/manifest.ini

# details for each library
com.google.android.maps=maps.jar;API for Google Maps
com.android.future.usb.accessory=usb.jar;API for USB Accessories
com.google.android.media.effects=effects.jar;Collection of video effects

通常,您不需要安装 Google API

Google APIs intel atom_64 x86 system image 和 Google APIs intel atom x86 system image 有什么区别? ...我应该使用哪个版本作为我的主要模拟器?

一个是 64 位的,另一个是 32 位的。根据您机器的架构,64 位可能会稍快一些。来自https://software.intel.com/en-us/android/articles/how-to-develop-and-evaluate-64-bit-android-apps-on-intel-x86-platforms:

采用 64 位技术的 Android L,用于基于 Intel Atom 处理器 平台现在可以帮助开发人员优化他们的应用程序。 为 64 位构建 Android 应用程序就像构建一样简单 传统的 32 位 Android 应用程序。您现在可以使用官方 用于运行和调试 64 位应用程序的 Android 64 位模拟器。来测试 64 位 x86 Android 平台的性能,我们重建了几个开放的 源项目为 64 位,并在中国有几个*** ISV 构建 64 位 他们的应用程序的版本。性能基准显示 7-8%(甚至 20% 在一种特殊情况下)与使用 64 位的性能相比 32 位。

通常,您只需安装 Google APIs Intel x86 Atom_64 System Image 即可使用 Google APIs 创建模拟器。如上所述,您不需要安装单独的 Google APIs 包。

如果您不使用任何 Google API,则可以安装 Intel x86 Atom_64 System Image

【讨论】:

所以 Google api 仅适用于您想要使用模拟器的情况?如果是真机调试,不需要安装任何Api? @batmaci 我也有同样的问题。我想删除整个 google API 目录,因为它们很大,而且因为我只使用蓝牙,所以模拟器对我来说毫无用处。我想手动删除它们,而且提供的管理器删除这类东西的速度非常慢(称为删除和修补)。 @BrianReinhold 我把它们都删除了,没有问题,因为我只在真实设备上调试。我也在我的ssd驱动器上节省了很多空间。但是我建议你使用SDK manager删除,以后可能会遇到麻烦。对我来说,它会立即删除,即使有些 api 真的很大 @JamesWald:我阅读链接文章的方式,“64 位”是关于您正在模拟的目标设备;文章中没有任何内容表明 64 位 atom 的 仿真 将比 32 位 atom 的仿真运行得更快(在 64 位 Windows 工作站上)。 (也许会,也许不会;文章没有谈论 emulator 速度。)所以在我看来,这部分答案是没有实际意义的,或者需要不同的参考。 引用的性能提升是由于系统应用程序是为 64 位架构构建的,这使得它们运行速度稍快。如果这些系统应用仍然是为 32 位架构构建的,那么它们可能不会在 64 位模拟器上运行得更快。【参考方案2】:

Android APIGoogle API 的一部分。 Google APIs 包含 Android APIs、Google Map APIs、Google Services APIs、Google加上 APIs 和类似的东西。

【讨论】:

好的,那么独立的 Google API 有什么用途?以及为什么我可能需要安装它。已有 Google API 系统映像。 部分手机不提供谷歌服务。并且,如果您不使用 Google API,您还可以在您的项目中包含 Map、Service、Plus 库项目以支持 Google 服务。对于 Android 开发,不需要 Google 的服务,但需要 Android API。 那么它与系统映像完全没有关系,我只是被名称混淆了。谢谢。 @humazed 与系统映像有关。我已经更新了我的答案。 系统映像用于创建虚拟机,例如 Nexus 4/5/6,而不是用于应用程序开发。【参考方案3】:

除了 SilentKnight 的回答,也请参考这个链接。

https://developers.google.com/android/reference/packages

https://developers.google.com/android/guides/api-client

    另请参阅 Jan Gerlinger 答案

    What is google API and framework API

    根据 Jan Gerlinger =

    Android是谷歌开发的,但也可以不带任何东西使用 谷歌服务。所以Android平台SDK可以用于 开发安卓应用程序。但是,如果您想使用任何 Google 您的 Android 应用程序中的服务,您应该使用 Google API Java 客户端库。

    然后oenpelli回答

    Difference between Google APIs (x86 System Image) and Google APIs (ARM System Image) in Android 4.4.2

    根据 oenpelli 的说法 =

    一开始,唯一可用的 Android 系统映像运行在 ARM指令集。系统映像用于创建不同的 Android 虚拟设备 (AVD) 并模拟不同的 Android 常用设备。

    由于开发人员工作站通常基于 Intel x86,因此 ARM 指令集也必须被模拟。这导致了穷 AVD 的性能主要是由于翻译量 x86 处理器也在模拟 ARM 指令集。

    在 Android 4.0.3 (API 15) 中,英特尔提供了他们自己的基于 x86 的 Android 系统映像。然后可以使用它来创建不需要的 AVD 做ARM翻译。结合英特尔硬件加速 x86 AVM 的执行管理器 (HAXM) 的速度比前者快 10 倍 等效的 ARM 仿真器。

    支持 Google 特定的 Android API,例如 Android Google 地图 API,不随标准 Android 系统映像提供。 他们 需要使用 Android SDK Manager 单独安装。使用 这些带有 x86 系统映像的 API,您还需要安装 同一 API 级别的 Google API(x86 系统映像)。

【讨论】:

【参考方案4】:

每个模拟器都有不同的处理器架构。

我通常使用 ARMv7 架构,但最好在所有架构上进行测试,以便在发布应用时支持更多手机。

【讨论】:

是的,我知道,但这不是我的问题!

以上是关于Android SDK 中的 Google API 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

打开eclipse后应该怎样安装 Google map API ?在Android sDK Manager列表中没有找到Google map API 这应该

安装android sdk缺少处理器文件,dl.google.com拒绝 完成的包加载. dl.google.com 挂代理怎么还下载不了

在Android中使用Google API密钥,但有限制

Google Play 控制台目标 SDK 级别 26 要求

如何调用Android隐藏API

Android SDK:Android standard develop kits 安卓开发的工具集