x86 하드웨어용 Android 11 시스템 이미지는 이제 x86 PC용 Android Studio 내의 Android Emulator에서 ARM 에뮬레이션을 지원합니다.
구글이 출시한 Android 11 개발자 프리뷰 2 이번달 초. 이번 릴리스를 통해 Google은 Android Emulator에서 더욱 효율적인 앱 디버깅을 가능하게 하는 주요 변경 사항을 적용했습니다. 안드로이드 스튜디오. x86 CPU용 Android 11 시스템 이미지를 사용하면 이제 C 또는 C++ 종속성이 있는 애플리케이션을 더 많이 실행할 수 있습니다. 전체 ARM 에뮬레이션 없이도 원활하게 x86의 하드웨어 가속 및 CPU 가상화를 활용합니다. 하드웨어.
네이티브 코드(예: C 또는 C++)로 작성된 Android 앱은 다양한 CPU 아키텍처를 염두에 두고 컴파일해야 합니다. ARM, ARM64, x86 또는 x86-64와 같은 다양한 CPU 아키텍처를 대상으로 하는 다양한 버전의 앱이 있어야 합니다. 이는 Android 런타임(ART)에서 실행되는 Kotlin 또는 Java 앱과 달리 네이티브 코드가 특정 아키텍처에 대한 기계 명령어로 직접 컴파일되기 때문입니다.
x86 기반 컴퓨터에서 실행되는 Android Emulator를 통해 앱을 테스트하려면 x86 CPU용 다른 버전이 필요합니다. x86 버전의 앱은 일반적으로 ARM 또는 ARM64 CPU를 기반으로 하기 때문에 스마트폰에서 작동하지 않습니다. 지금까지 유일한 이 문제에 대한 해결 방법은 물리적 Android 장치를 사용하거나 x86 CPU용 전체 ARM 에뮬레이션이 포함된 에뮬레이터 이미지를 설치하는 것이었습니다. 후자의 옵션은 성능 집약적이며 x86이 제공하는 하드웨어 가속 및 CPU 가상화를 최대한 활용할 수 없습니다. CPU가 제공합니다.
이를 해결하기 위해 Google은 이제 ARM과 호환되는 새로운 Android 11 x86 시스템 이미지를 출시했습니다. 이러한 시스템 이미지는 서로 다른 언어로 작성된 앱 간 또는 앱과 운영 체제 간을 중개하는 ABI(애플리케이션 바이너리 인터페이스)를 활용합니다. ARM 바이너리 내의 ARM 명령어는 x86으로 독점적으로 변환되는 반면 나머지 코드는 x86에서 계속 실행됩니다. 이러한 ARM 바이너리 격리로 인해 프로세스는 성능 집약도가 낮고 낮은 수준의 하드웨어에서도 실행됩니다.
C++ 종속성을 사용하여 Android 앱을 더 쉽게 디버깅할 수 있을 뿐만 아니라 개발자가 다음을 수행할 수도 있습니다. Chromebook용 x86 버전 대신 ABI와 함께 앱의 ARM 버전을 게시하면 됩니다. 미래. 이를 통해 다양한 Chromebook에서 더 많은 Android 11 대상 앱에 대한 지원이 촉진될 것입니다.
새로운 x86 호환 Android 11 시스템 이미지는 다음에서 다운로드할 수 있습니다. 안드로이드 스튜디오 사용하여 Android 가상 장치 관리자 또는 SDK 관리자.