Android 4.4.2中的Google API(x86系统映像)和Google API(ARM系统映像)之间的区别


93

我一直在关注(http://developer.android.com/google/play-services/setup.html#Install)。它要求我安装适用于Android API 17(或更高版本)的Google API,但是当我打开SDK Manager时,外观如下:

SDK管理器

因此,我的问题是:这两个Google API是什么?而且,这两者之间有什么区别?


1
IIRC,它们用于不同的处理器。
Mike D

14
ARM映像与大多数Android设备更加匹配,但是需要模拟处理器,因此速度非常慢。x86可能会更快一些,可能使用虚拟机支持机制以部分本机的方式执行代码。您可以尝试使用x86来提高速度,如果遇到兼容性问题,可以尝试使用x86。请参阅developer.android.com/tools/devices/emulator.html
克里斯·斯特拉顿

Answers:


127

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

由于开发人员工作站通常基于Intel x86,因此还必须模拟ARM指令集。这导致AVD的性能较差,这主要是由于x86处理器为模拟ARM指令集所做的转换数量。

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

标准Android系统图像未提供对特定于Google的Android API(如Android Google Maps API)的支持。它们需要使用Android SDK Manager单独安装。要将这些API与x86系统映像一起使用,您还需要为同一API级别安装Google API(x86系统映像)。


4
那么,当我右键单击我的项目,转到属性,然后转到android时,我应该选择哪个?
安德鲁(Andrew)

5
点击这两个:(1)英特尔x86的凌动系统映像和(2)谷歌的API(x86的系统映像)在这里看到更多的细节:software.intel.com/en-us/blogs/2014/03/06/...
user64141

2
@oenpelli,“ Google API”中的“ API”指的是什么?当我们选择安装“ Google API”时,实际上会发生什么?它只是下载Google使用的Android Java库还是涉及其他系统代码?
Pacerier

1
使用“ Google API”的@Pacerier,您可以在模拟器中设置Google帐户,该帐户在纯Android图像中不可用。如果您的应用需要添加Google Maps api。
artkoshelev

5
Google API图片和Google Play图片有什么区别?
巴尼·伊沙克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.