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-main; cd aosp-main
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-main/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
파일을 호스팅하고 AVD 시스템 이미지 URL로 사용할 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
다음 소스에서 최신 에뮬레이터 기능 및 출시 정보를 찾을 수 있습니다.