จะดาวน์โหลดบริการ Google Play ในโปรแกรมจำลอง Android ได้อย่างไร


88

ฉันต้องการใช้ Google Play Services API ในแอปพลิเคชันของฉัน แต่เมื่อฉันเปิดโปรแกรมจำลองเพื่อทดสอบแอปพลิเคชันของฉันมันส่งข้อความว่า "ต้องดาวน์โหลดบริการ Google Play" ฉันรู้ว่าเกิดขึ้นเพราะผมรหัสการทดสอบนี้ในของฉันในวิธีการMainActivity ฉันต้องการทราบว่าฉันจะติดตั้งบริการ Google Play ในโปรแกรมจำลองของฉันได้อย่างไรเพราะเร็ว ๆ นี้ฉันจะต้องทดสอบแผนที่ของฉันonResume()


1
เพียงใช้ล่าสุดAVD imageจาก Google ที่Google play serveicesฝังไว้ ตรวจสอบการอัปเดตได้จากSDK manager
Ujjwal Singh

คำตอบ:


79

ตรวจสอบการตั้งค่าบริการ Google Playซึ่งระบุว่า:

ในการพัฒนาแอปโดยใช้API ของบริการ Google Playคุณต้องตั้งค่าโปรเจ็กต์ด้วย SDK บริการ Google Play

หากคุณไม่ได้ติดตั้งบริการ Google Play SDK ยังไปรับมันตอนนี้โดยทำตามคำแนะนำเพื่อเพิ่มแพคเกจ SDK

ในการทดสอบแอปของคุณเมื่อใช้ SDK บริการ Google Play คุณต้องใช้อย่างใดอย่างหนึ่ง:

  • อุปกรณ์ Android ที่ใช้งานร่วมกันได้ซึ่งใช้ Android 2.3 หรือสูงกว่าและมี Google Play Store
  • โปรแกรมจำลอง Android พร้อมAVDที่เรียกใช้แพลตฟอร์ม Google APIs ที่ใช้ Android 4.2.2 ขึ้นไป

11
มีการอัปเดตไซต์ของนักพัฒนาที่อ้างถึง: "โปรแกรมจำลอง Android พร้อม AVD ที่รันแพลตฟอร์ม Google APIs ที่ใช้ Android 4.2.2 ขึ้นไป"
WindsurferOak

ฉันลองใช้ Android API (เวอร์ชัน 4.3) แล้วไม่ได้ผลดังนั้นกุญแจสำคัญคือใช้ Google API (เวอร์ชัน 4.3) เนื่องจากเป็นหมายเลขเวอร์ชันเดียวกันฉันจึงไม่ทราบว่าเหตุใดจึงไม่ทำงานในตอนแรก
Skitterm

11
ฉันใช้ Google APIS ver. 22 กับ Intel x86_64 ไม่ทำงาน, ไม่เป็นผล.
Yar

4
สิ่งสำคัญคือสิ่งที่ @Skitterm เขียน AVD ต้องมี Google APIs เป็นเป้าหมาย การเลือกเป้าหมาย API ที่ต่ำกว่า 23 (Marshmallow) อย่างน่าสนใจส่งผลให้อุปกรณ์พยายามอัปเดตบริการ Google Play ซึ่งมักจะล้มเหลวสำหรับฉัน
BoneGoat

มีใครเคยได้รับสิ่งนี้บ้างไหม? ดูเหมือนว่าการใช้อิมเมจ Android กับ Google API จะใช้ไม่ได้กับ Google Play
LewlSauce

55

สำหรับapi 21+คุณสามารถใช้อิมเมจระบบกับ Google Play ได้ตามที่อธิบายไว้ด้านล่าง

สำหรับapi 19+ (Android 4.4 Kitkat) คุณสามารถใช้อิมเมจระบบ x86 กับ Google Api ได้ (ฉันสามารถใช้งานได้)

