Slike sustava Android 11 x86 za Android emulator podržavaju ARM ABI

Slike sustava Android 11 za x86 hardver sada podržavaju ARM emulaciju na Android emulatoru unutar Android Studija za x86 računala.

Google je objavio Android 11 Developer Preview 2 ranije ovog mjeseca. S ovim izdanjem Google je napravio ključnu promjenu kako bi omogućio učinkovitije otklanjanje pogrešaka u aplikacijama na Android Emulatoru Android Studio. Slike sustava Android 11 za x86 procesore sada omogućuju aplikacijama s ovisnostima o C ili C++ da rade više glatko bez potpune ARM emulacije i koristeći hardversko ubrzanje i CPU virtualizaciju x86 hardver.

Android aplikacije napisane u izvornom kodu (tj. C ili C++) moraju se kompajlirati imajući na umu različite CPU arhitekture. Moraju postojati različite verzije aplikacije koje ciljaju različite CPU arhitekture kao što su ARM, ARM64, x86 ili x86-64. To je zato što se izvorni kod izravno kompilira u strojne upute za određenu arhitekturu za razliku od Kotlin ili Java aplikacija koje se izvršavaju na Android Runtime (ART).

Kako biste testirali svoju aplikaciju putem Android emulatora koji radi na računalu temeljenom na x86, potrebna vam je druga verzija za x86 CPU. Verzija aplikacije x86 neće raditi na pametnim telefonima budući da se obično temelje na ARM ili ARM64 procesorima. Do sada jedina Rješenje ovog problema bilo je korištenje fizičkog Android uređaja ili instaliranje slika emulatora s potpunom ARM emulacijom za x86 CPU. Potonja je opcija zahtjevna za performanse i ne može u potpunosti iskoristiti hardversko ubrzanje i virtualizaciju CPU-a koje x86 Ponuda CPU-a.

Kako bi to riješio, Google je sada objavio nove slike sustava Android 11 x86 s ARM kompatibilnošću. Ove slike sustava koriste ABI (binarna sučelja aplikacije) koja posreduju između aplikacija napisanih na različitim jezicima ili između aplikacija i operativnog sustava. ARM instrukcije unutar ARM binarne datoteke isključivo se prevode u x86 dok se preostali dio koda nastavlja izvršavati u x86. Zbog ove izolacije ARM binarnih datoteka, proces je manje zahtjevan za performanse i radi čak i na hardveru niske razine.

Osim omogućavanja lakšeg otklanjanja pogrešaka Android aplikacija pomoću C++ ovisnosti, također će omogućiti programerima da samo objavite ARM verziju svojih aplikacija zajedno s ABI-jevima umjesto x86 verzije za Chromebook u budućnost. To će potaknuti podršku za više aplikacija ciljanih na Android 11 na raznim Chromebookovima.

Nove slike sustava Android 11 kompatibilne s x86 mogu se preuzeti unutar Android Studio koristiti Android Virtual Device Manager ili SDK Manager.