एंड्रॉइड स्टूडियो एमुलेटर एपीआई 23 के लिए प्ले स्टोर के साथ नहीं आता है


92

मैंने इस एमुलेटर को एंड्रॉइड स्टूडियो एवीडी के नवीनतम संस्करण से चुना है।

Google API

मैंने Android API 23 के नवीनतम संस्करण का चयन किया है। क्योंकि यह "Google API के साथ" कहता है, मैंने सोचा कि इसमें वास्तव में Play Store सहित सभी Google ऐप शामिल होंगे ताकि मैं फेसबुक जैसे ऐप इंस्टॉल कर सकूं।

मैंने एसओ पर अन्य सूत्र देखे हैं जो अब पुराने हो गए हैं ( एंड्रॉइड स्टूडियो एमुलेटर में Google Play ऐप कैसे इंस्टॉल करें? ), यह एक सार्वभौमिक पैकेज के आधार पर Google एप्लिकेशन इंस्टॉल करने के निर्देश देता है, लेकिन यह केवल एंड्रॉइड 4.3 एपीआई 18 तक जाता है: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2

मैं एपीआई 23 के लिए एक चाहूंगा। क्या एमुलेटर पर Google Apps पैकेज स्थापित करने का कोई तरीका है?

यह अजीब लगता है कि आधिकारिक एंड्रॉइड एमुलेटर पहली बार सभी Google ऐप के साथ मानक नहीं आता है ... यह Google का बहुत समर्थन नहीं लगता है और संभावित मतलब डेवलपर्स को एपीआई 23 के लिए विकसित करने के लिए वास्तविक डिवाइस खरीदना होगा। ?


धन्यवाद सुश्री येवेट। मुझे लगता है कि Android समुदाय के लिए इस प्रश्न का उत्तर प्राप्त करना महत्वपूर्ण है। वास्तविक एंड्रॉइड डिवाइसों तक पहुंच के बिना कई एंड्रॉइड देव हैं और मुझे आश्चर्य है कि जब वे सभी टूल तक पहुंच नहीं देते हैं, तो वे एंड्रॉइड के लिए देव कैसे जा रहे हैं।
साइमन

1
ऊपर टिप्पणी करने के लिए मेरे पास पर्याप्त प्रमाण नहीं है। पुन: केवल पढ़ने के लिए / प्रणाली विभाजन, सुनिश्चित करें कि आप "-लेखक-प्रणाली" तर्क पास करते हैं जब आप emulator.exe कहते हैं। उदाहरण के लिए: स्टार्ट / बी emulator.exe @ Nexus_7-2012_API_22 -no-बूट-anim -writable-प्रणाली
PJL

@pjl - इस टिप्पणी के लिए धन्यवाद! मैंने इसे अपने उत्तर में जोड़ लिया है।
देव-आईएल

Google का कहना है कि वे एमुलेटर पर Play Store समर्थन जोड़ने पर काम कर रहे हैं। इस बीच, कुछ वर्कअराउंड हैं जिन्हें आप चुन सकते हैं। Amazon Appstore का उपयोग करना एक विकल्प है, लेकिन यह एकमात्र विकल्प नहीं है। देखें यहाँ
अविस्मरणीयडुपोर्ट्समोनिका

जवाबों:


56

मुझे यह हाल ही में एपीआई 23 एमुलेटर पर करना पड़ा है, और इस गाइड का पालन ​​किया है । यह एपीआई 23 एमुलेटर के लिए काम करता है, इसलिए आपको कोई समस्या नहीं होनी चाहिए।

नोट: सारा श्रेय लिंक्ड ब्लॉग पोस्ट (pyoor) के लेखक को जाता है। मैं किसी भी कारण से लिंक टूटने की स्थिति में इसे यहाँ पोस्ट कर रहा हूँ।

....

GAPPS पैकेज डाउनलोड करें

अगला हमें अपने Android AVD संस्करण से मेल खाने वाले उपयुक्त Google Apps पैकेज को नीचे खींचने की आवश्यकता है। इस मामले में हम 'gapps-lp-20141109-signed.zip' पैकेज का उपयोग करेंगे। आप उस फाइल को यहां बास्केटबाल से डाउनलोड कर सकते हैं

