Android Studio 에뮬레이터는 API 23 용 Play 스토어와 함께 제공되지 않습니다.


92

최신 버전의 Android Studio AVD에서이 에뮬레이터를 선택했습니다.

Google API

Android API 23의 최신 버전을 선택했습니다. "with Google APIs"라고되어 있기 때문에 실제로 Facebook과 같은 앱을 설치할 수 있도록 Play Store를 포함한 모든 Google 앱을 포함 할 것이라고 생각했습니다.

나는 지금 구식 인 것처럼 보이는 다른 스레드를 보았습니다 ( Android Studio 에뮬레이터에 Google Play 앱을 설치하는 방법? ), 이것은 범용 패키지를 기반으로 Google 앱을 설치하는 지침을 제공하지만 Android 4.3 API 18까지만 올라갑니다. http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2

API 23 용으로 만들고 싶습니다. 에뮬레이터에 Google Apps 패키지를 설치하는 방법이 있습니까?

공식 안드로이드 에뮬레이터가 처음에 모든 구글 앱에 표준으로 제공되지 않는다는 것이 이상해 보입니다 ... 이것은 구글을별로 지원하지 않는 것 같고 잠재적으로 개발자가 API 23 용으로 개발하기 위해 실제 장치를 구입해야한다는 것을 의미합니다. ?


감사합니다 Ms Yvette. 나는 안드로이드 커뮤니티를 위해이 질문에 대한 답을 얻는 것이 중요하다고 생각합니다. 실제 안드로이드 장치에 대한 액세스 권한이없는 많은 안드로이드 개발자가 있으며 모든 도구에 대한 액세스 권한이 부여되지 않은 경우 어떻게 안드로이드 용 개발자가 될지 궁금합니다.
Simon

1
위에서 언급 할만한 충분한 신용이 없습니다. Re : 읽기 전용 / system 파티션, emulator.exe를 호출 할 때 "-writable-system"인수를 전달해야합니다. 예 : START / B emulator.exe @ Nexus_7-2012_API_22 -no-boot-anim -writable-system
pjl

@pjl-이 의견에 감사드립니다! 나는 그것을 내 대답에 추가했습니다.
Dev-iL

Google은 에뮬레이터에 Play 스토어 지원을 추가하기 위해 노력하고 있다고 말합니다. 한편, 선택할 수있는 몇 가지 해결 방법이 있습니다. Amazon Appstore를 사용하는 것이 하나의 옵션이지만 유일한 옵션은 아닙니다. 를 참조하십시오 여기 .
unforgettableidSupportsMonica

답변:


56

최근에 API 23 에뮬레이터에서이 작업을 수행해야했으며이 가이드를 따랐습니다 . API 23 에뮬레이터에서 작동하므로 문제가 없어야합니다.

참고 : 모든 크레딧은 링크 된 블로그 게시물 (pyoor)의 작성자에게 있습니다. 어떤 이유로 든 링크가 끊어지는 경우를 대비하여 여기에 게시하고 있습니다.

....

GAPPS 패키지 다운로드

다음으로 Android AVD 버전과 일치하는 적절한 Google Apps 패키지를 가져와야합니다. 이 경우 'gapps-lp-20141109-signed.zip'패키지를 사용합니다. 여기 BasketBuild 에서 해당 파일을 다운로드 할 수 있습니다 .

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

