Android 11 x86 systembilder för Android Emulator stöder ARM ABI

click fraud protection

Android 11-systembilder för x86-hårdvara stöder nu ARM-emulering på Android Emulator i Android Studio för x86-datorer.

Google släppte Android 11 Developer Preview 2 Tidigare den här månaden. Med den här utgåvan gjorde Google en viktig förändring för att möjliggöra effektivare appfelsökning på Android Emulator inom Android Studio. Android 11-systemavbildningarna för x86-processorer tillåter nu applikationer med C- eller C++-beroende att köra mer smidigt utan full ARM-emulering och med hårdvaruacceleration och CPU-virtualisering av x86 hårdvara.

Android-appar skrivna i inbyggd kod (dvs. C eller C++) måste kompileras med olika CPU-arkitekturer i åtanke. Det måste finnas olika versioner av appen som är inriktade på olika CPU-arkitekturer som ARM, ARM64, x86 eller x86-64. Detta beror på att inbyggd kod är direkt kompilerad i maskininstruktionerna för den specifika arkitekturen i motsats till Kotlin- eller Java-appar som körs på Android Runtime (ART).

För att testa din app via Android Emulator som körs på en x86-baserad dator behöver du en annan version för x86 CPU. x86-versionen av appen fungerar inte på smartphones eftersom de vanligtvis är baserade på ARM- eller ARM64-processorer. Fram till nu, den enda lösningen på detta problem var att antingen använda en fysisk Android-enhet eller installera emulatorbilder med full ARM-emulering för x86-processorer. Det senare alternativet är prestandaintensivt och kan inte dra full nytta av hårdvaruaccelerationen och CPU-virtualiseringen som x86 CPU: er erbjuder.

För att lösa detta har Google nu släppt de nya Android 11 x86-systembilderna med ARM-kompatibilitet. Dessa systemavbildningar använder ABI: er (application binary interfaces) som förmedlar mellan appar skrivna på olika språk eller mellan appar och operativsystemet. ARM-instruktionerna inom ARM-binären översätts exklusivt till x86 medan återstoden av koden fortsätter att exekveras i x86. På grund av denna isolering av ARM-binärer är processen mindre prestandakrävande och körs även på hårdvara på låg nivå.

Förutom att möjliggöra enklare felsökning av Android-appar med C++-beroenden, kommer det också att tillåta utvecklare att publicera bara ARM-versionen av sina appar tillsammans med ABI istället för en x86-version för Chromebooks i framtida. Detta kommer att stimulera stöd för fler Android 11-inriktade appar på en mängd olika Chromebooks.

De nya x86-kompatibla Android 11-systembilderna kan laddas ner inom Android Studio använda Android Virtual Device Manager eller SDK Manager.