[pyoor@localhost]$ md5sum gapps-lp-20141109-signed.zip
367ce76d6b7772c92810720b8b0c931e gapps-lp-20141109-signed.zip

Google Play को स्थापित करने के लिए, हमें अपने AVD (./system/priv-app/) में निम्नलिखित 4 APK को धकेलने की आवश्यकता होगी:

GmsCore.apk, GoogleServicesFramework.apk, GoogleLoginService.apk, Phones.bk

[pyoor@localhost]$ unzip -j gapps-lp-20141109-signed.zip \
system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk \
system/priv-app/GoogleLoginService/GoogleLoginService.apk \
system/priv-app/Phonesky/Phonesky.apk \
system/priv-app/GmsCore/GmsCore.apk -d ./

एमुलेटर के लिए पुश APKs

हमारे APK निकाले जाने के साथ, निम्नलिखित कमांड का उपयोग करके अपने AVD को लॉन्च करते हैं।

[pyoor@localhost tools]$ ./emulator @<YOUR_DEVICE_NAME> -no-boot-anim

AVD बनते ही पहली बार कई मिनट लग सकते हैं। एक बार शुरू करने के बाद, हमें AVDs सिस्टम विभाजन को पढ़ने / लिखने के रूप में रिमूव करना होगा ताकि हम डिवाइस पर अपने पैकेजों को आगे बढ़ा सकें।

[pyoor@localhost]$ cd ~/android-sdk/platform-tools/
[pyoor@localhost platform-tools]$ ./adb remount

इसके बाद, APK को हमारे AVD पर धकेलें:

[pyoor@localhost platform-tools]$ ./adb push GmsCore.apk /system/priv-app/
[pyoor@localhost platform-tools]$ ./adb push GoogleServicesFramework.apk /system/priv-app/
[pyoor@localhost platform-tools]$ ./adb push GoogleLoginService.apk /system/priv-app/
[pyoor@localhost platform-tools]$ ./adb push Phonesky.apk /system/priv-app

फायदा!

और अंत में, निम्नलिखित कमांड का उपयोग करके एमुलेटर को रिबूट करें:

[pyoor@localhost platform-tools]$ ./adb shell stop && ./adb shell start

एमुलेटर के पुनरारंभ होने के बाद, हमें मेनू लांचर के भीतर Google Play पैकेज दिखाई देना चाहिए। इस AVD के साथ Google खाते को संबद्ध करने के बाद अब हमारे पास Google Play का पूरी तरह से काम करने वाला संस्करण है जो हमारे एमुलेटर के नीचे चल रहा है।


29
मुझे "ReadOnly फ़ाइल सिस्टम" त्रुटि प्राप्त होती है और उन APK फ़ाइलों में से कोई भी स्थापित नहीं है।
wmac

6
दुर्भाग्य से, बास्केटब्यूल्ड अब उपलब्ध नहीं है। s.basketbuild.com इंगित करता है कि यह कम से कम 9/3 के बाद से नीचे है, कोई ईटीए ऊपर नहीं है। क्या कोई अन्य स्रोत है जो आप Google ऐप्स के लिए सुझाते हैं?
चाड शुल्त्स

1
यदि आपको "केवल पढ़ने के लिए फ़ाइल सिस्टम" त्रुटि मिली है, तो कमांड चलाएँ: "एडीबी रिमाउंट"। फिर "अदब पुश ..." का प्रयास करें।
शांगवु

4
सभी लिंक मर चुके हैं
Mooing Duck

1
जो कोई gapps प्राप्त नहीं कर सकते: f.lomakuit.com/download/gapps-lp-20141109-signed.zip
Manny265

51

नीचे वह विधि है जो एपीआई 23-25 एमुलेटर पर मेरे लिए काम करती है। स्पष्टीकरण एपीआई 24 के लिए प्रदान किया गया है, लेकिन अन्य संस्करणों के लिए लगभग समान रूप से काम करता है।

