Imaginile sistemului Android 11 x86 pentru emulatorul Android acceptă ABI-uri ARM

Imaginile de sistem Android 11 pentru hardware x86 acceptă acum emularea ARM pe Android Emulator din Android Studio pentru computere x86.

Google a lansat Previzualizarea dezvoltatorului Android 11 2 mai devreme luna asta. Cu această versiune, Google a făcut o schimbare esențială pentru a permite depanarea mai eficientă a aplicațiilor pe emulator Android Android Studio. Imaginile de sistem Android 11 pentru procesoarele x86 permit acum aplicațiilor cu dependențe C sau C++ să ruleze mai mult fără emulare completă ARM și folosind accelerarea hardware și virtualizarea procesorului x86 hardware.

Aplicațiile Android scrise în cod nativ (adică C sau C++) trebuie să fie compilate având în vedere arhitecturi diferite ale procesorului. Trebuie să existe versiuni diferite ale aplicației care vizează diferite arhitecturi CPU, cum ar fi ARM, ARM64, x86 sau x86-64. Acest lucru se datorează faptului că codul nativ este compilat direct în instrucțiunile mașinii pentru arhitectura specifică, spre deosebire de aplicațiile Kotlin sau Java care se execută pe Android Runtime (ART).

Pentru a vă testa aplicația prin emulator Android care rulează pe un computer bazat pe x86, aveți nevoie de o versiune diferită pentru procesorul x86. Versiunea x86 a aplicației nu va funcționa pe smartphone-uri, deoarece acestea se bazează de obicei pe procesoare ARM sau ARM64. Până acum, singurul Rezolvarea acestei probleme a fost fie de a folosi un dispozitiv Android fizic, fie de a instala imagini de emulator cu emulare completă ARM pentru procesoarele x86. Ultima opțiune necesită performanță intensivă și nu poate profita pe deplin de accelerarea hardware și virtualizarea CPU pe care x86 Oferă procesoare.

Pentru a rezolva acest lucru, Google a lansat acum noile imagini de sistem Android 11 x86 cu compatibilitate ARM. Aceste imagini de sistem utilizează ABI-uri (interfețe binare de aplicații) care intermediază între aplicațiile scrise în diferite limbi sau între aplicații și sistemul de operare. Instrucțiunile ARM din binarul ARM sunt traduse exclusiv în x86, în timp ce restul codului continuă să fie executat în x86. Datorită acestei izolări a binarelor ARM, procesul este mai puțin intens în performanță și rulează chiar și pe hardware de nivel scăzut.

Pe lângă faptul că permite depanarea mai ușoară a aplicațiilor Android folosind dependențe C++, va permite dezvoltatorilor să facă acest lucru publică doar versiunea ARM a aplicațiilor lor împreună cu ABI-uri în loc de o versiune x86 pentru Chromebookuri în viitor. Acest lucru va stimula compatibilitatea pentru mai multe aplicații vizate de Android 11 pe o varietate de Chromebookuri.

Noile imagini ale sistemului Android 11 compatibile x86 pot fi descărcate în interior Android Studio folosind Manager dispozitiv virtual Android sau Managerul SDK.