Android Studio emülatörü, API 23 için Play Store ile birlikte gelmiyor


92

Bu emülatörü Android Studio AVD'nin en yeni sürümünden seçtim.

Google API

Android API 23'ün en son sürümünü seçtim. "Google API'leri ile" yazdığı için, Facebook gibi uygulamaları yükleyebilmem için aslında Play Store dahil tüm Google uygulamalarını içereceğini düşündüm.

SO'da şu anda modası geçmiş gibi görünen başka iş parçacıkları gördüm ( Google Play uygulamasını Android Studio öykünücüsüne nasıl yükleyebilirim? ), Bu, evrensel paketlere dayalı Google uygulamalarını yüklemek için talimatlar veriyor ancak yalnızca Android 4.3 API 18'e kadar gidiyor: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2

API 23 için olanı istiyorum. Google Apps paketini öykünücüye yüklemenin bir yolu var mı?

Resmi android öykünücünün ilk etapta tüm Google uygulamalarıyla standart olarak gelmemesi garip görünüyor ... Bu, Google'ı pek desteklemiyor ve potansiyel geliştiricilerin API 23'ü geliştirmek için gerçek cihazlar satın almaları gerektiği anlamına geliyor. ?


Teşekkürler Bayan Yvette. Android topluluğu için bu soruya bir cevap almanın önemli olduğunu düşünüyorum. Orada gerçek android cihazlara erişimi olmayan birçok android dev var ve tüm araçlara erişim verilmediğinde android için nasıl geliştireceklerini merak ediyorum.
Simon

1
Yukarıda yorum yapmak için yeterli kredim yok. Re: salt okunur / sistem bölümü, emulator.exe'yi çağırdığınızda "-writable-system" bağımsız değişkenini ilettiğinizden emin olun. Örneğin: BAŞLANGIÇ / B emulator.exe @ Nexus_7-2012_API_22 -no önyükleme-Anim -writable sistemi
pjl

@pjl - bu yorum için teşekkürler! Bunu cevabıma ekledim.
Dev-iL

Google, emülatöre Play Store desteği eklemeye çalıştıklarını söylüyor. Bu arada, aralarından seçim yapabileceğiniz birkaç geçici çözüm var. Amazon Appstore'u kullanmak bir seçenektir, ancak tek seçenek bu değildir. Buraya bakın .
unforgettableidSupportsMonica

Yanıtlar:


56

Bunu son zamanlarda API 23 emülatöründe yapmak zorunda kaldım ve bu kılavuzu takip ettim . API 23 öykünücüsü için çalışır, bu nedenle bir sorun yaşamazsınız.

Not: Tüm atıf, bağlantılı blog gönderisinin (pyoor) yazarına gider. Bağlantı herhangi bir nedenle koparsa diye buraya gönderiyorum.

....

GAPPS Paketini İndirin

Daha sonra, Android AVD sürümümüzle eşleşen uygun Google Apps paketini indirmemiz gerekiyor. Bu durumda 'gapps-lp-20141109-signed.zip' paketini kullanacağız. Bu dosyayı BasketBuild'den buradan indirebilirsiniz .

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

Google Play'i yüklemek için aşağıdaki 4 APK'yı AVD'mize (./system/priv-app/ adresinde bulunur) aktarmamız gerekecek:

GmsCore.apk, GoogleServicesFramework.apk, GoogleLoginService.apk, Phonesky.apk