क्रेडिट : जॉन डो , zaidorx , PJL

पाठकों के लिए हार्दिक सलाह: कृपया निम्नलिखित चरणों का पालन करें, क्योंकि कुछ स्क्रिप्ट के माध्यम से स्वचालित हैं।


  1. Android स्टूडियो के AVD प्रबंधक (v2.2.3 पर परीक्षण किया गया) में, "Android 7.0 (Google API)" लक्ष्य के साथ एक नया एमुलेटर बनाएं: एमुलेटर बनाने के बाद एवीडी स्क्रीन।

  2. एमुलेटर की वास्तुकला (सीपीयू / एबीआई) के लिए नवीनतम ओपन जीएपीएस पैकेज डाउनलोड करें । मेरे मामले में यह था x86_64, लेकिन यह डिवाइस निर्माण विज़ार्ड के दौरान आपकी पसंद की छवि के आधार पर कुछ और हो सकता है। दिलचस्प है, आर्किटेक्चर सही एंड्रॉइड वर्जन से ज्यादा महत्वपूर्ण लगता है (यानी 6.0 के लिए gapps भी 7.0 एमुलेटर पर काम करते हैं)।

  3. .apkनिम्न पथों (सापेक्ष open_gapps-x86_64-7.0-pico-201#####.zip) से उपयोग करके फ़ाइलें निकालें :

    .zip\Core\gmscore-x86_64.tar.lz\gmscore-x86_64\nodpi\priv-app\PrebuiltGmsCore\
    .zip\Core\gsfcore-all.tar.lz\gsfcore-all\nodpi\priv-app\GoogleServicesFramework\
    .zip\Core\gsflogin-all.tar.lz\gsflogin-all\nodpi\priv-app\GoogleLoginService\
    .zip\Core\vending-all.tar.lz\vending-all\nodpi\priv-app\Phonesky\
    

    ध्यान दें कि ओपन GApps Lzip संपीड़न का उपयोग करता है, जिसे Lzip वेबसाइट 1 , 2 पर पाए गए टूल का उपयोग करके या होमब्रे का उपयोग करके मैक पर खोला जा सकता है brew install lzip:। फिर जैसे lzip -d gmscore-x86_64.tar.lz

    मैं एक बैच फ़ाइल प्रदान कर रहा हूं जो सभी आवश्यक s को स्वचालित रूप से (विंडोज़ पर) निकालने के लिए उपयोग करती है 7z.exeऔर :lzip.exe.apk

    @echo off
    echo.
    echo #################################
    echo Extracting Gapps...
    echo #################################
    7z x -y open_gapps-*.zip -oGAPPS
    
    echo Extracting Lzips...
    lzip -d GAPPS\Core\gmscore-x86_64.tar.lz
    lzip -d GAPPS\Core\gsfcore-all.tar.lz
    lzip -d GAPPS\Core\gsflogin-all.tar.lz
    lzip -d GAPPS\Core\vending-all.tar.lz
    
    move GAPPS\Core\*.tar
    
    echo. 
    echo #################################
    echo Extracting tars...
    echo #################################
    
    7z e -y -r *.tar *.apk
    
    echo.
    echo #################################
    echo Cleaning up...
    echo #################################
    rmdir /S /Q GAPPS
    del *.tar
    
    echo.
    echo #################################
    echo All done! Press any key to close.
    echo #################################
    pause>nul
    

    इसका उपयोग करने के लिए, स्क्रिप्ट को फ़ाइल में सहेजें (उदाहरण के लिए unzip_gapps.bat) और सब कुछ एक फ़ोल्डर में प्रासंगिक रखें, जैसा कि नीचे दिखाया गया है: यह कैसा दिखना चाहिए ...

  4. suउन फ़ाइलों की अनुमतियों को संशोधित करने में सक्षम होने के लिए बाइनरी को अपडेट करें जिन्हें हम बाद में अपलोड करेंगे। सुपरएसयू में चेनफायर पैकेज "रिकवरी फ्लैशबल" द्वारा एक नया suबाइनरी पाया जा सकता है । ज़िप प्राप्त करें, इसे कहीं निकालें, एक ही फ़ोल्डर में निम्न सामग्री के साथ एक बैच फ़ाइल बनाएं, और अंत में इसे चलाएं:zip

    adb root
    adb remount
    
    adb push eu.chainfire.supersu_2.78.apk /system/app/
    adb push x64/su /system/xbin/su
    adb shell chmod 755 /system/xbin/su
    
    adb shell ln -s /system/xbin/su /system/bin/su
    adb shell "su --daemon &"
    adb shell rm /system/app/SdkSetup.apk
    
  5. सभी .apkफ़ाइलों को एक फ़ोल्डर में रखें और इन सामग्रियों के साथ एक बैच फ़ाइल बनाएँ 3 :

    START /B E:\...\android-sdk\tools\emulator.exe @Nexus_6_API_24 -no-boot-anim -writable-system
    adb wait-for-device
    adb root
    adb shell stop
    adb remount
    adb push PrebuiltGmsCore.apk /system/priv-app/PrebuiltGmsCore
    adb push GoogleServicesFramework.apk /system/priv-app/GoogleServicesFramework
    adb push GoogleLoginService.apk /system/priv-app/GoogleLoginService
    adb push Phonesky.apk /system/priv-app/Phonesky/Phonesky.apk
    adb shell su root "chmod 777 /system/priv-app/**"
    adb shell su root "chmod 777 /system/priv-app/PrebuiltGmsCore/*"
    adb shell su root "chmod 777 /system/priv-app/GoogleServicesFramework/*"
    adb shell su root "chmod 777 /system/priv-app/GoogleLoginService/*"
    adb shell su root "chmod 777 /system/priv-app/Phonesky/*"
    adb shell start
    

    ध्यान दें किE:\...\android-sdk\tools\emulator.exe आपके सिस्टम पर एंड्रॉइड एसडीके के स्थान के अनुसार पथ को संशोधित किया जाना चाहिए

  6. उपरोक्त बैच फ़ाइल निष्पादित करें (कंसोल बाद में इस तरह दिखना चाहिए):

    O:\123>START /B E:\...\android-sdk\tools\emulator.exe @Nexus_6_API_24 -no-boot-anim -writable-system
    
    O:\123>adb wait-for-device
    Hax is enabled
    Hax ram_size 0x60000000
    HAX is working and emulator runs in fast virt mode.
    emulator: Listening for console connections on port: 5554
    emulator: Serial number of this emulator (for ADB): emulator-5554
    
    O:\123>adb root
    
    O:\123>adb shell stop
    
    O:\123>adb remount
    remount succeeded
    
    O:\123>adb push PrebuiltGmsCore.apk /system/priv-app/PrebuiltGmsCore/
    [100%] /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
    
    O:\123>adb push GoogleServicesFramework.apk /system/priv-app/GoogleServicesFramework/
    [100%] /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
    
    O:\123>adb push GoogleLoginService.apk /system/priv-app/GoogleLoginService/
    [100%] /system/priv-app/GoogleLoginService/GoogleLoginService.apk
    
    O:\123>adb push Phonesky.apk /system/priv-app/Phonesky/Phonesky.apk
    [100%] /system/priv-app/Phonesky/Phonesky.apk
    
    O:\123>adb shell su root "chmod 777 /system/priv-app/**"
    
    O:\123>adb shell su root "chmod 777 /system/priv-app/PrebuiltGmsCore/*"
    
    O:\123>adb shell su root "chmod 777 /system/priv-app/GoogleServicesFramework/*"
    
    O:\123>adb shell su root "chmod 777 /system/priv-app/GoogleLoginService/*"
    
    O:\123>adb shell su root "chmod 777 /system/priv-app/Phonesky/*"
    
    O:\123>adb shell start
    
  7. जब एमुलेटर लोड होता है - इसे बंद करें, वर्चुअल डिवाइस को हटा दें और फिर उसी सिस्टम छवि का उपयोग करके एक और बनाएं । यह गैर-जिम्मेदार Play Store ऐप को ठीक करता है, "Google Play Services ने बंद कर दिया है" और इसी तरह की समस्याएं। यह काम करता है क्योंकि पहले के चरणों में हमने वास्तव में सिस्टम छवि को स्वयं संशोधित किया है ( तारीख को संशोधित रूप में देखें android-sdk\system-images\android-24\google_apis\x86_64\system.img)। इसका मतलब है कि सिस्टम इमेज के साथ अब से बनाए गए हर डिवाइस में गैप स्थापित होंगे!

  8. नई AVD प्रारंभ करें। यदि इसे लोड करने में असामान्य रूप से लंबा समय लगता है, तो इसे बंद करें और इसके बजाय इसका उपयोग शुरू करें:

    START /B E:\...\android-sdk\tools\emulator.exe @Nexus_6_API_24
    adb wait-for-device
    adb shell "su --daemon &"
    

    AVD शुरू होने के बाद आप नीचे दी गई छवि देखेंगे - कोने में Play Store आइकन पर ध्यान दें!

प्ले स्टोर के साथ पहला बूट स्थापित।


3 - मुझे यकीन नहीं है कि इन सभी आदेशों की आवश्यकता है, और शायद उनमें से कुछ ओवरकिल हैं ... यह काम करने लगता है - जो मायने रखता है। :)