สำหรับapi 17+ (Android 4.2.2) คุณสามารถลองใช้ ARM อิมเมจระบบกับ Google Api ได้ (มันไม่ได้ผลสำหรับฉัน)

ฉันสามารถติดตั้ง Google Play และบริการของ Google เป็นแอพแยกต่างหากสำหรับอิมเมจระบบบริสุทธิ์ api 16 และ 17 แต่มันใช้งานไม่ได้จริง ๆ หลังจากนั้น (บริการบดขยี้และเล่นไม่เปิด) ดูเหมือนว่าจะไม่สามารถทำให้มันทำงานกับอิมเมจ AVD บริสุทธิ์ได้เพราะควรติดตั้งด้วยการเข้าถึงรูท เช่นเดียวกับการอัปเดตบริการของ Google บนอิมเมจระบบ AVD ที่ติดตั้ง Google API ไว้ล่วงหน้า - ไม่สามารถอัปเดตได้เนื่องจากใบรับรองที่เข้ากันไม่ได้ถอนการติดตั้งไม่ได้แม้จะใช้ adb เพราะไม่มีสิทธิ์เข้าถึง


วิธีตั้งค่าอิมเมจระบบ AVD ด้วย Google Play

ขณะนี้มีวิธีแก้ปัญหาที่ดียิ่งขึ้น: การใช้อิมเมจ AVD พร้อมบริการ Google Play ในตัว จะช่วยให้คุณสามารถใช้บริการของ Google รวมถึง Google Play นอกจากนี้คุณจะสามารถอัปเดตได้โดยไม่ต้องสร้างภาพ AVD ขึ้นมาใหม่

เปิดตัวจัดการ AVD และเลือกสร้างอุปกรณ์ใหม่ คุณควรใช้คำจำกัดความของอุปกรณ์พร้อมไอคอน play store

1

จากนั้นเลือกภาพระบบสำหรับมัน คุณควรเลือกหนึ่งที่มีGoogle Playและไม่ได้กับ Google API

2

จากนั้นเปิดอุปกรณ์ใหม่

3

คุณสามารถอัปเดต Play Services ตามที่แสดงบนภาพหน้าจอหรือด้วยตนเองบนอุปกรณ์ ..

4


Android Studio เวอร์ชันใดที่ควรใช้เพื่อมีตัวเลือกนี้
ronenmiller

1
@ronenmiller ฉันใช้เวอร์ชันเสถียรล่าสุดตอนนี้เป็น 2.3.3 แต่ไม่ควรขึ้นอยู่กับเวอร์ชัน Android Studio ขึ้นอยู่กับเวอร์ชัน Android System Image และอาจเป็นเวอร์ชันของ Android Virtual Device Manager แต่ฉันไม่แน่ใจว่าสุดท้ายแล้ว ฉันอัปเดตทุกอย่างเป็นเวอร์ชันเสถียรล่าสุดเสมอ
B-GangsteR

ไม่สามารถใช้ได้ในวันที่ 3.1.3
Emaborsa

@Emaborsa คุณเลือกภาพด้วย Google Play หรือ Google API? ตอนนี้ฉันใช้ Android Studio 3.1.4 และทุกอย่างทำงานได้ดี
B-GangsteR

@ B-GangsteR ใช่ฉันทำ
Emaborsa

16

นี่คือวิธีที่คุณทำให้ Android Google Maps API v2 ทำงานบนโปรแกรมจำลองของคุณ


สร้างโปรแกรมจำลองใหม่

  • สำหรับอุปกรณ์เลือก "5.1 '' WVGA (480 x 800: mdpi)"
  • สำหรับเป้าหมายเลือก "Android 4.1.2 - API ระดับ 16"
  • สำหรับ "CPU / ABI" ให้เลือก "ARM"
  • ปล่อยให้ส่วนที่เหลือเป็นค่าเริ่มต้น

นี่คือการตั้งค่าที่ใช้ได้ผลสำหรับฉัน ฉันไม่รู้ว่าสำหรับคนที่แตกต่างกัน


