„Android 11“ sistemos vaizdai, skirti x86 aparatūrai, dabar palaiko ARM emuliaciją „Android“ emuliatoriuje, esančiame „Android Studio“, skirtoje x86 kompiuteriams.
„Google“ išleido „Android 11“ kūrėjo peržiūra 2 anksčiau šį mėnesį. Su šiuo leidimu „Google“ padarė esminį pakeitimą, kad „Android“ emuliatoriuje būtų galima efektyviau derinti programas Android studija. „Android 11“ sistemos vaizdai, skirti x86 procesoriams, dabar leidžia programoms su C arba C++ priklausomybėmis veikti daugiau sklandžiai be visos ARM emuliacijos ir naudojant aparatinės įrangos pagreitį bei procesoriaus virtualizavimą x86 aparatūra.
„Android“ programos, parašytos vietiniu kodu (pvz., C arba C++), turi būti sudarytos atsižvelgiant į skirtingas procesoriaus architektūras. Turi būti skirtingos programos versijos, taikomos skirtingoms procesoriaus architektūroms, pvz., ARM, ARM64, x86 arba x86-64. Taip yra todėl, kad vietinis kodas yra tiesiogiai sukompiliuojamas į konkrečios architektūros įrenginio instrukcijas, o ne „Kotlin“ arba „Java“ programas, kurios vykdomos „Android Runtime“ (ART).
Kad galėtumėte išbandyti programą naudodami „Android“ emuliatorių, veikiančią x86 pagrindu veikiančiame kompiuteryje, jums reikia kitos versijos, skirtos x86 procesoriui. Programos x86 versija neveiks išmaniuosiuose telefonuose, nes jos paprastai yra pagrįstos ARM arba ARM64 procesoriais. Iki šiol vienintelė Šios problemos sprendimas buvo naudoti fizinį „Android“ įrenginį arba įdiegti emuliatoriaus vaizdus su visa ARM emuliacija, skirta x86 procesoriams. Pastaroji parinktis reikalauja daug našumo ir negali visiškai išnaudoti aparatinės įrangos spartinimo ir procesoriaus virtualizavimo, kurį x86 CPU pasiūlymas.
Kad tai išspręstų, „Google“ dabar išleido naujus „Android 11 x86“ sistemos vaizdus su ARM suderinamumu. Šiuose sistemos vaizduose naudojami ABI (binarinės programos sąsajos), kurios yra tarpinis tarp programėlių, parašytų skirtingomis kalbomis, arba tarp programų ir operacinės sistemos. ARM dvejetainėje sistemoje esančios ARM instrukcijos yra išverstos tik į x86, o likusios kodo dalys ir toliau vykdomos x86. Dėl šios ARM dvejetainių failų izoliacijos procesas yra mažiau našus ir veikia net žemo lygio aparatinėje įrangoje.
Be to, kad bus lengviau derinti „Android“ programas naudojant C++ priklausomybes, tai taip pat leis kūrėjams tiesiog paskelbkite savo programų ARM versiją kartu su ABI, o ne x86 versiją, skirtą „Chromebook“ įrenginiams. ateities. Tai paskatins daugiau „Android 11“ taikomų programų įvairiuose „Chromebook“ įrenginiuose.
Naujus su x86 suderinamus Android 11 sistemos vaizdus galima atsisiųsti Android studija naudojant „Android“ virtualiųjų įrenginių tvarkytuvė arba SDK valdytojas.