Системные образы Android 11 для оборудования x86 теперь поддерживают эмуляцию ARM на эмуляторе Android в Android Studio для ПК x86.
Google выпустил Предварительная версия Android 11 для разработчиков 2 ранее в этом месяце. В этом выпуске Google внесла ключевые изменения, чтобы обеспечить более эффективную отладку приложений в эмуляторе Android в рамках Android-студия. Системные образы Android 11 для процессоров x86 теперь позволяют запускать больше приложений с зависимостями C или C++. плавно, без полной эмуляции ARM и с использованием аппаратного ускорения и виртуализации процессора x86. аппаратное обеспечение.
Приложения Android, написанные на собственном коде (т. е. C или C++), должны быть скомпилированы с учетом различных архитектур ЦП. Должны быть разные версии приложения, предназначенные для разных архитектур ЦП, таких как ARM, ARM64, x86 или x86-64. Это связано с тем, что собственный код напрямую компилируется в машинные инструкции для конкретной архитектуры, в отличие от приложений Kotlin или Java, которые выполняются в среде выполнения Android (ART).
Чтобы протестировать приложение с помощью эмулятора Android, работающего на компьютере с процессором x86, вам понадобится другая версия для процессора x86. Версия приложения x86 не будет работать на смартфонах, поскольку они обычно основаны на процессорах ARM или ARM64. До сих пор единственный Решением этой проблемы было либо использование физического устройства Android, либо установка образов эмулятора с полной эмуляцией ARM для процессоров x86. Последний вариант требует высокой производительности и не может в полной мере использовать преимущества аппаратного ускорения и виртуализации ЦП, которые обеспечивает x86. Предлагают процессоры.
Чтобы решить эту проблему, Google выпустила новые образы системы Android 11 x86, совместимые с ARM. В этих образах системы используются ABI (бинарные интерфейсы приложений), которые являются промежуточными звеньями между приложениями, написанными на разных языках, или между приложениями и операционной системой. Инструкции ARM в двоичном файле ARM преобразуются исключительно в x86, в то время как остальная часть кода продолжает выполняться в x86. Благодаря такой изоляции двоичных файлов ARM процесс менее требовательн к производительности и выполняется даже на оборудовании низкого уровня.
Помимо упрощения отладки приложений Android с использованием зависимостей C++, это также позволит разработчикам просто опубликуйте версию своих приложений ARM вместе с ABI вместо версии x86 для Chromebook в будущее. Это будет стимулировать поддержку большего количества приложений, ориентированных на Android 11, на различных Chromebook.
Новые образы системы Android 11, совместимые с x86, можно загрузить здесь. Android-студия используя Диспетчер виртуальных устройств Android или менеджер SDK.