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マネージャー

だから、私の質問は:これらの2つのGoogle APIは何ですか?そして、これら2つの違いは何ですか?


1
IIRC、それらは異なるプロセッサ用です。
マイクD

14
ARMイメージはほとんどのAndroidデバイスとより密接に一致しますが、プロセッサをエミュレートする必要があるため、非常に低速です。x86は潜在的にかなり高速であり、仮想マシンサポートメカニズムを使用して、部分的にネイティブな方法でコードを実行する可能性があります。x86を試して速度を上げ、互換性の問題がある場合はARMにフォールバックできます。developer.android.com/tools/devices/emulator.htmlを
Chris Stratton

回答:


127

最初は、利用可能な唯一のAndroidシステムイメージがARM命令セットで実行されていました。システムイメージは、さまざまなAndroid仮想デバイス(AVD)を作成し、一般的に使用されているさまざまなAndroidデバイスをエミュレートするために使用されます。

開発者のワークステーションは通常Intel x86ベースであるため、ARM命令セットも同様にエミュレートする必要がありました。これにより、主にx86プロセッサがARM命令セットもエミュレートするために実行していた変換の量が原因で、AVDのパフォーマンスが低下しました。

Android 4.0.3(API 15)で、Intelは独自のx86ベースのAndroidシステムイメージを提供しました。これを使用して、ARM変換を行う必要のないAVDを作成できます。Intel Hardware Accelerated Execution Manager(HAXM)と組み合わせると、x86 AVMは同等のARMエミュレータよりも最大10倍高速でした。

Android Google Maps APIのようなGoogle固有のAndroid APIのサポートは、標準のAndroidシステムイメージでは提供されていません。Android SDK Managerを使用して個別にインストールする必要があります。これらのAPIをx86システムイメージで使用するには、同じAPIレベルのGoogle API(x86システムイメージ)もインストールする必要があります。


4
それで、プロジェクトを右クリックしてプロパティに移動し、Androidに移動するときにどちらを選択しますか?
Andrew

5
これらの両方をクリックしてください:(1)インテルのx86 Atomのシステムイメージおよび(2)Google APIの(x86のシステムイメージは)詳細はこちらをご覧ください:software.intel.com/en-us/blogs/2014/03/06/...を
user64141 2014年

2
@oenpelli、「Google API」の「API」は何を指しますか?「Google API」のインストールを選択すると、実際にはどうなりますか?Googleが使用するAndroid Javaライブラリをダウンロードするだけですか、それとも他のシステムコードが関係していますか?
Pacerier、2015

1
「Google API」で@Pacerierを使用すると、エミュレータ内でGoogleアカウントを設定できます。これは、純粋なAndroidイメージでは使用できません。アプリで必要な場合に備えて、Google Maps APIも追加されました。
artkoshelev

5
Google APIイメージとGoogle Playイメージの違いは何ですか?
Banee Ishaque K 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.