개발환경

M1 맥에서 안드로이드 앱 돌리기 — 녹스·블루스택 대신 AVD

M1 맥에서 안드로이드 앱 돌리기 — 녹스·블루스택 대신 AVD

Apple Silicon(M1·M2·M3) 맥에서는 녹스나 블루스택 같은 안드로이드 에뮬레이터가
제대로 안 돈다. x86 을 전제로 만들어진 프로그램이라 그렇다.

대안은 안드로이드 스튜디오가 앱 테스트용으로 쓰는 AVD(Android Virtual
Device)다. 개발용 도구지만 그냥 안드로이드를 띄우는 용도로 써도 된다.

참고

안드로이드 스튜디오를 깔다 보면 Java 가 없다는 말을 먼저 만날 수 있다.
그건 맥 개발 환경에서 자주 만나는 문제들에 정리해 두었다.

참고

지금은 안드로이드 스튜디오가 arm64 를 정식 지원하므로, 스튜디오를 깔고 그
안에서 AVD 를 만드는 것이 가장 간단하다.
아래 방법은 스튜디오 없이 에뮬레이터만
쓰고 싶을 때의 경로다. 개발자가 아니라면 이쪽이 가볍다.

준비물#

  • Apple Silicon 맥
  • 저장 공간 여유 (시스템 이미지가 몇 GB)

1. 에뮬레이터 받기#

구글이 M1 용으로 낸 미리보기 빌드를 받는다.

github.com/google/android-emulator-m1-preview/releases

주의

받고 나서 바로 실행하지 않는다. 이 빌드에 포함된 시스템 이미지에는
플레이스토어가 없다. 먼저 실행해 버리면 스토어 없는 상태로 초기화되므로,
다음 단계를 먼저 한다.

2. 플레이스토어가 있는 이미지로 바꾸기#

플레이스토어를 쓰려면 Google Play 가 포함된 시스템 이미지로 덮어써야 한다.
그 이미지는 안드로이드 스튜디오 쪽에 들어 있다.

  1. 안드로이드 스튜디오를 설치한다
  2. SDK Manager → SDK Platforms → Show Package Details 를 연다
  3. 원하는 API 레벨에서 Google Play ARM 64 v8a System Image 를 고른다 — 이름에 Google Play 가 들어간 것이어야 스토어가 들어 있다
  4. 받은 이미지를 1단계 에뮬레이터의 시스템 이미지 자리에 덮어쓴다

참고

Google APIs 와 Google Play 는 다르다. 앞은 구글 서비스만, 뒤는
플레이스토어까지 포함한다. 스토어에서 앱을 받으려면 Google Play 가 붙은
것을 골라야 한다.

3. 실행#

에뮬레이터를 실행하면 안드로이드가 뜬다. 구글 계정으로 로그인하면 플레이스토어를
쓸 수 있다.

팁

스튜디오를 깔았다면 AVD Manager 에서 기기를 만들어 쓰는 쪽이 편하다.
해상도·RAM·저장 공간을 화면에서 조절할 수 있고, 기기를 여러 개 만들어 두고
골라 띄울 수 있다. 위 1~2단계는 스튜디오를 안 쓰고 싶을 때의 방법이다.

잘 안 될 때#

증상 볼 곳
플레이스토어가 없다 시스템 이미지가 Google APIs 다. Google Play 로 바꾼다
실행하자마자 꺼진다 시스템 이미지가 arm64 가 맞는지 확인 (x86 은 안 된다)
너무 느리다 RAM 할당을 올린다. 다른 무거운 앱을 끈다
스토어 로그인이 안 된다 이미지가 Play 인증을 안 받은 빌드일 수 있다

주의

미리보기 빌드라 깨지는 지점이 있다. 원문 릴리스 노트에도 WebView 등
알려진 문제가 적혀 있다. 일상적으로 계속 쓸 거라면 안드로이드 스튜디오의
정식 AVD
쪽이 안정적이다.

정리#

  • M1 맥에서 녹스·블루스택은 기대하지 않는다. x86 전제라 안 돈다.
  • AVD 가 대안이다. 개발용 도구지만 그냥 안드로이드를 띄우는 데 써도 된다.
  • Google APIs 가 아니라 Google Play 이미지를 골라야 플레이스토어가 있다.
  • arm64 이미지인지 확인한다. x86 이미지를 고르면 실행되지 않는다.
  • 지금은 안드로이드 스튜디오를 깔고 AVD 를 만드는 것이 가장 간단하다. 미리보기 빌드는 스튜디오를 피하고 싶을 때의 우회로다.
공유
욱콩

욱콩

서버와 배포를 만지면서 겪은 것을 기록합니다. 직접 돌려 보고 나온 결과만 씁니다.

댓글

댓글 남기기