Systémové obrazy Android 11 pre hardvér x86 teraz podporujú emuláciu ARM na emulátore Android v rámci Android Studio pre počítače x86.
Google vydal Ukážka vývojára systému Android 11 2 začiatkom tohto mesiaca. S týmto vydaním spoločnosť Google urobila kľúčovú zmenu, ktorá umožňuje efektívnejšie ladenie aplikácií v emulátore Android Android Studio. Systémové obrazy Android 11 pre procesory x86 teraz umožňujú viac spúšťať aplikáciám so závislosťami C alebo C++ plynulo bez plnej emulácie ARM a využitia hardvérovej akcelerácie a virtualizácie CPU x86 hardvér.
Aplikácie pre Android napísané v natívnom kóde (t. j. C alebo C++) musia byť kompilované s ohľadom na rôzne architektúry CPU. Musia existovať rôzne verzie aplikácie zamerané na rôzne architektúry CPU, ako napríklad ARM, ARM64, x86 alebo x86-64. Je to preto, že natívny kód je priamo kompilovaný do strojových inštrukcií pre konkrétnu architektúru na rozdiel od aplikácií Kotlin alebo Java, ktoré sa spúšťajú na Android Runtime (ART).
Ak chcete otestovať svoju aplikáciu prostredníctvom emulátora Android spusteného na počítači s procesorom x86, potrebujete inú verziu pre procesor x86. Verzia aplikácie x86 nebude fungovať na smartfónoch, pretože sú zvyčajne založené na procesoroch ARM alebo ARM64. Doteraz jediný Riešením tohto problému bolo použitie fyzického zariadenia Android alebo inštalácia obrazov emulátora s plnou emuláciou ARM pre x86 CPU. Posledná možnosť je náročná na výkon a nedokáže naplno využiť hardvérovú akceleráciu a virtualizáciu CPU, ktoré x86 CPU ponúkajú.
Na vyriešenie tohto problému spoločnosť Google teraz vydala nové obrázky systému Android 11 x86 s kompatibilitou ARM. Tieto systémové obrazy využívajú ABI (aplikačné binárne rozhrania), ktoré sprostredkúvajú aplikácie napísané v rôznych jazykoch alebo medzi aplikáciami a operačným systémom. Inštrukcie ARM v binárnom systéme ARM sú výlučne preložené do x86, zatiaľ čo zvyšok kódu sa naďalej vykonáva v x86. Vďaka tejto izolácii binárnych súborov ARM je proces menej náročný na výkon a beží aj na hardvéri nízkej úrovne.
Okrem umožnenia jednoduchšieho ladenia aplikácií pre Android pomocou závislostí C++ to tiež umožní vývojárom stačí zverejniť verziu ARM svojich aplikácií spolu s ABI namiesto verzie x86 pre Chromebooky v budúcnosti. To podnieti podporu ďalších aplikácií zacielených na Android 11 na rôznych Chromebookoch.
Nové obrázky systému Android 11 kompatibilné s x86 si môžete stiahnuť v rámci Android Studio pomocou Správca virtuálnych zariadení Android alebo SDK Manager.