Saya memilih emulator ini dari versi terbaru Android Studio AVD.
Saya telah memilih versi terbaru Android API 23. Karena dikatakan "dengan Google API", saya pikir itu sebenarnya akan menyertakan semua aplikasi Google, termasuk Play Store sehingga saya dapat menginstal aplikasi seperti Facebook.
Saya telah melihat utas lain di SO yang tampaknya sudah ketinggalan zaman sekarang ( Bagaimana cara menginstal aplikasi Google Play di emulator Android Studio? ), Yang ini memberikan instruksi untuk menginstal aplikasi Google berdasarkan paket universal tetapi hanya naik ke Android 4.3 API 18: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2
Saya ingin yang satu untuk API 23. Apakah ada cara untuk memasang paket Google Apps di emulator?
Tampaknya aneh bahwa emulator Android resmi tidak menjadi standar dengan semua aplikasi Google di tempat pertama ... Ini tampaknya tidak terlalu mendukung Google dan akan berarti pengembang harus membeli perangkat yang sebenarnya untuk mengembangkan API 23 ?
Jawaban:
Saya harus melakukan ini baru-baru ini di emulator API 23, dan mengikuti panduan ini . Ini berfungsi untuk emulator API 23, jadi Anda seharusnya tidak mengalami masalah.
Catatan: Semua kredit diberikan kepada penulis entri blog tertaut (pyoor). Saya hanya mempostingnya di sini jika tautan rusak karena alasan apa pun.
....
Unduh Paket GAPPS
Selanjutnya kita perlu menarik paket Google Apps yang sesuai yang cocok dengan versi AVD Android kita. Dalam hal ini kami akan menggunakan paket 'gapps-lp-20141109-signed.zip'. Anda dapat mengunduh file itu dari BasketBuild di sini .
[pyoor@localhost]$ md5sum gapps-lp-20141109-signed.zip 367ce76d6b7772c92810720b8b0c931e gapps-lp-20141109-signed.zip
Untuk menginstal Google Play, kami harus memasukkan 4 APK berikut ke AVD kami (terletak di ./system/priv-app/):
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 ./
Mendorong APK ke Emulator
Dengan APK kami diekstrak, mari luncurkan AVD kami menggunakan perintah berikut.
[pyoor@localhost tools]$ ./emulator @<YOUR_DEVICE_NAME> -no-boot-anim
Ini mungkin memerlukan waktu beberapa menit untuk pertama kali AVD dibuat. Setelah dimulai, kami perlu memasang ulang partisi sistem AVD sebagai baca / tulis sehingga kami dapat mendorong paket kami ke perangkat.
[pyoor@localhost]$ cd ~/android-sdk/platform-tools/ [pyoor@localhost platform-tools]$ ./adb remount
Selanjutnya, dorong APK ke AVD kami:
[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
Keuntungan!
Dan terakhir, reboot emualator menggunakan perintah berikut:
Setelah emulator dimulai ulang, kita akan melihat paket Google Play muncul di dalam peluncur menu. Setelah mengaitkan akun Google dengan AVD ini, kami sekarang memiliki versi Google Play yang berfungsi penuh yang berjalan di bawah emulator kami.
sumber
Di bawah ini adalah metode yang berfungsi untuk saya pada API 23-25 emulator. Penjelasannya disediakan untuk API 24 tetapi bekerja hampir sama untuk versi lain.
Penghargaan : Jon Doe , zaidorx , pjl .
Di AVD manager Android studio (diuji pada v2.2.3), buat emulator baru dengan target "Android 7.0 (Google API)":
Unduh paket Open GApps terbaru untuk arsitektur emulator (CPU / ABI). Dalam kasus saya itu
x86_64
, tetapi bisa menjadi sesuatu yang lain tergantung pada pilihan gambar Anda selama wizard pembuatan perangkat. Menariknya, arsitektur tampaknya lebih penting daripada versi Android yang benar (yaitu, gapps untuk 6.0 juga berfungsi pada emulator 7.0).Ekstrak
.apk
file menggunakan dari jalur berikut (relatif terhadapopen_gapps-x86_64-7.0-pico-201#####.zip
):Perhatikan bahwa Terbuka GAPPS menggunakan kompresi Lzip, yang dapat dibuka baik menggunakan alat yang ditemukan di situs Lzip 1 , 2 , atau pada Mac menggunakan homebrew:
brew install lzip
. Kemudian mislzip -d gmscore-x86_64.tar.lz
.Saya menyediakan file batch yang menggunakan
7z.exe
danlzip.exe
mengekstrak semua yang diperlukan.apk
secara otomatis (di Windows):Untuk menggunakan ini, simpan skrip dalam sebuah file (mis.
unzip_gapps.bat
) Dan letakkan semua yang relevan dalam satu folder, seperti yang ditunjukkan di bawah ini:Perbarui
su
biner agar dapat mengubah izin file yang nantinya akan kami unggah. Sebuah barusu
biner dapat ditemukan di SuperSU oleh Chainfire paket "Pemulihan flashable"zip
. Dapatkan zip, ekstrak di suatu tempat, buat file batch dengan konten berikut di folder yang sama, dan terakhir jalankan:Letakkan semua
.apk
file dalam satu folder dan buat file batch dengan konten berikut 3 :Perhatikan bahwa jalur
E:\...\android-sdk\tools\emulator.exe
harus dimodifikasi sesuai dengan lokasi Android SDK di sistem Anda.Jalankan file batch di atas (konsol akan terlihat seperti ini sesudahnya):
Saat emulator dimuat - tutup, hapus Perangkat Virtual, lalu buat yang lain menggunakan image sistem yang sama . Tindakan ini memperbaiki aplikasi Play Store yang tidak merespons, "Layanan Google Play telah berhenti", dan masalah serupa. Ini berfungsi karena pada langkah sebelumnya kami sebenarnya telah memodifikasi gambar sistem itu sendiri (lihat Tanggal diubah pada
android-sdk\system-images\android-24\google_apis\x86_64\system.img
). Ini berarti bahwa setiap perangkat yang dibuat mulai sekarang dengan image sistem akan memasang gapps!Mulai AVD baru. Jika perlu waktu lama untuk memuat, tutup dan mulai gunakan:
Setelah AVD dimulai, Anda akan melihat gambar di bawah - perhatikan ikon Play Store di pojok!
3 - Saya tidak yakin semua perintah ini diperlukan, dan mungkin beberapa di antaranya berlebihan ... tampaknya berfungsi - itulah yang terpenting. :)
sumber
/system/app/SdkSetup.apk
tidak ada dalam gambar saya. Terima kasih banyak, jadi gila mencoba menyelesaikan ini!Sekarang tidak perlu mem-muat paket apa pun dari mengeksekusi skrip apa pun untuk mendapatkan Play Store di emulator. Mulai dari Android Studio 2.4 sekarang Anda dapat membuat AVD yang memiliki Play Store yang sudah diinstal sebelumnya. Saat ini, ini hanya didukung pada AVD yang menjalankan image sistem Android 7.0 (API 24).
Sumber Resmi
Catatan: Perangkat yang kompatibel ditandai dengan kolom Play Store baru.
sumber
Android 7.0 (Google Play)
bukan hanya Google API. Saat ini hanya tersedia untuk API 24, bukan API 25. Setelah Anda menginstal gambar sistem, gambar itu akan muncul di bawah tab Direkomendasikan, bukan tab Gambar x86.Ingin mengomentari jawaban terakhir, tetapi tanpa login, hanya mungkin untuk membuat jawaban:
Untuk menghilangkan "kesalahan hanya baca", hentikan perangkat segera setelah siap. Skrip saya terlihat sebagai berikut:
#!/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
sumber
adb root
baris harus ditambahkan segera setelahadb wait-for-device
baris untuk mencegahRead-only file system
kesalahan.Yang perlu Anda lakukan adalah memperbarui
config.ini
file untuk perangkat dan mengunduh ulang citra sistem.Perbarui nilai berikut di
C:\Users\USER\.android\avd\DEVICE_ID\config.ini
(di Windows) atau~/.android/avd/DEVICE_ID/config.ini
(di Linux)PlayStore.enabled = true image.sysdir.1=system-images\android-27\google_apis_playstore\x86\ tag.display=Google Play tag.id=google_apis_playstore
Kemudian download ulang image sistem untuk perangkat dari Android Studio> Tools> AVD Manager
Itu semuanya. Mulai ulang perangkat Anda dan Play Store akan terpasang.
Ini juga telah dijawab di sini: Bagaimana cara menginstal aplikasi Google Play di emulator Android Studio?
sumber
Dipecahkan dengan cara mudah: Anda harus membuat emulator baru, sebelum membukanya untuk pertama kali ikuti 3 langkah mudah berikut:
1- buka "C: \ Users [user] .android \ avd [folder perangkat virtual Anda]" buka "config.ini" dengan editor teks seperti notepad
2- berubah
"PlayStore.enabled = false" menjadi "PlayStore.enabled = true"
3- perubahan
"mage.sysdir.1 = system-images \ android-30 \ google_apis \ x86"
untuk
"image.sysdir.1 = system-images \ android-30 \ google_apis_playstore \ x86"
sumber
google_apis_playstore
gambar telah ada tetapi tidak dalam kasus saya. Jadi saya harus menginstalnya berikut@Aamnah
jawaban.google_apis_playstore
gambar bersamaan dengan itu idk why ..Berikut skrip yang saya gunakan di linux untuk instance Nexus 5 API 24 x86 TANPA 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
Yang ini melakukannya untuk saya.
PENTING: untuk menghentikan aplikasi agar tidak mogok, ingatlah untuk memberikan izin lokasi layanan google play.
Konfigurasi-> Aplikasi-> Config (Ikon roda gigi) -> Izin aplikasi-> Lokasi -> (Menu kanan atas) -> Tampilkan sistem-> Aktifkan layanan Google Play
sumber
Kunjungi http://opengapps.org/ dan unduh versi pico platform dan versi android Anda. Buka
zip folder yang diunduh untuk mendapatkan 1. GmsCore.apk
2. GoogleServicesFramework.apk
3. GoogleLoginService.apk
4. Phonesky.apk
Kemudian, cari emulator.exe Anda. Anda mungkin akan menemukannya di
C: \ Users \ <YOUR_USER_NAME> \ AppData \ Local \ Android \ sdk \ tools
Jalankan perintah:
emulator -avd <YOUR_EMULATOR'S_NAME> -netdelay none -netspeed full -no-boot-anim -writable-system
Catatan: Gunakan -writable-system untuk memulai emulator Anda dengan image sistem yang dapat ditulis.
Kemudian,
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
Kemudian, reboot emulator
adb shell stop
adb shell start
Untuk memverifikasi berjalan,
adb shell pm daftar paket dan Anda akan menemukan paket com.google.android.gms untuk google
sumber
Sampai sekarang, Menginstal apks ke
/system
direktori tampaknya berfungsi menggunakanadb push
perintah.Beberapa layanan tersembunyi secara otomatis memasang kembali
/system
direktori dalamread-only
mode.Dengan cara apa pun saya dapat menginstal Play Store di mesin virtual normal (Yaitu, mesin virtual non-Google-Api) hanya dengan memasang
system.img
file dari OS saya dan dengan menyalin file.# 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
File APK dapat ditarik dari perangkat Android apa pun yang menjalankan Google Apps dengan menggunakan
adb pull
perintah[Untuk mendapatkan jalur apks yang tepat, kita dapat menggunakan perintah
pm list packages -f
di dalam adb shell]sumber
apk
ada di/system
direktori. Saya perhatikan bahwa mendorong masing-masingapk
s ke folder yang benar tidak mengakibatkan kesalahan penulisan. Saya telah memperbarui jawaban saya - dapatkah Anda mencoba jika itu berhasil untuk Anda sekarang?Hanya ingin menambahkan solusi lain untuk pengguna React Native yang hanya membutuhkan aplikasi Expo.
sumber