2
.Xz फ़ाइलों के बजाय, ओपन Gapps में .lz फाइलें होती हैं (जैसे gsfcore-all.tar.lz)। मैंने कई उपकरण आज़माए हैं, जिनमें से कोई भी .lz फ़ाइलों को विघटित करने में सक्षम नहीं है, इसलिए मैं APK में प्राप्त कर सकता हूं। कोई सुझाव?
चाड शुल्त्स

2
@Chad Schultz यहाँ उपकरण डाउनलोड के लिए लिंक है। savannah.gnu.org/releases/lzip यदि आप विंडोज़ पर "lzip-1.11-w32.zip" डाउनलोड करते हैं और इसे thetar फ़ाइल में बदलने के लिए निम्न कमांड का उपयोग करते हैं और दूसरे का उपयोग करते हैं। उपकरण अंत में इसे निकालने के लिए।
f4b

1
@ देव-आईएल प्लेस्टोर मेरे एमुलेटर पर स्थापित हो जाता है, लेकिन यह खुलता नहीं है। मैं एक x86_64 एपीआई 23 नेक्सस की सिस्टम छवि का उपयोग कर रहा हूं। 5. कोई विचार?
एआरके

3
इसने मेरे लिए नवीनतम 25 / 7.1 एमुलेटर पर काम किया। केवल एक चीज जो अजीब थी, /system/app/SdkSetup.apkवह मेरी छवि में मौजूद नहीं थी। बहुत बहुत धन्यवाद, यह काम करने की कोशिश में पागल हो रहा था!
विल्सनपेज