เริ่มโปรแกรมจำลอง


ติดตั้งcom.android.vending-1.apkและcom.google.android.gms-1.apkผ่านคำสั่งติดตั้ง ADB


คำตอบที่ยาวขึ้นอยู่ในบล็อกโพสต์ของฉันเกี่ยวกับปัญหานี้https://medium.com/nemanja-kovacevic/how-to-make-android-google-maps-v2-work-in-android-emulator-e384f5423723


2
ฉันรู้ว่ามันเก่า แต่Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Laser Hawk

2
ฉันทำ: Android Studio (2.2.3); เครื่องมือ -> Android -> AVD Manager; สร้างอุปกรณ์เสมือน ... ; 5.1 "WVGA, Next; Nougat (7.1.1), Next; Finish โปรแกรมจำลองที่ได้จะไม่มีไอคอน Google Play Store
William Entriken

หากความสนใจของคุณไม่ได้สัมพันธ์กับสถาปัตยกรรมฉันชอบจำลองโครงการของฉันบน x86-x84 CPU / ABI โดยใช้ GPU ของเครื่องโฮสต์ การจำลองค่อนข้างแตกต่างกันในแง่ของการตอบสนอง
tedebus

1
ลิงก์เสีย
Alberto M

1
สวัสดี Alberto สถานการณ์เปลี่ยนไปในรอบ 5 ปีจากคำตอบนี้ดังนั้นสิ่งนี้อาจไม่สามารถแก้ไขปัญหาของคุณได้
Nemanja Kovacevic

6

ฉันเจอวิธีอื่นในการใช้บริการ Google Play บนโปรแกรมจำลอง พวกที่http://www.genymotion.com/ให้บริการอีมูเลเตอร์ที่รวดเร็วมากซึ่งคุณสามารถติดตั้งบริการ Google Play ได้ พวกเขาเพียงแค่ต้องการให้คุณลงทะเบียนเพื่อเริ่มดาวน์โหลดและคุณต้องติดตั้งกล่องเสมือน ในขณะนี้พวกเขารองรับ Android 16 และ 17 แต่มีอีกมากมายที่กำลังมาถึง


17
พวกเขาเคยชินจนกระทั่ง Google บอกให้หยุดให้บริการที่ดีกว่าที่ Google เคยมีมาและบังคับให้พวกเขาคัดลอก Play Store ออกจากรูปภาพ
Reck

5
กล่าวว่าโอ้! ไปสร้างโปรแกรมจำลองใหม่สำหรับการทดสอบแท็บเล็ตในแอป genymotion ที่มีอยู่ของฉันอ่านความคิดเห็นของคุณและเกลียดคนที่ฉันไม่รู้จัก
Juan Cortés

genymotion เป็นโปรแกรมจำลองที่ยอดเยี่ยม แต่ดูเหมือนว่าจะใช้ไม่ได้กับแผนที่ในขณะนี้ :(
KansaiRobot

3

ในเวอร์ชันปัจจุบัน (Android Studio 0.5.2) ขณะนี้มีประเภทอุปกรณ์สำหรับ "Google APIs x86 (Google Inc. ) - API ระดับ 19"


3

กุญแจสำคัญคือการเลือกเป้าหมายของการจำลองของคุณไปตัวอย่างเช่น: Google APIs (Ver 18) ตัวอย่างเช่นหากคุณเลือกเพียงJellybean 18 (ไม่มี API) คุณจะไม่สามารถทดสอบแอปที่ต้องใช้บริการของ Google เช่นแผนที่ได้ โปรดทราบว่าก่อนอื่นคุณต้องดาวน์โหลด Google API ของเวอร์ชันที่คุณชื่นชอบด้วย Android SDK Manager

นี่เป็นแนวทางปฏิบัติที่ดีและดีกว่าการเล่นกลกับวิธีแก้ปัญหาส่วนใหญ่


2

ฉันพยายามพัฒนาแอปพลิเคชัน google MAP API V2 เมื่อเร็ว ๆ นี้และพยายามเรียกใช้ผ่านโปรแกรมจำลอง แต่ทุกครั้งก็แสดงข้อผิดพลาด "Google Play Servcies ไม่ได้ติดตั้งในโทรศัพท์นี้" จากมุมมองของฉันฉันคิดว่า Google MAP API V2 ไม่ทำงานบนโปรแกรมจำลอง

วิธีการแก้

จากนั้นฉันพยายามเรียกใช้ตัวอย่างเดียวกันกับ Sony Experia ของฉันและอีกครั้งมันแสดงข้อผิดพลาดเดียวกัน จากนั้นฉันก็ติดตั้งบริการ Google Play บนมือถือของฉันและมันเริ่มทำงานได้อย่างน่าอัศจรรย์ .. :)))


