ความแตกต่างระหว่าง Google API (x86 System Image) และ Google APIs (ARM System Image) ใน Android 4.4.2


94

ฉันติดตามสิ่งนี้ ( http://developer.android.com/google/play-services/setup.html#Install ) มันขอให้ฉันติดตั้ง Google APIs สำหรับ Android API 17 (หรือสูงกว่า) แต่เมื่อฉันเปิด SDK Manager มันจะเป็นอย่างไร:

ผู้จัดการ SDK

ดังนั้นคำถามของฉันคือ Google API ทั้งสองนี้คืออะไร และอะไรคือความแตกต่างระหว่างสองสิ่งนี้?


1
IIRC มีไว้สำหรับโปรเซสเซอร์ที่แตกต่างกัน
Mike D

14
อิมเมจ ARM ใกล้เคียงกับอุปกรณ์ Android ส่วนใหญ่มากขึ้น แต่ต้องใช้โปรเซสเซอร์ในการจำลองดังนั้นจึงช้ามาก x86 อาจเร็วกว่าเล็กน้อยโดยอาจใช้กลไกการสนับสนุนเครื่องเสมือนเพื่อดำเนินการโค้ดด้วยวิธีดั้งเดิมบางส่วน คุณสามารถลองใช้ x86 เพื่อเพิ่มความเร็วและเปลี่ยนกลับไปใช้ ARM ได้หากคุณมีปัญหาความเข้ากันได้ ดูdeveloper.android.com/tools/devices/emulator.html
Chris Stratton

คำตอบ:


128

ในตอนแรกมีเพียงอิมเมจระบบ Android เท่านั้นที่รันบนชุดคำสั่ง ARM อิมเมจระบบใช้เพื่อสร้างอุปกรณ์เสมือน Android (AVD) ที่แตกต่างกันและจำลองอุปกรณ์ Android ที่แตกต่างกันในการใช้งานทั่วไป

เนื่องจากเวิร์กสเตชันสำหรับนักพัฒนามักใช้ Intel x86 จึงต้องจำลองชุดคำสั่ง ARM ด้วยเช่นกัน สิ่งนี้ส่งผลให้ AVD มีประสิทธิภาพต่ำเนื่องจากส่วนใหญ่มาจากจำนวนการแปลที่โปรเซสเซอร์ x86 ทำเพื่อเลียนแบบชุดคำสั่ง ARM

ที่ Android 4.0.3 (API 15) Intel จัดเตรียมอิมเมจระบบ Android ที่ใช้ x86 เป็นของตัวเอง จากนั้นสามารถใช้เพื่อสร้าง AVD ที่ไม่จำเป็นต้องทำการแปล ARM เมื่อรวมกับ Intel Hardware Accelerated Execution Manager (HAXM) แล้ว x86 AVM นั้นเร็วกว่าตัวจำลอง ARM ที่เทียบเท่ากันถึง 10 เท่า

การสนับสนุน Android API เฉพาะของ Google เช่น Android Google Maps API ไม่ได้มาพร้อมกับอิมเมจระบบ Android มาตรฐาน ต้องติดตั้งแยกต่างหากโดยใช้ Android SDK Manager หากต้องการใช้ API เหล่านี้กับอิมเมจระบบ x86 คุณต้องติดตั้ง Google API (x86 System Image) สำหรับระดับ API เดียวกันด้วย


4
ฉันจะเลือกตัวไหนดีเมื่อคลิกขวาที่โปรเจ็กต์ไปที่คุณสมบัติแล้วไปที่ android
Andrew

5
คลิกทั้งสองอย่างนี้: (1) Intel x86 Atom System Image และ (2) Google APIs (x86 System Image) ดูรายละเอียดเพิ่มเติมได้ที่นี่: software.intel.com/en-us/blogs/2014/03/06/…
user64141

2
@oenpelli, "API" ใน "Google APIs" หมายถึงอะไร? เมื่อเราเลือกติดตั้ง "Google APIs" จะเกิดอะไรขึ้น? แค่ดาวน์โหลดไลบรารีAndroid Java ที่ Google ใช้หรือมีรหัสระบบอื่นที่เกี่ยวข้องหรือไม่?
Pacerier

1
@Pacerier ด้วย "Google APIs" คุณสามารถตั้งค่าบัญชี Google ภายในโปรแกรมจำลองซึ่งไม่มีในภาพ Android ทั้งหมด เพิ่ม API ของ Google Maps ด้วยในกรณีที่แอปของคุณต้องการ
artkoshelev

5
google api image กับ google play image ต่างกันอย่างไร
Banee Ishaque K
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.