1
आप वास्तव में "समान सिस्टम छवि का उपयोग करके एक और एक" कैसे बनाते हैं?
गावसी

42

अब एमुलेटर पर प्ले स्टोर पाने के लिए किसी भी स्क्रिप्ट को निष्पादित करने के किसी भी पैकेज को लोड करने की आवश्यकता नहीं है। एंड्रॉइड स्टूडियो 2.4 से शुरू होकर अब आप एक एवीडी बना सकते हैं जिसमें प्ले स्टोर पहले से स्थापित है। वर्तमान में यह केवल एंड्रॉइड 7.0 (एपीआई 24) सिस्टम छवियों को चलाने वाले एवीडी पर समर्थित है।

आधिकारिक स्रोत

प्ले स्टोर के साथ ए.वी.डी.

नोट: संगत उपकरण नए Play Store कॉलम द्वारा निरूपित किए जाते हैं।


6
नोट: आपको एक सिस्टम छवि स्थापित करने की आवश्यकता है जो लक्ष्य कहती है: Android 7.0 (Google Play)न कि केवल Google API। वर्तमान में यह केवल एपीआई 24 के लिए उपलब्ध है, एपीआई 25 के लिए नहीं। एक बार जब आप सिस्टम इमेज इंस्टॉल करते हैं तो यह अनुशंसित टैब के तहत दिखाई देगा, न कि x86 इमेजेज टैब पर।
एंटोनी

