Android Emulator를 사용하여 나만의 맞춤 Android 시스템 이미지를 실행하는 Android 기기의 에뮬레이션을 만들 수 있습니다. 또한 Android Emulator 에뮬레이션에 다중 디스플레이 지원을 추가할 수 있습니다.
Android Emulator 아키텍처
Android Emulator는 Android Virtual Device (AVD)라는 가상 머신에서 Android 운영체제를 실행합니다. 각 AVD에는 전체 Android 소프트웨어 스택이 포함되어 있으며 실제 기기에 있는 것처럼 실행됩니다. 그림 1은 Android Emulator의 상위 수준 아키텍처를 보여줍니다. 에뮬레이터에 관한 자세한 내용은 Android Emulator에서 앱 실행을 참조하세요.
 
 
그림 1. Android Emulator 아키텍처
AVD 이미지 빌드
각 AVD에는 해당 AVD에서 실행되는 Android 시스템 이미지가 있습니다. AVD Manager에는 일부 시스템 이미지가 포함되어 있습니다. 소스 코드에서 맞춤 AVD 시스템 이미지를 만들고 기기 에뮬레이션을 생성하여 실행할 수 있습니다.
AVD 시스템 이미지를 빌드하고 실행하려면 다음을 수행하세요.
- Android 소스 다운로드: - mkdir aosp-android-latest-release; cd aosp-android-latest-release- repo init -u- repo sync -j24
다른 Android 버전을 빌드하려면 공개 Android 저장소에서 브랜치 이름을 찾아 보세요. Android 코드명, 태그 및 빌드 번호에 매핑됩니다.
- AVD 시스템 이미지를 빌드합니다. 이는 Android 기기 시스템 이미지를 빌드하는 과정과 동일합니다. 예를 들어 x86 64비트 AVD를 빌드하려면 다음을 실행합니다. - source ./build/envsetup.sh- lunch sdk_phone_x86_64- make -j32
- Android Emulator에서 AVD 시스템 이미지를 실행합니다. - emulator
에뮬레이터 실행에 관한 자세한 내용은 명령줄 시작 옵션을 참고하세요. 그림 2는 AVD를 실행하는 Android Emulator의 예를 보여줍니다.
 
 
그림 2. AVD를 실행하는 Android Emulator
Android 스튜디오에서 다른 사용자가 사용할 수 있도록 AVD 시스템 이미지 공유
AVD 시스템 이미지를 다른 사용자와 공유하려면 다음 안내를 따르세요. Android 스튜디오에서 AVD 시스템 이미지를 사용하여 앱을 개발하고 테스트할 수 있습니다.
- 추가 - sdk및- sdk_repo패키지를 생성합니다.- Android 13 이상의 경우 - emu_img_zip명령어를 사용합니다.- $ make emu_img_zip- 이렇게 하면 - sdk-repo-linux-system-images-eng.[username]].zip파일이 생성됩니다.- Android 12 이하의 경우 - sdk_repo명령어를 사용합니다.- $ make -j32 sdk sdk_repo- make sdk sdk_repo명령어는- aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86아래에 파일 두 개를 만듭니다.- sdk-repo-linux-system-images-eng.[username].zip
- repo-sys-img.xml
 
- 사용자가 액세스할 수 있는 위치에서 - sdk-repo-linux-system-images-eng.[username].zip파일을 호스팅하고 URL을 가져와 AVD 시스템 이미지 URL로 사용합니다.
- Android 12 이하의 경우 적절하게 - repo-sys-img.xml을 수정합니다.- <sdk:url>을 AVD 시스템 이미지 URL로 업데이트합니다.
- 파일의 다른 업데이트에 관해 알아보려면 sdk-sys-img-03.xsd를 참고하세요.
- 사용자가 액세스할 수 있는 위치에서 repo-sys-img.xml을 호스팅하고 URL을 가져와 맞춤 업데이트 사이트 URL로 사용합니다.
 
맞춤 AVD 이미지를 사용하려면 SDK Manager에서 다음을 실행합니다.
- 맞춤 업데이트 사이트 URL을 SDK 업데이트 사이트로 추가합니다. - 이렇게 하면 맞춤 AVD 시스템 이미지가 시스템 이미지 페이지에 추가됩니다. 
- 맞춤 AVD 시스템 이미지를 다운로드하고 선택하여 AVD를 생성합니다. 
다중 디스플레이 지원 추가
Android 10은 자동 및 데스크톱 모드와 같은 더 많은 사용 사례를 더 효과적으로 지원하기 위해 다중 디스플레이를 개선합니다. Android Emulator는 다중 디스플레이 에뮬레이션도 지원합니다. 따라서 실제 하드웨어를 설정하지 않고도 특정 다중 디스플레이 환경을 만들 수 있습니다.
다음과 같이 변경하거나 이 CL에서 선별하여 AVD에 다중 디스플레이 지원을 추가할 수 있습니다.
- build/target/product/sdk_phone_x86.mk파일에 다음 행을 추가하여 다중 디스플레이 제공자를 빌드에 추가합니다.- PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \ system/lib/libemulator_multidisplay_jni.so \ system/lib64/libemulator_multidisplay_jni.so \ system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \ PRODUCT_PACKAGES += MultiDisplayProvider
- device/generic/goldfish/data/etc/advancedFeatures.ini파일에 다음 행을 추가하여 다중 디스플레이 기능 플래그를 사용 설정합니다.- MultiDisplay = on
다음 소스에서 최신 에뮬레이터 기능 및 출시 정보를 찾을 수 있습니다.
