Trình giả lập Android Studio không đi kèm với Cửa hàng Play cho API 23


92

Tôi đã chọn trình giả lập này từ phiên bản Android Studio AVD mới nhất.

API Google

Tôi đã chọn phiên bản mới nhất của Android API 23. Bởi vì nó nói "với Google API", tôi nghĩ rằng nó thực sự sẽ bao gồm tất cả các ứng dụng của Google, bao gồm cả Play Store để tôi có thể cài đặt các ứng dụng như Facebook.

Tôi đã thấy các chủ đề khác trên SO có vẻ đã lỗi thời ( Làm cách nào để cài đặt ứng dụng Google Play trong trình giả lập Android Studio? ), Chủ đề này cung cấp hướng dẫn cài đặt ứng dụng Google dựa trên các gói phổ biến nhưng chỉ lên đến Android 4.3 API 18: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2

Tôi muốn một cái cho API 23. Có cách nào để cài đặt gói Google Apps trên trình giả lập không?

Có vẻ kỳ lạ khi trình giả lập Android chính thức không đạt tiêu chuẩn với tất cả các ứng dụng google ... Điều này có vẻ không được google hỗ trợ lắm và điều này có nghĩa là các nhà phát triển sẽ phải mua các thiết bị thực tế để phát triển cho API 23 ?


Cảm ơn cô Yvette. Tôi nghĩ điều quan trọng là phải có câu trả lời cho câu hỏi này đối với cộng đồng Android. Có rất nhiều nhà phát triển Android ngoài kia không có quyền truy cập vào các thiết bị Android thực tế và tôi tự hỏi làm thế nào họ sẽ phát triển cho Android khi họ không được cấp quyền truy cập vào tất cả các công cụ.
Simon

1
Tôi không có đủ tín dụng để bình luận ở trên. Re: phân vùng chỉ đọc / hệ thống, đảm bảo rằng bạn chuyển đối số "-w ghi-hệ thống" khi bạn gọi emulator.exe. Ví dụ: START / B emulator.exe @ Nexus_7-2012_API_22 -no-boot-anim -writable-system
PJL

@pjl - cảm ơn bạn vì nhận xét này! Tôi đã thêm nó vào câu trả lời của tôi.
Dev-iL

Google cho biết họ đang làm việc để thêm hỗ trợ Cửa hàng Play vào trình giả lập. Trong khi đó, có một số cách giải quyết bạn có thể lựa chọn. Sử dụng Amazon Appstore là một trong những lựa chọn, nhưng nó không phải là lựa chọn duy nhất. Xem tại đây .
forgetidSupportsMonica

Câu trả lời:


56

Tôi đã phải làm điều này gần đây trên trình giả lập API 23 và làm theo hướng dẫn này . Nó hoạt động cho trình giả lập API 23, vì vậy bạn sẽ không gặp vấn đề gì.

Lưu ý: Tất cả tín dụng được chuyển cho tác giả của bài đăng trên blog được liên kết (pyoor). Tôi chỉ đăng nó ở đây trong trường hợp liên kết bị hỏng vì bất kỳ lý do gì.

....

Tải xuống Gói GAPPS

Tiếp theo, chúng tôi cần kéo xuống gói Google Apps phù hợp khớp với phiên bản AVD Android của chúng tôi. Trong trường hợp này, chúng tôi sẽ sử dụng gói 'gapps-lp-20141109-signed.zip'. Bạn có thể tải xuống tệp đó từ BasketBuild tại đây .

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