2
लिनक्स पर एंड्रॉइड स्टूडियो 2.3.3 अब प्ले स्टोर एवीडी का समर्थन करता है - लेकिन यह भी ध्यान देने योग्य है कि प्ले स्टोर वर्तमान में केवल x86 के लक्ष्य पर उपलब्ध है, इसलिए आपको अभी भी एक और विधि का उपयोग करने की आवश्यकता होगी यदि आप प्ले प्राप्त करना चाहते हैं। एआरएम एवीडी पर स्टोर करें।
NullColaShip

अब 24 के अलावा एपीआई 25, 26 और 27 के लिए भी चित्र हैं।
arekolek

25

अंतिम उत्तर पर टिप्पणी करना चाहता था, लेकिन लॉगिन के बिना केवल उत्तर देना संभव है:

"केवल पढ़ने के लिए त्रुटि" से छुटकारा पाने के लिए डिवाइस को तैयार होने के तुरंत बाद रोक दें। मेरी स्क्रिप्ट इस प्रकार है:

#!/bin/bash 
~/bin/AndroidSdk/tools/emulator @Nexus_6P_API_23 -no-boot-anim &
adb wait-for-device
adb shell stop
adb remount
adb push GmsCore.apk /system/priv-app
adb push GoogleServicesFramework.apk /system/priv-app
adb push GoogleLoginService.apk /system/priv-app
adb push Phonesky.apk /system/priv-app
adb shell start

1
यह मुझे केवल-पढ़ने के लिए फ़ाइल सिस्टम त्रुटि को हल करने में मदद करता है। चूंकि मैं विंडोज़ में काम कर रहा हूं, इसलिए मैंने स्क्रिप्ट की पहली पंक्ति को अनदेखा कर दिया और दूसरे को इस "START / B / टूल / एमुलेटर @ Nexus_6P_API_23-बूट-एनिमेशन" से बदल दिया, इसे .bb एक्सटेंशन के साथ सहेजा और इसे चलाया। कमांड लाइन से।
zaidorx

1
यह कमाल है, मैंने पहले दो पंक्तियों को हटा दिया और एमुलेटर को अपने दम पर लॉन्च किया और फिर बैट फ़ाइल को चलाया ... एक आकर्षण की तरह काम किया
इम रिक जेम्स

यदि आप adb खोल स्टॉप स्टॉप है: तो beggining पर एडीबी रूट डालें: रूट एरर होना चाहिए।
Nutella_eater 19

adb rootत्रुटि adb wait-for-deviceको रोकने के लिए लाइन के तुरंत बाद लाइन को जोड़ा जाना चाहिए Read-only file system
एफफैंक

1
एक बार जब मैंने इस तरह से अपने एमुलेटर कमांड में ~-एंड्रॉइड-एसडीके / टूल्स / एमुलेटर @ Nexus_5X_API_23--बूट-एनिमेट-राइट-सिस्टम
reassembled को

2

यहाँ लिपि पर मैं उपयोग किया गया स्क्रिप्ट उदाहरण के लिए Nexus 5 API 24 x86 GoogleApis के बिना है

#!/bin/sh