Google Play를 설치하려면 다음 4 개의 APK를 AVD (./ 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 ./

에뮬레이터에 APK 푸시

APK를 추출한 후 다음 명령을 사용하여 AVD를 시작하겠습니다.

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

AVD가 생성 될 때 처음에는 몇 분 정도 걸릴 수 있습니다. 시작되면 패키지를 장치에 푸시 할 수 있도록 AVD 시스템 파티션을 읽기 / 쓰기로 다시 마운트해야합니다.

[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 패키지가 표시됩니다. Google 계정을이 AVD와 연결하면 이제 에뮬레이터에서 완전히 작동하는 Google Play 버전이 실행됩니다.


29
"ReadOnly 파일 시스템"오류가 발생하고 해당 apk 파일이 설치되어 있지 않습니다.
wmac

6
불행히도 BasketBuild는 더 이상 사용할 수없는 것 같습니다. s.basketbuild.com 은 최소 9/3 이후로 다운되었으며 ETA가 올라갈 필요가 없음을 나타냅니다. Google 앱에 추천하는 다른 소스가 있습니까?
Chad Schultz

1
"읽기 전용 파일 시스템"오류가 발생하면 "adb remount"명령을 실행하십시오. 그런 다음 "adb push ..."명령을 다시 시도하십시오.
Shangwu

4
모든 링크가 죽었
오리 음매


53

아래는 API 23-25 에뮬레이터 에서 나를 위해 일한 방법입니다 . API 24에 대한 설명이 제공되지만 다른 버전에서도 거의 동일하게 작동합니다.

크레딧 : Jon Doe , zaidorx , pjl .

독자를위한 따뜻한 조언 : 일부는 제공된 스크립트를 통해 자동화되므로 단계를 따르기 전에 단계를 살펴 보시기 바랍니다.


  1. Android 스튜디오의 AVD 관리자 (v2.2.3에서 테스트 됨)에서 'Android 7.0 (Google API)'대상으로 새 에뮬레이터를 만듭니다. 에뮬레이터를 만든 후 AVD 화면.

  2. 에뮬레이터 아키텍처 (CPU / ABI) 용 최신 Open GApps 패키지를 다운로드합니다 . 제 경우에는 x86_64였지만 장치 생성 마법사 중에 선택한 이미지에 따라 다른 것일 수 있습니다. 흥미롭게도 아키텍처는 올바른 Android 버전보다 더 중요해 보입니다 (즉, 6.0의 간격은 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\
    

    Open GApp은 Lzip 웹 사이트 1 , 2 에있는 도구를 사용하여 열 수있는 Lzip 압축을 사용하거나 homebrew :를 사용하여 Mac 에서 열 수 있습니다 brew install lzip. 그런 다음 예를 들어 lzip -d gmscore-x86_64.tar.lz.

    필요한 모든 항목을 자동으로 사용 7z.exe하고 lzip.exe추출 하는 배치 파일을 제공하고 있습니다 .apk(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
    

    이를 사용하려면 스크립트를 파일 (예 :)에 저장하고 unzip_gapps.bat아래에 설명 된대로 관련된 모든 항목을 하나의 폴더에 넣습니다. 어떻게 생겼는지 ...

  4. su나중에 업로드 할 파일의 권한을 수정할 수 있도록 바이너리를 업데이트하십시오 . 새로운 su바이너리는 SuperSU by Chainfire 패키지 "Recovery flashable"zip 에서 찾을 수 있습니다 . 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시스템에서 Android SDK의 위치에 따라 경로 를 수정해야합니다 .

  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 스토어 앱, 'Google Play 서비스가 중지되었습니다'및 이와 유사한 문제가 해결됩니다. 이전 단계에서 우리가 실제로 있기 때문에 그것은 작동 시스템 이미지 자체를 수정 합니다 (한 번 봐 걸릴 수정 날짜 에를 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 스토어 아이콘을 확인하세요.

Play 스토어가 설치된 첫 번째 부팅.


3- 이 모든 명령이 필요한지 확신 할 수 없으며 일부 명령은 과도합니다. 작동하는 것 같습니다. 그게 중요합니다. :)


2
.xz 파일 대신 Open Gapps에 .lz 파일 (예 : gsfcore-all.tar.lz)이 포함 된 것 같습니다. 나는 여러 도구를 시도했지만, 어느 것도 .lz 파일의 압축을 풀 수 없으므로 APK를 얻을 수 있습니다. 어떤 제안?
Chad Schultz 2016 년

2
@Chad Schultz 는 Windows에서 "lzip-1.11-w32.zip"을 다운로드하고 다음 명령을 사용하여 .tar 파일로 변환하고 다른 파일을 사용하는 경우 download.savannah.gnu.org/releases/lzip 도구에 대한 링크입니다. 마지막으로 추출하는 도구입니다.
f4b

1
@ Dev-iL PlayStore가 내 에뮬레이터에 설치되지만 열리지 않습니다. Nexus 5의 x86_64 API 23 시스템 이미지를 사용하고 있습니다.
ARK

3
이것은 최신 25 / 7.1 에뮬레이터에서 저에게 효과적이었습니다. 이상한 점 /system/app/SdkSetup.apk은 내 이미지에 존재하지 않는 것뿐이었습니다 . 고마워요,이 문제를 해결하려고 미쳐 가고있었습니다!
wilsonpage

1
정확히 "동일한 시스템 이미지를 사용하여 다른 이미지를 생성"하는 방법은 무엇입니까?
gavsiu

43

이제 에뮬레이터에서 Play 스토어를 가져 오기 위해 스크립트를 실행하는 패키지를 사이드로드 할 필요가 없습니다. 이제 Android Studio 2.4부터 Play 스토어가 사전 설치된 AVD를 만들 수 있습니다. 현재 Android 7.0 (API 24) 시스템 이미지를 실행하는 AVD에서만 지원됩니다.

공식 출처

Play 스토어를 통한 AVD

참고 : 호환되는 기기는 새로운 Play 스토어 열로 표시됩니다.


7
참고 : Android 7.0 (Google Play)Google API뿐만 아니라 Target :이라는 시스템 이미지를 설치해야합니다 . 현재는 API 25가 아닌 API 24에서만 사용할 수 있습니다. 시스템 이미지를 설치하면 x86 이미지 탭이 아닌 권장 탭 아래에 표시됩니다.
antoine

2
Linux의 Android Studio 2.3.3은 이제 Play Store AVD를 지원하지만 현재 Play Store는 x86 대상에서만 사용할 수있는 것으로 보이므로 Play를 얻으려면 다른 방법을 사용해야합니다. ARM AVD에 저장합니다.
NullColaShip

이제 24 외에 API 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
이것은 읽기 전용 파일 시스템 오류를 해결하는 데 도움이됩니다. Windows에서 작업하고 있으므로 스크립트의 첫 번째 줄을 무시하고 두 번째 줄을 "START / B / tools / emulator @ Nexus_6P_API_23 -no-boot-anim"으로 바꾸고 .bat 확장자로 저장하고 실행합니다. 명령 줄에서.
zaidorx

1
이 굉장, 난 그냥 처음 두 행을 제거하고 내 자신에 에뮬레이터를 시작하고 마법처럼 일했다 ... 박쥐 파일을 실행
임 릭 제임스

adb shell stop stop : must be root error가있는 경우 시작 부분에 adb 루트를 넣으십시오.
nutella_eater

adb root오류 adb wait-for-device를 방지하려면 줄 바로 뒤에 줄을 추가해야합니다 Read-only file system.
efkan

1
다음과 같이 에뮬레이터 명령에 -writable-system을 추가하면 작동합니다. ~ / android-sdk / tools / emulator @ Nexus_5X_API_23 -no-boot-anim -writable-system
reassembler

3

해야 할 일은 config.ini장치 의 파일을 업데이트 하고 시스템 이미지를 다시 다운로드하는 것입니다.

C:\Users\USER\.android\avd\DEVICE_ID\config.ini(Windows) 또는 ~/.android/avd/DEVICE_ID/config.ini(Linux) 에서 다음 값을 업데이트하십시오.

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

그런 다음 Android 스튜디오> 도구> AVD 관리자 에서 기기의 시스템 이미지를 다시 다운로드합니다.

그게 다입니다. 기기를 다시 시작하면 Play 스토어가 설치됩니다.

이것은 또한 여기에서 답변되었습니다 : Android Studio 에뮬레이터에 Google Play 앱을 설치하는 방법?


3

쉬운 방법으로 해결 : 처음으로 열기 전에 새 에뮬레이터를 만들어야합니다. 다음 3 단계를 따르세요.

1- "C : \ Users [user] .android \ avd [your virtual device folder] "로 이동 하여 메모장과 같은 텍스트 편집기로 "config.ini" 를 엽니 다.

2- 변경

"PlayStore.enabled = false" - "PlayStore.enabled = true"

3- 변경

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

...에

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


이 작업을 수행했고 에뮬레이터가 다시 부팅되지 않았습니다. (
happy_san

실제로 이것은 google_apis_playstore이미지가 있으면 직접 작동 했지만 제 경우에는 그렇지 않았습니다. 그래서 @Aamnah의 답변에 따라 설치해야했습니다 .
happy_san

@happy_san 첫 번째 줄에서 새 에뮬레이터를 만들어야한다고 언급했습니다. 처음으로 열기 전에 내가 말한대로해야합니다.
Sharif Yazdian

네, 먼저 에뮬레이터를 만들었고 Android Studio에서 Google Play 아이콘이있는 것도 만들었습니다. 근데 그 google_apis_playstore이유와 함께 이미지를 다운받지 못했습니다 ..
happy_san

2

다음은 Linux에서 GoogleApis 없이 Nexus 5 API 24 x86 인스턴스를 위해 사용한 스크립트 입니다.

#!/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/로 이동 하여 플랫폼 및 Android 버전의 pico 버전을 다운로드하십시오. 다운로드 한 폴더의 압축을
풀면 1. GmsCore.apk
2. GoogleServicesFramework.apk
3. GoogleLoginService.apk
4. Phonesky.apk

그런 다음 emulator.exe를 찾습니다. 아마도
C : \ Users \ <YOUR_USER_NAME> \ AppData \ Local \ Android \ sdk \ tools에서 찾을 수 있습니다.

다음 명령을 실행하십시오.
emulator -avd <YOUR_EMULATOR'S_NAME> -netdelay none -netspeed full -no-boot-anim -writable-system

노트 : 쓰기 가능한 시스템 이미지로 에뮬레이터를 시작하려면 -writable-system을 사용하십시오.

그런 다음
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

그런 다음 에뮬레이터를 재부팅합니다.
adb shell stop
adb shell start

실행을 확인하기 위해
adb shell pm 목록 패키지 를 찾으면 com.google.android.gms package for google


1

현재로서는 /system디렉토리에 apk를 설치하는 것이 다음을 사용하여 작동하는 것 같습니다.adb push 명령을 .

일부 숨겨진 서비스가 /system디렉토리를 자동으로 다시 마운트 했습니다.read-only 모드 .

어떤 식 으로든 system.img내 OS 에서 파일을 마운트하고 파일을 복사 하여 일반 가상 머신 (즉, Google-Api가 아닌 가상 머신)에 Play 스토어를 설치할 수있었습니다 .

# 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 파일은 다음을 사용하여 Google Apps를 실행하는 실제 Android 기기에서 가져올 수 있습니다. adb pull 명령

[apk의 정확한 경로를 얻으려면 pm list packages -fadb 셸 내부에서 명령을 사용할 수 있습니다 .]


나는 "신비한"서비스가 실행되고 있다고 확신하지 않는다. 오히려 에뮬레이터 (또는 시스템 이미지)에 수정 된 것처럼 보이는 버그가 있었기 때문에 apks의 여러 복사본 이 /system디렉토리 에 존재할 수 있었다 . 각 apks를 올바른 폴더로 푸시 해도 쓰기 오류가 발생하지 않는 것으로 나타났습니다 . 내 답변을 업데이트했습니다. 지금 작동하는지 시도해 주시겠습니까?
Dev-iL

나는 같은 문제에 직면하고 있으며 apk를 푸시 할 때 읽기 전용 파일 시스템을 전달할 수 없었습니다. 유일한 방법은 에뮬레이터 안드로이드 시스템 이미지를 편집 한 다음 Windows 8에서 안드로이드 이미지를 편집하는 방법이라고 생각합니다. 감사합니다. Android 6.0 에뮬레이터에 최신 Google Play 서비스와 Google Play 게임을 설치해야합니다.
noname.cs

2
Linux를 설치하고 Google API를 사용하여 6.0 system.img에 apk를 복사했지만 새 에뮬레이터를 만들 때 Google Play 서비스 또는 Google Play 스토어가 없었습니다. 비 Google API 롬으로 다시 시도합니다.
noname.cs

0

Expo 앱만 필요한 React Native 사용자를위한 또 다른 솔루션을 추가하고 싶습니다.

  1. Expo 앱 설치
  2. 프로젝트 열기
  3. 장치-> Android에서 열기를 클릭합니다.이 단계에서 Expo는 expo Android 앱을 설치하고 열 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.