Android 11-Systemabbilder für x86-Hardware unterstützen jetzt die ARM-Emulation auf dem Android-Emulator in Android Studio für x86-PCs.
Google hat die veröffentlicht Android 11-Entwicklervorschau 2 früher in diesem Monat. Mit dieser Version hat Google eine wichtige Änderung vorgenommen, um ein effizienteres App-Debugging im Android-Emulator zu ermöglichen Android Studio. Mit den Android 11-Systemabbildern für x86-CPUs können jetzt Anwendungen mit C- oder C++-Abhängigkeiten häufiger ausgeführt werden reibungslos ohne vollständige ARM-Emulation und mit Hardwarebeschleunigung und CPU-Virtualisierung von x86 Hardware.
In nativem Code (z. B. C oder C++) geschriebene Android-Apps müssen unter Berücksichtigung unterschiedlicher CPU-Architekturen kompiliert werden. Es müssen verschiedene Versionen der App vorhanden sein, die auf unterschiedliche CPU-Architekturen wie ARM, ARM64, x86 oder x86-64 abzielen. Dies liegt daran, dass nativer Code direkt in die Maschinenanweisungen für die spezifische Architektur kompiliert wird, im Gegensatz zu Kotlin- oder Java-Apps, die auf der Android Runtime (ART) ausgeführt werden.
Um Ihre App über den Android-Emulator auf einem x86-basierten Computer zu testen, benötigen Sie eine andere Version für x86-CPU. Die x86-Version der App funktioniert nicht auf Smartphones, da diese normalerweise auf ARM- oder ARM64-CPUs basieren. Bis jetzt das Einzige Die Lösung dieses Problems bestand darin, entweder ein physisches Android-Gerät zu verwenden oder Emulator-Images mit vollständiger ARM-Emulation für x86-CPUs zu installieren. Die letztere Option ist leistungsintensiv und kann die Hardwarebeschleunigung und CPU-Virtualisierung von x86 nicht voll ausnutzen CPUs bieten.
Um dieses Problem zu lösen, hat Google jetzt die neuen Android 11 x86-System-Images mit ARM-Kompatibilität veröffentlicht. Diese Systemabbilder nutzen ABIs (Application Binary Interfaces), die zwischen in verschiedenen Sprachen geschriebenen Apps oder zwischen Apps und dem Betriebssystem vermitteln. Die ARM-Anweisungen innerhalb der ARM-Binärdatei werden ausschließlich in x86 übersetzt, während der restliche Code weiterhin in x86 ausgeführt wird. Aufgrund dieser Isolierung der ARM-Binärdateien ist der Prozess weniger leistungsintensiv und läuft sogar auf Low-Level-Hardware.
Dies ermöglicht nicht nur ein einfacheres Debuggen von Android-Apps mithilfe von C++-Abhängigkeiten, sondern ermöglicht auch Entwicklern dies Veröffentlichen Sie einfach die ARM-Version ihrer Apps zusammen mit ABIs anstelle einer x86-Version für Chromebooks im Zukunft. Dies wird die Unterstützung weiterer auf Android 11 ausgerichteter Apps auf einer Vielzahl von Chromebooks vorantreiben.
Die neuen x86-kompatiblen Android 11-Systembilder können hier heruntergeladen werden Android Studio Verwendung der Android Virtual Device Manager oder der SDK-Manager.