~/Android/Sdk/tools/emulator @A24x86 -no-boot-anim -writable-system & #where A24x86 is the name i gave to my instance
~/Android/Sdk/platform-tools/adb wait-for-device
~/Android/Sdk/platform-tools/adb root
~/Android/Sdk/platform-tools/adb shell stop
~/Android/Sdk/platform-tools/adb remount
~/Android/Sdk/platform-tools/adb push ~/gapps/PrebuiltGmsCore.apk /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
~/Android/Sdk/platform-tools/adb push ~/gapps/GoogleServicesFramework.apk /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
~/Android/Sdk/platform-tools/adb push ~/gapps/GoogleLoginService.apk /system/priv-app/GoogleLoginService/GoogleLoginService.apk
~/Android/Sdk/platform-tools/adb push ~/gapps/Phonesky.apk /system/priv-app/Phonesky/Phonesky.apk
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/PrebuiltGmsCore /system/priv-app/GoogleServicesFramework"
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/GoogleLoginService /system/priv-app/Phonesky"
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk"
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk"
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/GoogleLoginService/GoogleLoginService.apk"
~/Android/Sdk/platform-tools/adb shell "chmod 777 /system/priv-app/Phonesky/Phonesky.apk"
~/Android/Sdk/platform-tools/adb shell start

यह एक मेरे लिए किया था।

महत्वपूर्ण: एप्लिकेशन को दुर्घटनाग्रस्त होने से रोकने के लिए Google Play सेवाओं के स्थान अनुमतियों को याद रखना याद रखें।

कॉन्फ़िगरेशन-> ऐप्स-> कॉन्फ़िगरेशन (गियर आइकन) -> ऐप अनुमतियाँ-> स्थान -> (शीर्ष दाईं ओर मेनू) -> सिस्टम दिखाएं-> Google Play सेवाएं सक्षम करें


2

Http://opengapps.org/ पर जाएं और अपने प्लेटफॉर्म और एंड्रॉइड वर्जन के पिको वर्जन को डाउनलोड करें।
1. GmsCore.apk
2 प्राप्त करने के लिए डाउनलोड किए गए फ़ोल्डर को अनज़िप करें । GoogleServicesFramework.apk
3. GoogleLoginService.apk
4. Phonesky.apk

उसके बाद, अपने emulator.exe का पता लगाएं। आप इसे संभवतः
C: \ Users \ <your_USER_NAME> \ AppData \ Local \ Android \ sdk \ "टूल में पाएंगे

कमांड चलाएँ:
emulator -avd <your_EMULATOR'S_NAME> -netdelay

ध्यान दें: लेखन-प्रणाली-प्रणाली का उपयोग अपने इम्यूलेटर को लिखने योग्य सिस्टम छवि के साथ शुरू करने के लिए करें।

फिर,
adb root
adb remount
adb पुश <PATH_TO GmsCore.apk> / system / private-app
adb push <PATH_TO GoogleServicesFramework.apk> / system /
Private
-app adb पुश <PATH_TO GoogleLoginService.apk> / system / Private-app- adb पुश <PATH_TO Phonesky.apk> / प्रणाली / निजी-ऐप

फिर, एमुलेटर
adb शेल स्टॉप
adb शेल स्टार्ट को रिबूट करें

रन को सत्यापित करने के लिए,
अपरिपक्व शेल दोपहर सूची पैकेज और आपको google के लिए com.google.android.gms पैकेज मिलेगा


2

आपको जो करने की आवश्यकता है config.iniवह डिवाइस के लिए फ़ाइल को अपडेट करें और सिस्टम छवि को फिर से डाउनलोड करें।

C:\Users\USER\.android\avd\DEVICE_ID\config.ini(विंडोज पर) या ~/.android/avd/DEVICE_ID/config.iniलिनक्स पर निम्नलिखित मूल्यों को अपडेट करें

PlayStore.enabled = true
image.sysdir.1=system-images\android-27\google_apis_playstore\x86\
tag.display=Google Play
tag.id=google_apis_playstore

फिर एंड्रॉइड स्टूडियो> टूल्स> एवीडी मैनेजर से डिवाइस के लिए सिस्टम छवि को फिर से डाउनलोड करें

बस इतना ही। अपने डिवाइस को पुनरारंभ करें और आपके पास प्ले स्टोर स्थापित हो जाएगा।

यह भी यहाँ उत्तर दिया गया है: एंड्रॉइड स्टूडियो एमुलेटर में Google Play ऐप कैसे स्थापित करें?


2

आसान तरीके से हल: आपको एक नया एमुलेटर बनाना चाहिए, इसे पहली बार खोलने से पहले इन 3 आसान चरणों का पालन करें:

