Google сглаживает Android-путь для поддержки эмулированных приложений ARM

Они позволяют запускать двоичные файлы ARM для тестирования без снижения производительности, требующего полной эмуляции ARM, что должно ускорить процесс тестирования.
Ранее, говорит компания, разработчики, которые зависели от библиотек ARM и не могли создать вариант своего приложения для x86, также должны были использовать системные образы с полной эмуляцией ARM, которые намного медленнее системных образов x86 при работе на компьютерах на базе x86, или прибегнуть к физическим устройствам.
В частности, теперь есть поддержка ARMv7 и ARM64 ABI.
На изображении выше показан новый образ системы Android 11 x86 с поддержкой ARM ABI, чего не было в предыдущем образе системы Android «Oreo».
ABI
Поскольку разные устройства Android используют разные процессоры, это подразумевает поддержку разных наборов команд.
Каждая комбинация ЦП и набора команд имеет свой собственный двоичный интерфейс приложений (ABI), который включает в себя такие вещи, как набор команд ЦП и расширения, которые можно использовать, порядок хранения и загрузки памяти во время выполнения, соглашения о передаче данных между приложениями и система и формат исполняемых программ и общих библиотек.
ARM-совместимый
«Любой C ++ в вашем Android-приложении компилируется непосредственно в машинные инструкции, - говорит Майкл Хазард, младший менеджер по продуктам в Google. «Это означает, что его нужно компилировать по-разному в зависимости от архитектуры целевого устройства. Мобильные телефоны, как правило, имеют процессоры ARM; следовательно, многие зависимости C ++, которые вы можете добавить в свое приложение, например библиотека сканера штрих-кода камеры, совместимы только с процессорами ARM. Это проблема, если вы разрабатываете на компьютере с процессором на базе x86, так как это помешает вам запустить ваше приложение ».
«Новые ARM-совместимые образы системы Android 11 позволяют всей системе работать под управлением x86 и использовать преимущества технологий виртуализации как обычно. Когда процессу приложения требуется двоичный файл ARM, двоичный файл преобразуется исключительно в этот процесс x86. Это позволяет продолжить выполнение остальной части процесса в x86, включая Android Runtime (ART) и другие критичные для производительности библиотеки, такие как libGLES и libvulkan ».
Переводчик также избегает дорогостоящих инструментов доступа к памяти и связанного с этим снижения производительности, избегая выполнения низкоуровневых аппаратных библиотек, добавляет он.
Образы новой системы эмулятора можно использовать как локально, так и в собственной инфраструктуре непрерывной интеграции.
Попробуйте эмулировать ARM снова

На изображении выше показано, как диспетчер виртуальных устройств Android создает AVD (виртуальное устройство Android) под управлением Android 11
Google призывает разработчиков, которые ранее избегали использования своей системы эмуляторов из-за отсутствия поддержки ARM, опробуйте образы системы Android 11. Их можно загрузить в Android Studio с помощью диспетчера SDK или диспетчера виртуальных устройств Android, который входит в комплект Android Studio, Google IDE.
Обратите внимание, что Android 11 Developer Preview 2 был выпущен на прошлой неделе и включает поддержку обработки 5G и складных экранов. Android 11 должен появиться в «Q3».
Смотрите также: Google eyes 5G, складные экраны с Android 11 Developer Preview 2
