콘텐츠로 이동

브라우저에서 부드럽게 동작하는 Android 에뮬레이터.

명령어 하나로 설치합니다. Android Studio는 필요 없습니다.

홈 화면
라이브 데모

브라우저 탭 안의 내 에뮬레이터

화면을 고르거나 옆으로 스와이프해 보세요. 내 Mac에서는 모든 클릭과 드래그가 실제 에뮬레이터로 전달됩니다.

작동 방식

세 개의 프로그램, 모두 내 Mac에서

게이트웨이는 gRPC와 공유 메모리를 통해 공식 Android 에뮬레이터에서 프레임을 읽고, 127.0.0.1의 WebSocket으로 페이지에 보냅니다. 탭, 스와이프, 키 입력은 같은 경로로 되돌아갑니다.

  • 브라우저Chrome 또는 Edge 탭
  • 게이트웨이127.0.0.1의 android-emu-web
  • 에뮬레이터공식 Android 에뮬레이터
  • 화면 프레임: 공유 메모리로 원본 RGBA, 이어서 WebSocket
  • 탭, 스와이프, 키 입력: WebSocket, 이어서 gRPC
프레임 레이트 중앙값
60fps
탭 지연 p50
20ms
탭 지연 p90
30ms

M4 Mac에서 Pixel 5 API 34 가상 기기(1080×2340), Chrome 157, rgba-mmap 프레임 전송, 연속 스와이프 16회와 탭 30회로 측정했습니다. 수치는 사용하는 Mac, 기기, 브라우저에 따라 달라집니다. 측정된 성능

기능

에뮬레이터 창에서 쓰던 모든 것

사용하는 이유

직접 확인할 수 있는 사실

  1. 127.0.0.1

    프레임은 내 Mac에 머뭅니다

    게이트웨이는 루프백에서만 수신합니다. 다른 컴퓨터는 게이트웨이에 접근할 수 없으며, 어떤 프레임도 인터넷을 거치지 않습니다.

    보안
  2. SDK

    공식 Android 에뮬레이터

    Android SDK에 포함된 Google의 에뮬레이터와 시스템 이미지, 즉 Android Studio가 사용하는 것과 같은 것을 실행합니다. 이미 SDK가 있다면 게이트웨이가 그것을 사용합니다.

    요구 사항
  3. 1.24×

    scrcpy에 가까운 CPU 사용량

    M4 Mac(Pixel 5 API 34 가상 기기, 1080×2340, Chrome 157, rgba-mmap 전송)에서 연속 스와이프 16회 동안 에뮬레이터, 게이트웨이, Chrome을 합쳐 CPU 257%를 사용했습니다. 같은 에뮬레이터로 같은 방식으로 측정한 scrcpy는 208%를 사용했습니다.

    측정된 성능
  4. MIT

    오픈 소스

    게이트웨이와 페이지의 모든 코드가 MIT 라이선스로 GitHub에 공개되어 있습니다.

    github.com/twosugar/android-emu-web
비교

에뮬레이터를 보는 다른 방법과의 차이

직접 확인할 수 있는 차이만 적었습니다. 각 도구는 만들어진 목적에 맞게 잘 동작합니다.

질문android-emu-webAndroid Studio 에뮬레이터scrcpy클라우드 에뮬레이터(예: Appetize)
Android가 실행되는 곳내 Mac의 공식 에뮬레이터내 Mac의 공식 에뮬레이터연결한 기기 또는 에뮬레이터업체의 서버
화면을 보는 곳Chrome 또는 Edge 탭Android Studio의 Running Devices 창 또는 에뮬레이터 자체 창데스크톱 앱 창브라우저 탭
Android Studio 필요 여부아니요. 게이트웨이, 에뮬레이터, 시스템 이미지가 필요합니다예. Running Devices 보기에 필요합니다아니요아니요
프레임 전달 방식127.0.0.1을 통한 원본 RGBA 프레임에뮬레이터 창 또는 Android Studio, 둘 다 내 Mac에서H.264 동영상인터넷을 통한 동영상
가격무료, MIT 라이선스무료무료, Apache-2.0 라이선스유료 요금제
시작하기

첫 프레임까지 세 단계

  1. Mac 확인

    Apple Silicon Mac, Chrome 또는 Edge, arm64 시스템 이미지가 있는 Android 에뮬레이터.

    요구 사항
  2. 게이트웨이 설치

    터미널에서 이 명령을 실행하세요. 실행 파일 하나를 ~/.local/bin에 저장합니다.

    curl -fsSL https://droid.devpier.dev/install.sh | sh

    설치 가이드
  3. 실행

    android-emu-web을 실행하세요. 브라우저에서 페이지를 열고 실행 중인 에뮬레이터를 보여 줍니다.

    첫 실행