1- "C: \ Users [user]" .android \ avd [अपने वर्चुअल डिवाइस फोल्डर] पर जाएं " notepad जैसे टेक्स्ट एडिटर के साथ " config.ini " खोलें।

2- परिवर्तन

"PlayStore.enabled = false" को "PlayStore.enabled = true"

3- परिवर्तन

"mage.sysdir.1 = सिस्टम-इमेज \ android-30 \ google_apis \ x86"

सेवा

"image.sysdir.1 = system-images \ android-30 \ google_apis_playstore \ x86"


1

अब तक, /systemनिर्देशिका में एप्स को इंस्टॉल करना adb pushकमांड का उपयोग करके काम करता हुआ प्रतीत होता है ।

कुछ छिपी हुई सेवा स्वचालित रूप से /systemनिर्देशिका को read-onlyमोड में हटा रही थी ।

किसी भी तरह से मैं प्ले स्टोर को एक सामान्य वर्चुअल-मशीन (यानी, गैर-Google- Api वर्चुअल मशीन) में स्थापित करने में सक्षम था, बस system.imgअपने ओएस से फाइल को माउंट करके और फाइलों पर कॉपी करके।

# To be executed as root user in your Unix based OS
mkdir sys_temp
mount $SDK_HOME/system-images/android-23/default/x86/system.img sys_temp -o loop
cp Phonesky.apk GmsCore.apk GoogleLoginService.apk GoogleServicesFramework.apk ./sys_temp/priv-app/
umount sys_temp
rmdir sys_temp

एपीके फ़ाइलों को adb pullकमांड का उपयोग करके Google Apps चलाने वाले किसी भी वास्तविक एंड्रॉइड डिवाइस से खींचा जा सकता है

[Apks का सटीक मार्ग प्राप्त करने के लिए, हम pm list packages -fadb शेल के अंदर कमांड का उपयोग कर सकते हैं ]


मुझे विश्वास नहीं हो रहा है कि कुछ "रहस्यमय" सेवा चल रही है .. बल्कि, एमुलेटर (या सिस्टम इमेज) में एक बग था जो तय हो गया लगता है, जो apkकि /systemनिर्देशिका में मौजूद s की कई प्रतियों को अनुमति देता है । मैंने देखा कि प्रत्येक apks को एक सही फ़ोल्डर में धकेलने से लिखने में त्रुटि नहीं होती है। मैंने अपना उत्तर अपडेट कर दिया है - क्या आप कोशिश कर सकते हैं कि यह आपके लिए काम करे?
देव- iL

मैं एक ही समस्या का सामना कर रहा हूं, जब पुश एप्स को आसानी से फाइल सिस्टम पास नहीं कर सका, तो मुझे लगता है कि एकमात्र तरीका एमुलेटर एंड्रॉइड सिस्टम इमेज को एडिट करना है, और फिर विंडोज 8 से एंड्रॉइड इमेज को कैसे संपादित करना है, धन्यवाद। मुझे एंड्रॉइड 6.0 एमुलेटर पर नवीनतम Google Play सेवा और Google Play गेम स्थापित करने की आवश्यकता है।
noname.cs

2
मैंने एक 6.0 system.img पर google apis के साथ linux और copy apks इंस्टॉल किए हैं, लेकिन जब मैंने एक नया एमुलेटर बनाया, तो उसमें google play service या google play store नहीं था। मैं गैर गूगल एपिस रोम के साथ फिर से कोशिश करूँगा।
noname.cs

0

बस प्रतिक्रियाशील मूल उपयोगकर्ताओं के लिए एक और समाधान जोड़ना चाहते हैं, जिसे बस एक्सपो ऐप की आवश्यकता है।

  1. एक्सपो ऐप इंस्टॉल करें
  2. आप प्रोजेक्ट खोलें
  3. डिवाइस पर क्लिक करें -> एंड्रॉइड पर खोलें - इस चरण में एक्सपो एक्सपो एंड्रॉइड ऐप इंस्टॉल करेगा और आप इसे खोल पाएंगे।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.