2

ฉันได้รับมันทำงานโดย

  • การติดตั้งบริการ Google Play ผ่าน Android SDK Manager
  • การใช้อุปกรณ์ Galaxy Nexus (4.65 ", 720 x 1280: xhdpi)
  • กำหนดเป้าหมาย Android 4.2.2 Google API ระดับ 17

2

ไปที่https://university.xamarin.com/resources/working-with-android-emulators เลื่อนลงไปที่ส่วน "การติดตั้งบริการ Google Play" เดินไปทีละก้าว

plagarized โดยตรงจาก xamarin ที่นี่ดังนั้นฉันจึงไม่ได้รับการเชื่อมโยงและไม่รวมโซลูชัน โพสต์สิ่งนี้เมื่อฉันพบ Hit ในสแต็กก่อนที่ฉันจะพบโซลูชันที่ใช้ได้ทั่วทั้งกระดานบนหน้า xamarin

  1. เริ่ม Xamarin Android Player และเรียกใช้หนึ่งในรูปภาพที่ให้มาซึ่งต่อไปนี้จะถือว่าคุณได้เริ่มต้นอิมเมจ KitKat Nexus 4 ดาวน์โหลดไฟล์. zip ของบริการ Google Play ที่เหมาะสมจาก www.teamandroid.com/gapps/ อย่าลืมดาวน์โหลดรูปภาพที่เหมาะสมกับเวอร์ชัน Android ของคุณ
  2. ลากไฟล์. zip ไปยังโปรแกรมจำลองที่กำลังทำงานอยู่และวางลงเพื่อติดตั้งคอมโพเนนต์ที่นี่เราจะแสดงบน Mac OS X แต่กลไกเดียวกันนี้ใช้ใน Windows คุณจะได้รับแจ้งให้ติดตั้งแพ็คเกจลงในโปรแกรมจำลองซึ่งระบุว่าภาพจะถูกรีสตาร์ท
  3. เมื่อรีสตาร์ทคุณจะได้รับการแจ้งเตือนว่าการติดตั้งเสร็จสิ้นและตอนนี้รูปภาพจะมี Google Maps, Google+ และการสนับสนุนสำหรับ Google Play Store โปรดทราบว่าบางอย่างทำงานไม่ถูกต้องและคุณอาจได้รับข้อผิดพลาดเล็กน้อยจากบริการบางอย่าง แต่คุณสามารถยกเลิกสิ่งเหล่านี้ได้อย่างปลอดภัยและทำตามคำแนะนำต่อไป
  4. ถัดไปคุณจะต้องเชื่อมโยงบัญชี Google เพื่อให้คุณสามารถอัปเดตบริการโดยใช้ Google Play Store ควรแจ้งให้คุณทราบ แต่หากไม่เป็นเช่นนั้นคุณสามารถไปที่การตั้งค่า Google และเพิ่มบัญชีใหม่ เมื่อคุณเพิ่มบัญชีแล้วคุณสามารถอัปเดตแอป Google ได้โดยเปิดแอปพลิเคชัน Google Play store และเข้าสู่การตั้งค่าจากเมนูแถบด้านข้าง
  5. เลือกการตั้งค่าจากนั้นเลื่อนลงไปที่ข้อมูลหมายเลขเวอร์ชันสร้างและแตะสองครั้งที่ข้อมูลนั้นจนกว่าจะแจ้งให้คุณทราบว่าเป็นเวอร์ชันล่าสุดหรือว่าจะดาวน์โหลดและติดตั้งเวอร์ชันใหม่
  6. ปิดอุปกรณ์ (กดปุ่มเปิด / ปิดในแถบเครื่องมือทางด้านขวาค้างไว้) แล้วรีสตาร์ท เมื่อรีสตาร์ทควรระบุว่าจำเป็นต้องอัปเดตบริการ Google Play การแตะที่การแจ้งเตือนจะเปิด Google Play Store และติดตั้งเวอร์ชันล่าสุด

ตอนนี้คุณสามารถเรียกใช้แอปพลิเคชันที่ขึ้นอยู่กับ Google Maps ใน Xamarin Android Player


0

ในการตั้งค่าและข้อมูลล่าสุดหากคุณติดตั้ง Android Studio (เช่น 1.5) และพยายามกำหนดเป้าหมาย SDK 4.0 คุณอาจไม่สามารถค้นหาและตั้งค่าและ AVD Emulator ด้วย SDK-vX.XX (ด้วย Google API)

ดูขั้นตอนต่อไปนี้เพื่อดาวน์โหลดไลบรารีที่ต้องการและเริ่มต้นด้วยสิ่งนั้น การตั้งค่า AVD Emulator - การตั้งค่า Emulator สำหรับ SDK4.0 ด้วย GoogleAPI เพื่อให้แอปพลิเคชันแผนที่สามารถทำงานได้ - ใน Android Studio

แต่น่าเสียดายที่วิธีการข้างต้นไม่ได้ผลในด้านของฉัน และไม่สามารถสร้าง Emulator ด้วย API ระดับ 17 (SDK 4.2) ได้ ดังนั้นฉันจึงติดตามโพสต์นี้ที่ทำงานในด้านของฉันได้ดี เหตุผลดูเหมือนว่าหน้าต่างการสร้าง Android Studio Emulator มีตัวเลือก / คุณสมบัติที่ จำกัด

บริการ Google Play ในโปรแกรมจำลองการใช้ปุ่มเข้าสู่ระบบ Google Plus เป็นต้น


0

ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันมาที่นี่เพราะฉันมีปัญหาคล้าย ๆ กันกับทุกคนข้างต้น ฉันแก้ไขได้โดยการอ่านใกล้ ๆ !

ฉันไม่ได้สังเกตเห็นว่ามีรูปภาพของระบบที่เป็นไปได้ 2 รูปที่ฉันสามารถเลือกได้คือรูปภาพที่มี Google APIs และรูปภาพที่ไม่มี (บนแล็ปท็อปของฉันเมนูมีขนาดเล็กเกินไปสำหรับฉันที่จะอ่านข้อความ (พร้อม Google APIs) ต่อท้าย

มันเป็นเรื่องโง่ที่จะพลาด แต่คนอื่นอาจมีหน้าจอขนาดเล็กเหมือนฉันและพลาดสิ่งนี้: D


0

หากโปรแกรมจำลอง x86 ของคุณวิธีนี้ใช้ได้ผลกับฉัน

ดาวน์โหลดและติดตั้งhttp://opengapps.org/app/opengapps-app-v16.apk แล้วเลือกนาโนแพ็ค

ข้อมูลเพิ่มเติมhttp://opengapps.org/app/

ใส่คำอธิบายภาพที่นี่

ใส่คำอธิบายภาพที่นี่


2
ฉันเห็นว่า 'การเชื่อมต่อกับเซิร์ฟเวอร์ล้มเหลวผิดพลาด'
WSS
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.