Để cài đặt Google Play, chúng tôi sẽ cần đẩy 4 APK sau vào AVD của chúng tôi (nằm trong ./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 ./

Đẩy APK vào Trình mô phỏng

Với các APK của chúng tôi được trích xuất, hãy khởi chạy AVD của chúng tôi bằng lệnh sau.

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

Quá trình này có thể mất vài phút trong lần đầu tiên khi AVD được tạo. Sau khi bắt đầu, chúng ta cần phải gắn lại phân vùng hệ thống AVDs dưới dạng đọc / ghi để chúng ta có thể đẩy các gói của mình vào thiết bị.

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

Tiếp theo, đẩy các APK sang AVD của chúng tôi:

[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

Lợi nhuận!

Và cuối cùng, khởi động lại trình mô phỏng bằng các lệnh sau:

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

Sau khi trình mô phỏng khởi động lại, chúng ta sẽ thấy gói Google Play xuất hiện trong trình khởi chạy menu. Sau khi liên kết tài khoản Google với AVD này, giờ đây, chúng tôi có một phiên bản Google Play hoạt động đầy đủ đang chạy trong trình mô phỏng của chúng tôi.


29
Tôi nhận được lỗi "Hệ thống tệp ReadOnly" và không có tệp apk nào trong số đó được cài đặt.
wmac

6
Thật không may, BasketBuild dường như không còn nữa. s.basketbuild.com cho biết nó đã ngừng hoạt động ít nhất là từ ngày 9/3, không có ETA nào tăng lên. Có nguồn nào khác mà bạn đề xuất cho các ứng dụng của Google không?
Chad Schultz

1
Nếu bạn gặp lỗi "Hệ thống tệp chỉ đọc", hãy chạy lệnh: "adb remount". Sau đó, hãy thử lại lệnh "adb push ...".
Shangwu

4
Tất cả các liên kết được chết
Mooing Duck

1
bất cứ ai không thể có được gapps: f.lomakuit.com/download/gapps-lp-20141109-signed.zip
Manny265

51

Dưới đây là phương pháp phù hợp với tôi trên trình giả lập API 23-25 . Giải thích được cung cấp cho API 24 nhưng hoạt động gần như giống nhau đối với các phiên bản khác.

Tín dụng : Jon Doe , zaidorx , pjl .

Lời khuyên ấm áp dành cho độc giả: vui lòng chỉ qua các bước trước khi làm theo chúng, vì một số được tự động hóa thông qua các tập lệnh được cung cấp.


  1. Trong trình quản lý AVD của Android studio (được thử nghiệm trên v2.2.3), hãy tạo trình mô phỏng mới với mục tiêu "Android 7.0 (Google API)": Màn hình AVD sau khi tạo trình giả lập.

  2. Tải xuống gói Open GApps mới nhất cho kiến ​​trúc của trình giả lập (CPU / ABI). Trong trường hợp của tôi là như vậy x86_64, nhưng nó có thể là một cái gì đó khác tùy thuộc vào lựa chọn hình ảnh của bạn trong trình hướng dẫn tạo thiết bị. Điều thú vị là kiến ​​trúc có vẻ quan trọng hơn phiên bản Android chính xác (tức là gapps cho 6.0 cũng hoạt động trên trình giả lập 7.0).

  3. Giải nén các .apktệp bằng các đường dẫn sau (liên quan đến 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\

    Lưu ý rằng mở GApps sử dụng nén Lzip, mà có thể được mở bằng cách sử dụng công cụ tìm thấy trên trang web Lzip 1 , 2 , hoặc trên máy Mac sử dụng homebrew: brew install lzip. Sau đó, vd lzip -d gmscore-x86_64.tar.lz.

    Tôi đang cung cấp một tệp hàng loạt sử dụng 7z.exevà tự động lzip.exegiải nén tất cả các tệp được yêu cầu .apk(trên Windows):

    @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

    Để sử dụng điều này, hãy lưu tập lệnh vào một tệp (ví dụ unzip_gapps.bat) và đặt mọi thứ có liên quan vào một thư mục, như được minh họa bên dưới: Nó sẽ trông như thế nào ...

  4. Cập nhật sutệp nhị phân để có thể sửa đổi quyền của các tệp mà chúng tôi sẽ tải lên sau này. Một sutệp nhị phân mới có thể được tìm thấy trong gói SuperSU by Chainfire "Recoveryzip có thể chạy được " . Lấy zip, giải nén nó ở đâu đó, tạo một tệp loạt với nội dung sau trong cùng một thư mục và cuối cùng chạy nó:

    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 tất cả .apkcác tệp vào một thư mục và tạo một tệp hàng loạt với các nội dung sau 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

    Lưu ý rằng đường dẫn E:\...\android-sdk\tools\emulator.exephải được sửa đổi theo vị trí của Android SDK trên hệ thống của bạn.

  6. Thực thi tệp loạt ở trên (bảng điều khiển sẽ trông giống như sau):

    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. Khi trình giả lập tải - đóng nó, xóa Thiết bị ảo và sau đó tạo một thiết bị khác bằng cách sử dụng cùng một hình ảnh hệ thống . Điều này khắc phục sự cố ứng dụng Cửa hàng Play không phản hồi, "Dịch vụ của Google Play đã dừng" và các sự cố tương tự. Nó hoạt động vì trong các bước trước đó, chúng tôi đã thực sự sửa đổi chính hình ảnh hệ thống (hãy xem Ngày sửa đổi trên android-sdk\system-images\android-24\google_apis\x86_64\system.img). Điều này có nghĩa là mọi thiết bị được tạo từ bây giờ với hình ảnh hệ thống sẽ được cài đặt gapps!

  8. Khởi động AVD mới. Nếu quá trình tải mất nhiều thời gian bất thường, hãy đóng nó và thay vào đó khởi động nó bằng cách sử dụng:

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

    Sau khi AVD khởi động, bạn sẽ thấy hình ảnh bên dưới - hãy để ý biểu tượng Cửa hàng Play ở góc!

Khởi động lần đầu khi cài đặt Cửa hàng Play.


3 - Tôi không chắc tất cả các lệnh này là cần thiết, và có lẽ một số lệnh trong số đó là quá mức cần thiết ... nó có vẻ hoạt động - đó là những gì quan trọng. :)


2
Thay vì các tệp .xz, Open Gapps dường như chứa các tệp .lz (như gsfcore-all.tar.lz). Tôi đã thử nhiều công cụ, không có công cụ nào trong số đó có thể giải nén tệp .lz để tôi có thể tải xuống APK. Bất kỳ đề xuất?
Chad Schultz

2
@Chad Schultz đây là liên kết cho công cụ download.savannah.gnu.org/releases/lzip nếu bạn đang sử dụng Windows tải xuống "lzip-1.11-w32.zip" và sử dụng lệnh sau để chuyển đổi nó thành tệp .tar và sử dụng một tệp khác công cụ cuối cùng để giải nén nó.
f4b

1
@ Dev-iL PlayStore được cài đặt trên trình giả lập của tôi, nhưng nó không mở. Tôi đang sử dụng Hình ảnh hệ thống x86_64 API 23 của Nexus 5. Bạn có suy nghĩ gì không?
ARK

3
Điều này phù hợp với tôi trên trình giả lập 25 / 7.1 mới nhất. Điều kỳ lạ duy nhất là nó /system/app/SdkSetup.apkkhông tồn tại trong hình ảnh của tôi. Cảm ơn rất nhiều, tôi đã phát điên khi cố gắng giải quyết vấn đề này!
wilsonpage

1
Làm thế nào để bạn chính xác "tạo một cái khác bằng cách sử dụng cùng một hình ảnh hệ thống"?
gavsiu 14/02/17

42

Giờ đây, không cần phải tải bất kỳ gói nào thực thi bất kỳ tập lệnh nào để đưa Cửa hàng Play vào trình giả lập. Bắt đầu từ Android Studio 2.4, bây giờ bạn có thể tạo AVD đã được cài đặt sẵn Cửa hàng Play trên đó. Hiện tại, nó chỉ được hỗ trợ trên các AVDs chạy Android 7.0 (API 24) hình ảnh hệ thống.

Nguồn chính thức

AVD với Cửa hàng Play

Lưu ý: Các thiết bị tương thích được biểu thị bằng cột Cửa hàng Play mới.


6
Lưu ý: bạn cần cài đặt hình ảnh hệ thống có nội dung Target:, Android 7.0 (Google Play)không chỉ Google API. Hiện tại, nó chỉ có sẵn cho API 24, không phải API 25. Sau khi bạn cài đặt hình ảnh hệ thống, nó sẽ xuất hiện trong tab Được đề xuất, không phải tab Hình ảnh x86.
antoine

2
Android Studio 2.3.3 trên Linux hiện hỗ trợ AVD của Cửa hàng Play - nhưng cũng cần lưu ý rằng Cửa hàng Play dường như chỉ khả dụng trên các mục tiêu x86 hiện tại, vì vậy bạn vẫn cần sử dụng phương pháp khác nếu muốn tải Play Lưu trữ trên ARM AVD.
NullColaShip

Hiện nay có còn hình ảnh cho API 25, 26 và 27 ngoài 24.
arekolek

25

Muốn nhận xét về câu trả lời cuối cùng, nhưng không cần đăng nhập, bạn chỉ có thể đưa ra câu trả lời:

Để thoát khỏi "lỗi chỉ đọc", chỉ cần dừng thiết bị ngay sau khi nó sẵn sàng. Tập lệnh của tôi trông như sau:

#!/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
Cái này giúp tôi giải quyết lỗi hệ thống tệp chỉ đọc. vì tôi đang làm việc trong windows nên tôi chỉ bỏ qua dòng đầu tiên của tập lệnh và thay thế dòng thứ hai bằng "START / B / tools / emulator @ Nexus_6P_API_23 -no-boot-anim" này, lưu nó bằng phần mở rộng .bat và chạy nó từ dòng lệnh.
zaidorx

1
Đây là tuyệt vời, tôi chỉ lấy ra hai dòng đầu tiên và đưa ra các giả lập một mình và sau đó chạy file BAT ... làm việc như một nét duyên dáng
Im Rick James

đặt adb root tại beggining nếu bạn có adb shell stop stop: phải là lỗi root.
nutella_eater

adb rootdòng phải được thêm ngay sau adb wait-for-devicedòng để tránh Read-only file systemlỗi.
efkan

1
Điều này làm việc một lần tôi đã thêm -writable-hệ thống để lệnh giả lập của tôi như thế này, ~ / android-sdk / tools / emulator @ Nexus_5X_API_23 -no-boot-anim -writable-system
reassembler

2

Đây là tập lệnh tôi đã sử dụng trên linux cho phiên bản Nexus 5 API 24 x86 KHÔNG CÓ 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

Điều này đã làm điều đó cho tôi.

QUAN TRỌNG: để ngăn ứng dụng gặp sự cố, hãy nhớ cấp quyền vị trí cho các dịch vụ của google play.

Cấu hình-> Ứng dụng-> Cấu hình (Biểu tượng bánh răng) -> Quyền ứng dụng-> Vị trí -> (Trên cùng bên phải) -> Hiển thị hệ thống-> Bật các dịch vụ của Google Play


2

Tới http://opengapps.org/ và tải phiên bản pico của nền tảng và phiên bản Android. Giải nén thư mục đã tải xuống để lấy
1. GmsCore.apk
2. GoogleServicesFramework.apk
3. GoogleLoginService.apk
4. Phonesky.apk

Sau đó, xác định vị trí emulator.exe của bạn. Bạn có thể sẽ tìm thấy nó trong
C: \ Users \ <YOUR_USER_NAME> \ AppData \ Local \ Android \ sdk \ tools

Chạy lệnh:
emulator -avd <YOUR_EMULATOR'S_NAME> -netdelay none -netspeed full -no-boot-anim -wosystem-system

Lưu ý: Sử dụng -wead-system để khởi động trình mô phỏng của bạn với hình ảnh hệ thống có thể ghi.

Sau đó,
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

Sau đó, khởi động lại trình giả lập
adb shell dừng
adb shell start

Để xác minh chạy,
adb shell pm danh sách các gói và bạn sẽ tìm thấy gói com.google.android.gms cho google


2

Việc bạn cần làm là cập nhật config.initập tin cho thiết bị và tải lại ảnh hệ thống.

Cập nhật các giá trị sau trong C:\Users\USER\.android\avd\DEVICE_ID\config.ini(trên Windows) hoặc ~/.android/avd/DEVICE_ID/config.ini(trên Linux)

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

Sau đó, tải xuống lại hình ảnh hệ thống cho thiết bị từ Android Studio> Công cụ> Trình quản lý AVD

Đó là tất cả. Khởi động lại thiết bị của bạn và bạn sẽ cài đặt Cửa hàng Play.

Điều này cũng đã được giải đáp tại đây: Làm thế nào để cài đặt ứng dụng Google Play trong trình giả lập Android Studio?


2

Giải quyết một cách dễ dàng: Bạn nên tạo một trình giả lập mới, trước khi mở nó lần đầu tiên, hãy làm theo 3 bước đơn giản sau:

1- chuyển đến "C: \ Users [người dùng] .android \ avd [thư mục thiết bị ảo của bạn]" mở "config.ini" bằng trình soạn thảo văn bản như notepad

2- thay đổi

"PlayStore.enabled = false" thành "PlayStore.enabled = true"

3- thay đổi

"mage.sysdir.1 = system-images \ android-30 \ google_apis \ x86"

đến

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


1

Hiện tại, Cài đặt apks vào /systemthư mục dường như đang hoạt động bằng cách sử dụngadb push lệnh.

Một số dịch vụ ẩn đã tự động đếm lại /systemthư mục trongread-only chế độ.

Bất kỳ cách nào tôi đều có thể cài đặt Cửa hàng Play trong một máy ảo thông thường (tức là máy ảo không phải của Google-Api) bằng cách chỉ cần gắn system.imgtệp từ hệ điều hành của tôi và bằng cách sao chép tệp.

# 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

Các tệp APK có thể được lấy từ bất kỳ thiết bị Android thực nào chạy Google Apps bằng cách sử dụng adb pull lệnh

[Để có được đường dẫn chính xác của apks, chúng ta có thể sử dụng lệnh pm list packages -fbên trong adb shell]


Tôi không tin rằng có một số dịch vụ "bí ẩn" đang chạy .. đúng hơn, có một lỗi trong trình giả lập (hoặc hình ảnh hệ thống) dường như đã được sửa, cho phép một số bản sao của apks tồn tại trong /systemthư mục. Tôi nhận thấy rằng việc đẩy từng apks vào đúng thư mục không dẫn đến lỗi ghi. Tôi đã cập nhật câu trả lời của mình - bạn có thể thử xem nó có phù hợp với bạn không?
Dev-iL,

Tôi đang gặp phải vấn đề tương tự, không thể vượt qua hệ thống tệp chỉ đọc khi đẩy apks, tôi nghĩ cách duy nhất là chỉnh sửa hình ảnh hệ thống android giả lập, và sau đó làm thế nào để chỉnh sửa hình ảnh android từ windows 8, cảm ơn bạn. Tôi cần cài đặt dịch vụ google play mới nhất và trò chơi google play trên trình giả lập android 6.0.
noname.cs

2
Tôi đã cài đặt linux và sao chép apks vào hệ thống 6.0 system.img bằng google apis, nhưng khi tôi tạo một trình giả lập mới, nó không có dịch vụ google play hoặc google play store. Tôi sẽ thử lại với rom không phải google apis.
noname.cs

0

Chỉ muốn thêm một giải pháp khác cho người dùng React Native chỉ cần ứng dụng Expo.

  1. Cài đặt ứng dụng Expo
  2. Mở dự án của bạn
  3. Nhấp vào Thiết bị -> Mở trên Android - Trong giai đoạn này, Expo sẽ cài đặt ứng dụng android triển lãm và bạn sẽ có thể mở nó.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.