Android 11 x86 systembilleder til Android Emulator understøtter ARM ABI'er

click fraud protection

Android 11-systembilleder til x86-hardware understøtter nu ARM-emulering på Android Emulator i Android Studio til x86-pc'er.

Google udgav Android 11 Developer Preview 2 tidligere på måneden. Med denne udgivelse lavede Google en vigtig ændring for at muliggøre mere effektiv app-fejlretning på Android Emulator indeni Android Studio. Android 11 systembillederne til x86 CPU'er tillader nu applikationer med C eller C++ afhængigheder at køre mere problemfrit uden fuld ARM-emulering og ved at bruge hardwareacceleration og CPU-virtualisering af x86 hardware.

Android-apps skrevet i indbygget kode (dvs. C eller C++) skal kompileres med forskellige CPU-arkitekturer i tankerne. Der skal være forskellige versioner af appen, der er målrettet mod forskellige CPU-arkitekturer, såsom ARM, ARM64, x86 eller x86-64. Dette skyldes, at indbygget kode er direkte kompileret i maskininstruktionerne til den specifikke arkitektur i modsætning til Kotlin- eller Java-apps, der udføres på Android Runtime (ART).

For at teste din app via Android Emulator, der kører på en x86-baseret computer, skal du bruge en anden version til x86 CPU. x86-versionen af ​​appen virker ikke på smartphones, da de typisk er baseret på ARM- eller ARM64-CPU'er. Indtil nu, den eneste løsningen på dette problem var enten at bruge en fysisk Android-enhed eller installere emulatorbilleder med fuld ARM-emulering til x86 CPU'er. Sidstnævnte mulighed er præstationsintensiv og kan ikke drage fuld fordel af hardwareaccelerationen og CPU-virtualiseringen som x86 CPU'er tilbyder.

For at afgøre dette har Google nu frigivet de nye Android 11 x86 systembilleder med ARM-kompatibilitet. Disse systembilleder bruger ABI'er (binære applikationsgrænseflader), der er mellemliggende mellem apps skrevet på forskellige sprog eller mellem apps og operativsystemet. ARM-instruktionerne i ARM-binæren er udelukkende oversat til x86, mens den resterende del af koden fortsætter med at blive udført i x86. På grund af denne isolation af ARM-binære filer er processen mindre ydelsesintensiv og kører selv på lavt niveau hardware.

Udover at muliggøre lettere debugging af Android-apps ved hjælp af C++-afhængigheder, vil det også give udviklere mulighed for at bare udgiv ARM-versionen af ​​deres apps sammen med ABI'er i stedet for en x86-version til Chromebooks i fremtid. Dette vil anspore understøttelse af flere Android 11-målrettede apps på en række Chromebooks.

De nye x86-kompatible Android 11-systembilleder kan downloades inden for Android Studio bruger Android Virtual Device Manager eller SDK Manager.