Le immagini del sistema Android 11 x86 per l'emulatore Android supportano gli ABI ARM

Le immagini del sistema Android 11 per l'hardware x86 ora supportano l'emulazione ARM sull'emulatore Android all'interno di Android Studio per PC x86.

Google ha rilasciato il Anteprima per sviluppatori Android 11 2 all'inizio di questo mese. Con questa versione, Google ha apportato una modifica fondamentale per consentire un debug più efficiente delle app sull'emulatore Android all'interno Studio Android. Le immagini del sistema Android 11 per CPU x86 ora consentono alle applicazioni con dipendenze C o C++ di essere eseguite di più senza problemi senza emulazione ARM completa e utilizzando l'accelerazione hardware e la virtualizzazione della CPU di x86 hardware.

Le app Android scritte in codice nativo (ad esempio C o C++) devono essere compilate tenendo presente diverse architetture di CPU. Devono essere disponibili diverse versioni dell'app destinate ad architetture CPU diverse come ARM, ARM64, x86 o x86-64. Questo perché il codice nativo viene compilato direttamente nelle istruzioni della macchina per l'architettura specifica a differenza delle app Kotlin o Java che vengono eseguite su Android Runtime (ART).

Per testare la tua app tramite l'emulatore Android in esecuzione su un computer basato su x86, hai bisogno di una versione diversa per la CPU x86. La versione x86 dell'app non funzionerà sugli smartphone poiché in genere sono basati su CPU ARM o ARM64. Fino ad ora, l'unico la soluzione a questo problema consisteva nell'utilizzare un dispositivo Android fisico o nell'installare immagini dell'emulatore con emulazione ARM completa per CPU x86. Quest'ultima opzione richiede prestazioni elevate e non può sfruttare appieno l'accelerazione hardware e la virtualizzazione della CPU di x86 Offerta CPU.

Per risolvere questo problema, Google ha ora rilasciato le nuove immagini del sistema Android 11 x86 con compatibilità ARM. Queste immagini di sistema utilizzano ABI (interfacce binarie dell'applicazione) che fungono da intermediari tra app scritte in linguaggi diversi o tra app e sistema operativo. Le istruzioni ARM all'interno del binario ARM vengono tradotte esclusivamente in x86 mentre il resto del codice continua ad essere eseguito in x86. Grazie a questo isolamento dei binari ARM, il processo richiede meno prestazioni e funziona anche su hardware di basso livello.

Oltre a consentire un debug più semplice delle app Android utilizzando le dipendenze C++, consentirà anche agli sviluppatori di farlo pubblica semplicemente la versione ARM delle loro app insieme agli ABI invece di una versione x86 per Chromebook in futuro. Ciò stimolerà il supporto per più app mirate ad Android 11 su una varietà di Chromebook.

Le nuove immagini del sistema Android 11 compatibili con x86 possono essere scaricate all'interno Studio Android usando il Gestione dispositivi virtuali Android o il Gestore SDK.