Az Android 11 x86 rendszerképek az Android emulátorhoz támogatják az ARM ABI-kat

Az x86-os hardverhez készült Android 11 rendszerképek mostantól támogatják az ARM-emulációt az Android Emulator-on az Android Studio x86-os PC-ken belül.

A Google kiadta a Android 11 fejlesztői előnézet 2 Korábban, ebben a hónapban. Ezzel a kiadással a Google kulcsfontosságú változtatást hajtott végre annak érdekében, hogy hatékonyabb alkalmazáshibakeresést tegyen lehetővé az Android Emulatoron belül Android Studio. Az Android 11 rendszerképei az x86-os CPU-khoz lehetővé teszik a C vagy C++ függőségekkel rendelkező alkalmazások további futtatását zökkenőmentesen teljes ARM emuláció nélkül, valamint az x86 hardveres gyorsításával és CPU virtualizációjával hardver.

A natív kóddal (azaz C vagy C++) írt Android-alkalmazásokat a különböző CPU architektúrák figyelembevételével kell lefordítani. Az alkalmazás különböző verzióinak különböző CPU-architektúrákat céloznak meg, például ARM, ARM64, x86 vagy x86-64. Ennek az az oka, hogy a natív kódot közvetlenül az adott architektúra gépi utasításaiba fordítják, szemben a Kotlin- vagy Java-alkalmazásokkal, amelyek az Android Runtime (ART) rendszeren futnak.

Az x86-alapú számítógépen futó Android-emulátoron keresztüli alkalmazás teszteléséhez másik verzióra van szüksége az x86-os CPU-hoz. Az alkalmazás x86-os verziója nem működik okostelefonokon, mivel általában ARM vagy ARM64 CPU-kon alapulnak. Eddig az egyetlen A probléma megoldása az volt, hogy vagy fizikai Android-eszközt kell használni, vagy emulátorképeket telepíteni teljes ARM-emulációval x86-os CPU-khoz. Az utóbbi lehetőség nagy teljesítményigényes, és nem tudja teljes mértékben kihasználni az x86 hardveres gyorsítását és CPU-virtualizációját. CPU-k kínálnak.

Ennek megoldására a Google most kiadta az új Android 11 x86 rendszerképet ARM-kompatibilis. Ezek a rendszerképek ABI-kat (bináris alkalmazási felületeket) használnak, amelyek közvetítenek a különböző nyelveken írt alkalmazások, illetve az alkalmazások és az operációs rendszer között. Az ARM binárison belüli ARM utasítások kizárólag x86-ra vannak lefordítva, míg a kód többi része továbbra is x86-ban fut le. Az ARM binárisok elkülönítésének köszönhetően a folyamat kevésbé teljesítményigényes, és még alacsony szintű hardveren is fut.

Amellett, hogy lehetővé teszi az Android-alkalmazások egyszerűbb hibakeresését a C++ függőségek használatával, lehetővé teszi a fejlesztők számára, hogy csak tegye közzé alkalmazásaik ARM-verzióját az ABI-kkal együtt a Chromebookok x86-os verziója helyett a jövő. Ez több, Android 11-et célzó alkalmazás támogatását fogja ösztönözni számos Chromebookon.

Az új x86-kompatibilis Android 11 rendszerképek ezen belül tölthetők le Android Studio használni a Android virtuális eszközkezelő vagy az SDK-kezelőt.