[Android] 안드로이드 에뮬레이터(AVD)에 Google Play 앱이 없을 경우 해결 방법 / Google APIs, Google Play 차이점
문제상황 & 해결 요약
- 안드로이드 에뮬레이터에 Google Play 앱이 존재하지 않아 추가 앱을 설치할 수가 없음
- 안드로이드 에뮬레이터 [Settings > Language & Input] 에서 '한국어'를 추가했음에도 가상 키보드에 영어 자판만 표시됨. 한국어 키보드로 변경할 수가 없음.
안드로이드 에뮬레이터(AVD)가 Google Play를 지원하는 시스템 이미지로 설정되어 있지 않기 때문에 일어나는 현상이다. AVD 설정에서 Google Play로 변경하거나 Google Play를 지원하는 새로운 AVD를 생성하면 Google Play앱을 사용하여 새로운 앱을 설치하거나, 가상 키보드를 한국어 자판으로 변경할 수 있다.
SDK Manager
1. 안드로이드 스튜디오 우측 상단 [SDK Manager] 클릭
2. [SDK Platforms] 탭 > 'Show Package Details' 체크
3. SDK 버전 패키지 별 구성요소가 표시된다. 자신이 사용중인 SDK의 'Google Play Intel x86 Atom System Image'에 체크한 뒤 [Apply] 클릭
4. [OK]
5. [Finish]
AVD Manager
1. 안드로이드 프로젝트 우측 상단의 [AVD Manager] 클릭
2. [+ Create Virtual Device]
3. 하드웨어 선택
'Play Store' 항목에 Play Store 로고가 표시된 것을 선택한다. (ex: Pixel 2) > [Next]
4. 시스템 이미지 선택
'Taget' 항목이 (Google Play)인 것을 선택한다. > [Next]
5. [Recommended] 탭에는 Taget 항목이 전부 'Google Play'인 것들만 있지만, [x86 Images] 탭을 클릭하면 버전별로 Target 항목이 'Google APIs' 인 시스템 이미지, 'Google Play'인 시스템 이미지가 따로 존재한다.
Target | 설명 |
Android xx.x Google APIs | Google Play Services 액세스 권한 부여 |
Android xx. x Google Play | Google Play Services 액세스 권한 부여 Google Play Store 앱 기본 설치 Extended controls 창에 Google Play 탭 포함 (AVD 내에서 Google Play Services 간편 업데이트 가능) 키로 서명되어 있어 root 권한 얻는 데 사용 불가능 |
Android xx.x | Android Open Source Project(AOSP) root권한 얻는 데 사용 가능 |
*Google Play Services : Android 기기용 백그라운드 서비스. 앱 개발을 도와주는 SDK를 제공한다.
*Extended controls : 안드로이드 에뮬레이터 우측 도구 메뉴에서 맨 하단 [...] 버튼을 클릭하면 나오는 AVD 설정 창
6. 그대로 AVD를 생성하면 'Play Store' 컬럼에 Play Store 로고가 표시된 AVD가 생성될 것이고, 이것을 실행하면 Google PlayStore 앱이 기본으로 설치되어 있는 걸 볼 수 있다.
7. 만약 Taget이 'Google APIs'인 AVD를 이전에 생성한 상태라면, [Edit] 창에서 기기, 시스템 이미지를 [Change] 하여 Taget이 'Google Play'인 AVD로 변경할 수 있다.
Taget에 따른 AVD 화면 차이
[Taget : Google Play]
[Taget : Google APIs]
참고자료
- Google Play Services Overview, https://developers.google.com/android/guides/overview?hl=ko
- Android Developers AVD, https://developer.android.com/studio/run/managing-avds?hl=ko