Системни изображения на Android 11 x86 за емулатора на Android поддържат ARM ABI

Системните изображения на Android 11 за хардуер x86 вече поддържат ARM емулация на емулатора на Android в Android Studio за компютри x86.

Google пусна Предварителен преглед за разработчици на Android 11 2 по-рано този месец. С тази версия Google направи ключова промяна, за да активира по-ефективно отстраняване на грешки в приложенията в емулатора на Android Android Studio. Системните изображения на Android 11 за процесори x86 вече позволяват на приложения с C или C++ зависимости да работят повече гладко без пълна емулация на ARM и използвайки хардуерно ускорение и виртуализация на процесора на x86 хардуер.

Приложенията за Android, написани в естествен код (т.е. C или C++), трябва да бъдат компилирани с различни процесорни архитектури. Трябва да има различни версии на приложението, насочени към различни процесорни архитектури като ARM, ARM64, x86 или x86-64. Това е така, защото естественият код се компилира директно в машинните инструкции за конкретната архитектура, за разлика от приложенията Kotlin или Java, които се изпълняват в Android Runtime (ART).

За да тествате приложението си чрез емулатор на Android, работещ на x86-базиран компютър, имате нужда от различна версия за x86 CPU. Версията 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 Studio използвайки Диспечер на виртуални устройства на Android или мениджъра на SDK.