[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 ./

APK'leri Emülatöre aktarın

Çıkarılan APK'lerimizle, aşağıdaki komutu kullanarak AVD'mizi başlatalım.

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

AVD oluşturulurken bu ilk kez birkaç dakika sürebilir. Başladıktan sonra, paketlerimizi cihaza itebilmemiz için AVDs sistem bölümünü okuma / yazma olarak yeniden bağlamamız gerekir.

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

Sonra, APK'leri AVD'mize aktarın:

[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

Kar!

Ve son olarak, aşağıdaki komutları kullanarak emualatörü yeniden başlatın:

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

Öykünücü yeniden başladığında, Google Play paketinin menü başlatıcıda göründüğünü görmeliyiz. Bir Google hesabını bu AVD ile ilişkilendirdikten sonra artık emülatörümüz altında çalışan Google Play'in tam olarak çalışan bir sürümüne sahibiz.


29
"ReadOnly dosya sistemi" hatası alıyorum ve bu apk dosyalarının hiçbiri yüklenmemiş.
wmac

6
Ne yazık ki, BasketBuild artık mevcut değil. s.basketbuild.com , en az 9 / 3'ten beri düşüşte olduğunu ve herhangi bir ETA'nın yükselmediğini gösteriyor. Google uygulamaları için önerdiğiniz başka bir kaynak var mı?
Chad Schultz

1
"Salt okunur dosya sistemi" hatası alırsanız, şu komutu çalıştırın: "adb remount". Sonra "adb push ..." komutlarını tekrar deneyin.
Shangwu

4
Tüm bağlantılar
kesildi


53

API 23-25 emülatörlerinde benim için çalışan yöntem aşağıdadır . Açıklama API 24 için sağlanmıştır ancak diğer sürümler için neredeyse aynı şekilde çalışır.

Kredi : Jon Doe , zaidorx , pjl .

Okuyucular için sıcak tavsiyeler: Lütfen, bazıları sağlanan komut dosyaları aracılığıyla otomatikleştirildiğinden, adımları izlemeden önce yalnızca adımların üzerinden geçin.


  1. Android stüdyosunun AVD yöneticisinde (v2.2.3'te test edilmiştir), "Android 7.0 (Google API'leri)" hedefiyle yeni bir emülatör oluşturun: Emülatörü oluşturduktan sonra AVD ekranı.

  2. Öykünücünün mimarisi (CPU / ABI) için en son Open GApps paketini indirin . Benim durumumda öyleydi x86_64, ancak cihaz oluşturma sihirbazı sırasında görüntü seçiminize bağlı olarak başka bir şey olabilir. İlginç bir şekilde, mimari doğru Android sürümünden daha önemli görünüyor (yani, 6.0 için gapps ayrıca bir 7.0 emülatöründe çalışıyor).

  3. .apkAşağıdaki yollardan (ile göreceli open_gapps-x86_64-7.0-pico-201#####.zip) kullanarak dosyaları ayıklayın :

    .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\
    

    Open GApps'ın Lzip web sitesi 1 , 2'de bulunan araç veya homebrew: Mac'te bulunan araç kullanılarak açılabilen Lzip sıkıştırmasını kullandığını unutmayın brew install lzip. Sonra örneğin lzip -d gmscore-x86_64.tar.lz.

    Gerekli tüm e-postaları kullanan 7z.exeve otomatik olarak lzip.exeayıklayan bir toplu iş dosyası sağlıyorum .apk(Windows'ta):

    @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
    

    Bunu kullanmak için, komut dosyasını bir dosyaya kaydedin (örn. unzip_gapps.bat) Ve aşağıda gösterildiği gibi ilgili her şeyi tek bir klasöre koyun: Nasıl görünmeli ...

  4. suDaha sonra yükleyeceğimiz dosyaların izinlerini değiştirebilmek için ikili dosyayı güncelleyin . SuperSU by Chainfire paketi "Recovery flashable"su içinde yeni bir ikili dosya bulunabilir . Zip dosyasını alın, bir yere çıkarın, aynı klasörde aşağıdaki içeriğe sahip bir toplu iş dosyası oluşturun ve son olarak çalıştırın: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. Tüm .apkdosyaları tek bir klasöre koyun ve aşağıdaki içeriklerle bir toplu iş dosyası oluşturun 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.exeSisteminizdeki Android SDK'nın konumuna göre yolun değiştirilmesi gerektiğine dikkat edin .

  6. Yukarıdaki toplu iş dosyasını çalıştırın (konsol daha sonra böyle görünmelidir):

    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. Öykünücü yüklendiğinde - kapatın, Sanal Aygıtı silin ve ardından aynı sistem görüntüsünü kullanarak başka bir tane oluşturun . Bu, yanıt vermeyen Play Store uygulaması, "Google Play Hizmetleri durdu" ve benzeri sorunları düzeltir. Önceki adımlarda biz aslında var çünkü çalışır sistem görüntüsünün kendisini değiştirilmiş (bir göz atın değiştirilmiş Tarih üzerinde android-sdk\system-images\android-24\google_apis\x86_64\system.img). Bu, bundan sonra sistem görüntüsü ile oluşturulan her cihazda boşlukların kurulu olacağı anlamına gelir!

  8. Yeni AVD'yi başlatın. Yüklemesi alışılmadık derecede uzun sürerse, kapatın ve bunun yerine şunu kullanarak başlayın:

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

    AVD başladıktan sonra aşağıdaki görüntüyü göreceksiniz - köşedeki Play Store simgesine dikkat edin!

Play Store yüklü ilk önyükleme.


3 - Tüm bu komutların gerekli olduğundan emin değilim ve belki de bazıları aşırı derecede işe yarıyor gibi görünüyor - önemli olan da bu. :)


2
.Xz dosyaları yerine, Open Gapps .lz dosyaları içeriyor gibi görünüyor (gsfcore-all.tar.lz gibi). Birçok araç denedim, bunların hiçbiri .lz dosyalarını açamıyor, böylece APK'ları alabiliyorum. Herhangi bir öneri?
Chad Schultz

2
@Chad Schultz, download.savannah.gnu.org/releases/lzip aracının bağlantısını burada bulabilirsiniz, eğer Windows kullanıyorsanız "lzip-1.11-w32.zip" dosyasını indirin ve aşağıdaki komutu .tar dosyasına dönüştürmek ve başka bir tane kullanmak için kullanın sonunda çıkarmak için bir araç.
f4b

1
@ Dev-iL PlayStore emülatörüme kuruluyor, ancak açılmıyor. Nexus 5'in x86_64 API 23 Sistem Görüntüsü kullanıyorum. Herhangi bir fikriniz var mı?
ARK

3
Bu benim için en son 25 / 7.1 öykünücüsünde çalıştı. Garip olan tek şey /system/app/SdkSetup.apkbenim imajımda bulunmayan şeydi . Çok teşekkürler, bunu çözmeye çalışmak çıldırıyordu!
wilsonpage

1
"Aynı sistem görüntüsünü kullanarak bir başkasını tam olarak nasıl yaratırsınız"?
gavsiu

43

Artık Play Store'u emülatöre almak için herhangi bir komut dosyası yürütmek için herhangi bir paketin yandan yüklenmesine gerek yok. Android Studio 2.4'ten başlayarak artık Play Store'un önceden yüklenmiş olduğu bir AVD oluşturabilirsiniz. Şu anda yalnızca Android 7.0 (API 24) sistem görüntülerini çalıştıran AVD'lerde desteklenmektedir.

Resmi Kaynak

Play Store ile AVD

Not: Uyumlu cihazlar, yeni Play Store sütunuyla belirtilir.


7
Not: Android 7.0 (Google Play)Yalnızca Google API'lerini değil, Hedef: yazan bir sistem görüntüsü yüklemeniz gerekir . Şu anda API 25 için değil, yalnızca API 24 için kullanılabilir. Sistem görüntüsünü yüklediğinizde, x86 Görüntüleri sekmesinde değil, Önerilen sekmesinde görünecektir.
antoine

2
Linux'ta Android Studio 2.3.3 artık Play Store AVD'lerini destekliyor - ancak şu anda Play Store'un yalnızca x86 hedeflerinde mevcut göründüğünü de belirtmek gerekir, bu nedenle Play'i almak istiyorsanız yine de başka bir yöntem kullanmanız gerekecektir. Bir ARM AVD'de saklayın.
NullColaShip

Artık 24'e ek olarak 25, 26 ve 27 API'leri için de görseller var.
arekolek

25

Son cevaba yorum yapmak istedim, ancak giriş yapmadan sadece cevap vermek mümkün:

"Salt okunur" hatasından kurtulmak için, hazır olur olmaz cihazı durdurmanız yeterlidir. Senaryom aşağıdaki gibi görünüyor:

#!/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
Bu, salt okunur dosya sistemi hatasını çözmeme yardımcı oluyor. Windows'ta çalıştığım için, komut dosyasının ilk satırını yok saydım ve ikincisini bu "START / B / tools / emulator @ Nexus_6P_API_23 -no-boot-anim" ile değiştirdim, onu .bat uzantısıyla kaydettim ve çalıştırdım komut satırından.
zaidorx

1
Bu harika, ilk iki satırı kaldırdım ve emülatörü kendim başlattım ve sonra BAT dosyasını çalıştırdım ... bir cazibe gibi çalıştı
Im Rick James

adb shell stop stopunuz varsa başlangıçta adb root koyun: root hatası olmalıdır.
nutella_eater

adb root satır hemen sonrasına eklenmelidir adb wait-for-deviceRead-only file systemHatayı önlemek için satırdan satır .
efkan

1
Bu, emülatör komutuma -writable-system ekledikten sonra çalıştı, ~ / android-sdk / tools / emulator @ Nexus_5X_API_23 -no-boot-anim -writable-system
reassembler

4

Kolay bir şekilde çözüldü: Yeni bir emülatör oluşturmalısınız, ilk kez açmadan önce şu 3 kolay adımı izleyin:

1- "C: \ Users [kullanıcı] .android \ avd [sanal cihaz klasörünüz]" konumuna gidin "config.ini" dosyasını açın not defteri gibi bir metin düzenleyici ile

2- değiştir

"PlayStore.enabled = false" için "PlayStore.enabled = true"

3- değişim

"mage.sysdir.1 = sistem görüntüleri \ android-30 \ google_apis \ x86"

-e

"image.sysdir.1 = sistem görüntüleri \ android-30 \ google_apis_playstore \ x86"


Bunu yaptım ve emülatör bir daha
açılmadı

Aslında google_apis_playstoregörüntü olsaydı bu doğrudan işe yarardı ama benim durumumda değildi. Bu yüzden @Aamnahcevabını takiben yüklemek zorunda kaldım .
happy_san

@happy_san İlk satırda yeni bir emülatör oluşturmanız gerektiğinden bahsetmiştim ve ilk kez açmadan önce söylediklerimi yapmalısınız ...
Sharif Yazdian

Evet, önce bir emülatör oluşturdum ve bununla birlikte Android Studio'da google play simgesine sahip olan da. Ama google_apis_playstoreresmi indirmedi, bununla birlikte niye olduğunu idk ..
happy_san

3

Yapmanız gereken şey, config.ini cihaz dosyayı ve sistem görüntüsünü yeniden indirmek.

Aşağıdaki değerleri C:\Users\USER\.android\avd\DEVICE_ID\config.ini(Windows'ta) veya ~/.android/avd/DEVICE_ID/config.ini(Linux'ta) güncelleyin

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

Ardından, cihaz için sistem görüntüsünü Android Studio> Araçlar> AVD Yöneticisi'nden yeniden indirin.

Hepsi bu. Cihazınızı yeniden başlatın ve Play Store'u yükleyeceksiniz.

Bu da burada yanıtlanmıştır: Google Play uygulamasını Android Studio emülatörüne nasıl yükleyebilirim?


2

İşte GoogleApis OLMADAN bir Nexus 5 API 24 x86 örneği için linux üzerinde kullandığım komut dosyası .

#!/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

Bu benim için yaptı.

ÖNEMLİ: Uygulamanın kilitlenmesini önlemek için Google Play hizmetlerine konum izinleri vermeyi unutmayın.

Yapılandırma-> Uygulamalar-> Yapılandırma (Dişli simgesi) -> Uygulama izinleri-> Konum -> (Sağ üst menü) -> Sistemi göster-> Google Play hizmetlerini etkinleştir


2

Http://opengapps.org/ adresine gidin ve platformunuzun pico sürümünü ve android sürümünü indirin.
1. GmsCore.apk
2. GoogleServicesFramework.apk
3. GoogleLoginService.apk 4. Phonesky.apk almak için indirilen klasörü
açın

Ardından emulator.exe dosyanızı bulun. Bunu muhtemelen C: \ Users \ <YOUR_USER_NAME> \ AppData \ Local \ Android \ sdk \ tools konumunda bulacaksınız

Şu komutu çalıştırın:
emulator -avd <YOUR_EMULATOR'S_NAME> -netdelay none -netspeed full -no-boot-anim -writable-system

Not: Öykünücünüzü yazılabilir sistem görüntüsü ile başlatmak için -writable-system komutunu kullanın.

Ardından,
adb root
adb
remount adb push <PATH_TO GmsCore.apk> / system / priv-app
adb push <PATH_TO GoogleServicesFramework.apk> / system / priv-app
adb push <PATH_TO GoogleLoginService.apk> / system / priv-app
adb push <PATH_TO Phonesky.apk> / system / priv-app

Ardından, emülatörü yeniden başlatın
adb shell stop
adb shell start

Çalıştırmayı doğrulamak için,
adb shell pm paketlerini listeleyin ve google için com.google.android.gms paketini bulacaksınız


1

Şu an itibariyle, apks'i /systemdizine yüklemek adb pushkomut kullanarak çalışıyor gibi görünüyor .

Bazı gizli hizmetler, /systemdizini read-onlymodda otomatik olarak yeniden bağladı .

Herhangi bir şekilde Play Store'u normal bir sanal makineye (yani, Google-Api olmayan sanal makine), system.imgdosyayı işletim sistemimden bağlayarak ve dosyaların üzerine kopyalayarak yükleyebildim .

# 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

APK dosyaları, adb pullkomut kullanılarak Google Apps çalıştıran herhangi bir gerçek Android cihazdan çekilebilir.

[Apk'lerin tam yolunu bulmak için pm list packages -f, adb kabuğunun içindeki komutu kullanabiliriz ]


Bazı "gizemli" hizmetlerin çalıştığına ikna olmadım .. daha ziyade, emülatörde (veya sistem görüntülerinde) düzeltilmiş gibi görünen apkve /systemdizinde birkaç s kopyasının var olmasına izin veren bir hata vardı . E-postaların her birini apkdoğru bir klasöre göndermenin yazma hatalarına neden olmadığını fark ettim . Cevabımı güncelledim - şimdi işinize yarayıp yaramadığını deneyebilir misiniz?
Dev-iL

Aynı sorunla karşı karşıyayım, apks ittiğinde salt okunur dosya sistemini geçemedim, bence tek yol emülatör android sistem görüntüsünü düzenlemek ve sonra android görüntüsünü Windows 8'den nasıl düzenleyeceğimi, teşekkür ederim. Android 6.0 emülatörüne en son google oyun hizmetini ve google play oyununu yüklemem gerekiyor.
noname.cs

2
Linux'u yükledim ve apks'i google apis ile 6.0 system.img'e kopyaladım, ancak yeni bir emülatör oluşturduğumda google play hizmeti veya google play store yoktu. Google olmayan apis rom ile tekrar deneyeceğim.
noname.cs

0

Sadece Expo uygulamasına ihtiyaç duyan React Native kullanıcıları için başka bir çözüm eklemek istiyorum.

  1. Expo'yu yükleyin uygulamasını
  2. Projenizi açın
  3. Cihaz -> Android'de Aç'ı tıklayın - Bu aşamada Expo, expo android uygulamasını yükleyecek ve açabileceksiniz.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.