Android Emulator è incluso in Android Studio.
Le versioni dell’emulatore precedenti alla 25.3.0 sono state distribuite come parte del SDK Tools.
Per assicurarti di avere l'ultima versione, controlla il Gestore SDK per gli aggiornamenti.
Per scaricare le versioni precedenti dell'emulatore Android, consulta la Archivio per i download dell'emulatore.
Per le note di rilascio per le versioni dell'emulatore precedenti alla 25.3.0, vedi Note di rilascio di Android SDK Tools.
Per informazioni sui problemi noti e per la risoluzione dei problemi, consulta Risoluzione dei problemi dell'emulatore.
35.1.20 (29 ago 2024)
- Durata di visualizzazione media di Pixel 8a aggiunta
- Varie correzioni di bug per il pieghevole
- Aggiornamento Qt e correzioni di arresti anomali e blocchi correlati a Qt
- [Correzione di bug] Correzione di arresti anomali e blocchi su Windows con applicazioni che utilizzano Vulkan
34.2.16 (9 luglio 2024)
- [Correzione di bug] Si blocca la UI su Pixel Fold durante la piegatura o l'apertura.
- [Correzione di bug] Visualizzazione non corretta della versione di Android come Gelato alla vaniglia di Android Visualizza l'anteprima al posto dell'API 35 su Mac M1.
- [Correzione di bug] Problema n. 296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE restituisce true sull'emulatore di tablet Pixel C
34.2.15 (31 maggio 2024)
- Correzione di vari arresti anomali relativi alla modalità swangle e alla pulizia dell'inserzionista
34.2.14 (20 maggio 2024)
Testato con Android Studio Jellyfish Stable Patch 1.
- [Correzione di bug] A volte l'istantanea si blocca sull'emulatore incorporato
- [Correzione di bug] "No" e "Annulla" i pulsanti non funzionano correttamente su snapshot
- [Correzione di bug] I pulsanti del pad direzionale non funzionano
- [Correzione di bug] È stato risolto il problema rilevato su Windows che impediva l'avvio dell'emulatore in alcune condizioni quando si utilizzano le modalità GPU con ANGLE e che restituisce il messaggio di errore "Impossibile inizializzare l'emulazione GL" nel log. Tieni presente che l'avvio dell'emulatore dalla riga di comando con l'opzione
-gpu swangle_indirect
potrebbe comunque generare questo errore con questa versione. Se vuoi comunque avviare l'emulatore utilizzando una riga di comando su Windows con il rendering della grafica software con questa versione, usa-gpu swiftshader_indirect
- [Correzione di bug] La scorciatoia per la posizione sulla tastiera carica una mappa inutilizzabile.
- [Correzione di bug] Durante l'impostazione della posizione, l'opzione "Salva percorso" finestra di dialogo mancante
34.2.13 (30 aprile 2024)
Testato con Android Studio Jellyfish Stable.
- Aggiornamento a Qt 6.5.3
- Compatibilità per gli aggiornamenti dell'API Google Maps utilizzati nelle funzionalità relative alla posizione nei Controlli estesi dei un emulatore, che si verifica alla fine di maggio.
- Correzioni di arresti anomali ad alto impatto
- Varie correzioni relative alla durata di visualizzazione media di Pixel
- Aggiornare la libreria grafica utilizzata per il rendering software
- [Correzione di bug]Problema 225541819 L'avvio dell'emulatore di arresti anomali di Chrome su x86_64
- [Correzione di bug]Il problema 314614435 lo switch
-http-proxy
viene analizzato in modo errato
34.1.20 (1° aprile 2024)
Testato con Android Studio Iguana Stable.
- [Correzione di bug] Problema n. 314614435: è stato risolto il problema a causa del quale l'opzione
-http-proxy
viene analizzata in modo errato
34.1.19 (7 marzo 2024)
Testato con Android Studio Iguana Stable.
- [Correzione di bug] Problema n. 312677259: è stato corretto il blocco dello schermo nell'emulatore incorporato dopo il ridimensionamento della finestra.
34.1.18 (29 feb 2024)
Testato con Android Studio Iguana Stable.
- Sono stati aggiunti dispositivi all'emulatore, tra cui:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- Test di integrazione gRPC: gli endpoint gRPC sono ora disponibili per i test instrumentati in esecuzione all'interno dell'emulatore che consentirebbero di testare scenari realistici. Questa funzionalità consente agli sviluppatori di interagire in sicurezza con l'endpoint gRPC ospitato da Android Emulator dai test di strumentazione Android.
- Varie correzioni di bug
- Correzione di bug: miglioramenti dell'usabilità del dispositivo pieghevole.
- Correzione di bug: regola la posizione dell'emulatore dopo la rotazione.
- Correzioni di arresti anomali
33.1.24 (28 dic 2023)
Test eseguito con Android Studio Hedgehog Stable e Iguana beta 1.
- Risolvi il problema dell'emulatore della webcam che non consente la registrazione dello schermo in formato mp4.
- È stato risolto il problema che causava l'arresto anomalo dell'emulatore sulla durata di visualizzazione media di Pixel Fold quando quest'ultimo è aperto durante una registrazione dello schermo.
- Risoluzione del problema per cui Pixel Fold mostra una skin dello smartphone diversa con una tastiera scollegata e inutilizzabile (risolto su Windows, Mac Intel e Linux)
- È stato corretto il glitch nei sensori virtuali in modalità autonoma (risolto su Windows, Mac Intel e Linux)
- Le correzioni per alcuni arresti anomali, in particolare durante la chiusura dell'emulatore, sono state risolte
33.1.23 (30 nov 2023)
Testato con Android Studio Giraffe Patch 4 e Hedgehog Stable.
- Nuova implementazione pieghevole per emulare meglio il dispositivo Pixel Fold, compatibile con la versione più recente dell'API 34
- Upgrade del backend grafico: abbiamo implementato il protocollo gfxstream per il nostro backend grafico. Questo miglioramento aumenta le prestazioni grafiche complessive e la stabilità del sistema. Inoltre, introdurremo il supporto di Vulkan 1.3 a partire dall'immagine di sistema con l'API 34
- Richiesta di funzionalità: opzione per disattivare il gesto Pizzica per eseguire lo zoom o riassegnare il relativo tasto di scelta rapida
- [Correzione di bug] Problema n. 302562962 Risolvere l'arresto anomalo della webcam dell'emulatore quando si utilizzavano MacOS sonoma
- [Correzione di bug] Problema n. 293503871 Risolvi il problema relativo a "Microfono" L'impostazione non viene salvata al riavvio dell'emulatore
- [Correzione di bug] Problema n. 270386314 È stato corretto l'errore dell'animazione per cui la barra laterale rimane aperta una volta ridotta a icona la durata di visualizzazione media dello schermo
- [Correzione di bug] Problema n. 154896775 Correggere lo strumento di invio di bug
32.1.15 (29 ago 2023)
Testato con Android Studio Giraffe Patch 1 e Hedgehog Canary 16.
- Conformità ai requisiti GAS HW per i sensori nell'emulatore AAE
- [Correzione di bug] Problema n. 266201208 L'SMS ebraico non viene inviato sull'API 33
- [Correzione di bug] Problema n. 257097404 L'emulatore non mostra l'ora corretta dopo la riattivazione dell'host su API 29 e 30
- [Correzione di bug] Problema n. 228201899 Impossibile visualizzare Google Maps all'interno dei Controlli estesi dell'emulatore di Android
32.1.14 (27 giugno 2023)
Testato con Android Studio Hedgehog Canary 8, Giraffe Beta 5 e Flamingo Stabile.
- Correggi gli orientamenti della fotocamera dell'emulatore distorsioni.
- [Correzione di bug] Problema n. 257097404 "L'emulatore non mostra l'ora corretta dopo il risveglio dell'host". Questo bug è è ancora riproducibile nell'API 29 e nell'API 30.
- [Correzione di bug] Problema n. 243456582 "Le release di Android successive alla versione 30 dell'API potrebbero non avviarsi correttamente nell'emulatore su Mac M1"
32.1.13 (22 maggio 2023)
Testato con Android Studio Hedgehog Canary 2, Giraffe Beta 1 e Flamingo Stable.
- Aggiungi il supporto per la durata di visualizzazione media di Pixel Fold e Pixel Tablet.
- Migliora il problema di arresto anomalo di gLinux.
- [Correzione di bug] Problema n. 215231636 "Emulatore con API superiore all'API 30 non funzionante nel processore Intel di 12a generazione".
- [Correzione di bug] Problema n. 275397905 Elevato livello di arresto anomalo nell'Emulator M1 di Android durante lo spostamento dello stato attivo del cursore all'interno e all'esterno dell'emulatore più volte.
- Problema noto relativo al lancio della funzionalità AVD Problema n. 281725854. Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi dell'emulatore.
32.1.12 (21 marzo 2023)
Testato con Android Studio Giraffe Canary 10, Flamingo RC ed Electric Eel Patch 2.
- [Correzione di bug] Problema n. 267647323 La rete non funziona sull'emulatore avviato da Android Studio
- [Correzione di bug] Problema n. 268498686 Lo schermo dell'emulatore è tremolante
- [Correzione di bug] Problema n. 270034824 Le prestazioni dell'emulatore sono state ridotte dopo l'aggiornamento alla versione 33.1.1
- [Correzione di bug] Problema n. 225541819 L'avvio dell'emulatore di arresti anomali di Chrome su x86_64
- [Correzione di bug] Problema n. 257097404 L'emulatore non mostra l'ora corretta dopo il risveglio dell'host
- Aggiungere report sugli arresti anomali per i dispositivi Apple M1
32.1.11 (8 febbraio 2023)
Testato con Android Studio Giraffe Canary 2, Flamingo Beta 1 ed Electric Eel Patch 1.
- Ottimizzazioni della velocità di rete
- Supporto del mouse nell'emulatore incorporato
- Miglioramenti a Virtio-snd
- Disattiva l'utilizzo di link simbolici mentre decomprimi l'emulatore Android durante l'installazione
- Correggi l'arresto anomalo nell'emulatore-check
31.3.14 (13 dicembre 2022)
Testato con Android Studio Dolphin, Electric Eel RC1 e Flamingo Canary 9.
- [Correzione di bug] Risoluzione degli arresti anomali relativi alla durata di visualizzazione media che si verificano durante l'accesso al Play Store.
31.3.13 (27 ottobre 2022)
Testato con Android Studio Dolphin, Electric Eel beta 2 e Flamingo Canary 5.
- [Correzione di bug] Problema n. 249948338: Il parametro del fuso orario non funziona
- [Correzione di bug] Problema n. 249366543: l'opzione Emulator -dns-server non funziona dopo l'API 31
31.3.12 (10 ottobre 2022)
Testato con Android Studio Dolphin ed Electric Eel beta 1.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- [Correzione di bug] Problema n. 247843000: Errore di gestione del percorso relativo della durata di visualizzazione media
- Aumenta la dimensione del disco per API 24 e versioni successive
31.3.11 (23 settembre 2022)
Testato con Android Studio Dolphin ed Electric Eel Canary 10.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- [Correzione di bug] Arresto AVD dell'emulatore incorporato nella finestra dei controlli estesi
- [Correzione di bug] Problema n. 183139207: Problemi audio associati all'attivazione del microfono dell'emulatore
- [Correzione di bug] Problema n. 229764024: bug AVD di tocco fisso che provoca problemi di comportamento dell'interfaccia utente
- [Correzione di bug] Errore durante l'avvio dell'API 33 AVD su Mac M1.
- [Correzione di bug] Problema n. 243053479: Velocità della rete lenta dopo l'aggiornamento dell'emulatore
- [Correzione di bug] Problema n. 244617627: Posizione di Maps non funzionante su Windows e Linux
- [Correzione di bug] Problema n. 232971796: Pulsante "Dispositivo di chiamata" non funzionante nei Controlli estesi > Pagina telefono
- Aggiorna Android Emulator a minigbm
- Migrazione degli script di build in Python3
31.3.10 (18 agosto 2022)
Testato con Android Studio Dolphin Beta 5 ed Electric Eel Canary 9.
Ora sono disponibili download autonomi dell'emulatore. Se riscontri a causa di problemi o arresti anomali con l'ultima release stabile, segnalare un bug e valuta la possibilità di scaricare una versione funzionante in precedenza dal archivi dei download dell'emulatore.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Migliore supporto dei percorsi Unicode su Windows
- Migliore gestione dell'arresto dell'emulatore in modo da poter lanciare un nuovo lancio della stessa durata di visualizzazione media riuscire.
- Aggiornamento del design pieghevole della durata di visualizzazione media e impostazioni predefinite
- Pulsanti dell'emulatore Wear aggiornati
- Miglioramenti allo streaming audio gRPC
- Comando della console dell'emulatore ridimensionabile aggiunto
- Correzione Chrome per API 31
- [Correzione di bug] Autorizzazione dell'Account Google non riuscita con GmsCore 21.42.18
31.2.10 (20 aprile 2022)
Testato con Android Studio Dolphin Canary 8 e Chipmunk RC 1.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Aggiungi un'utilità per caricare le funzioni Vulkan con fallback
- [Correzione di bug] Correggere l'errore di build gcc8
31.2.9 (23 marzo 2022)
Testato con Android Studio Dolphin Canary 7.
Questo aggiornamento include la seguente correzione:
- [Correzione di bug] Ignora la pressione di memoria durante il salvataggio dell'istantanea su M1
31.2.8 (7 febbraio 2022)
Testato con Android Studio Bumblebee Patch 1 e Chipmunk Canary 6.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- [Correzione di bug] Impossibile accedere alle app
- [Correzione di bug] Problema n. 215368358: "adb reboot" sulla piattaforma Intel ha un arresto anomalo con "richiesta di arresto della vCPU"
31.2.7 (1 febbraio 2022)
Testato con Android Studio Bumblebee Patch 1 e Chipmunk Canary 6.
Questo aggiornamento include la seguente correzione:
- [Correzione di bug] Errore dell'emulatore in attesa sulle macchine M1.
31.2.6 (20 gennaio 2022)
Testato con Android Studio Arctic Fox, Bumblebee beta 4 e Chipmunk Canary 6.
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Sono stati aggiunti i pulsanti di usura all'emulatore Wear OS.
- Tutte le proprietà del veicolo sono state modificate nella scheda VHAL.
- [Correzione di bug] Autorizzazione dell'Account Google non riuscita con GmsCore 21.42.18.
- [Correzione di bug] Netshaper non funzionava bene con VirtioWifi.
- [Correzione di bug] Il comando della console del mouse dell'evento non ha funzionato.
- È stato aggiunto un controllo KVM per la creazione di una durata di visualizzazione media locale.
31.1.3 (18 gennaio 2022)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Porte della console abilitate per Fuchsia.
- Quando ridimensiona una finestra multi-display, l'orientamento viene ignorato.
- Wi-Fi: aggiunto supporto per il filtro dei pacchetti unicast basati su MAT MAC .
- Wi-Fi: è stato risolto l'arresto anomalo quando vmnet è in uso.
30.9.5 (15 dicembre 2021)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Aggiunta la possibilità di ridimensionare facilmente le finestre delle dimensioni di un computer o di un tablet.
- Aggiunto il supporto per l'input multi-touch da dispositivi host compatibili.
- VirtioWifi: aggiunto il supporto della rete Tap.
- Input rotatorio abilitato per le immagini di sistema Wear.
- È stato risolto il problema di configurazione dell'audio gRPC.
- Aggiornamento della funzionalità di riproduzione dell'emulatore SensorReplay per supportare i sensori Android standard.
- Collegato l'emulatore a periferiche e dispositivi tramite USB con passthrough USB.
30.4.5 (23 febbraio 2021)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- macOS: sono stati risolti i problemi di distorsione dell'input audio.
- Aggiunto il supporto per virtio-vsock nello spazio utente.
- Le immagini di sistema future utilizzeranno virtio-console per i messaggi logcat e kernel.
- Accelera il rendering Vulkan.
- Aggiunto il supporto per il debug degli snapshot in caso di errore di test.
- virtio-gpu: definizioni aggiornate per supportare le enumerazioni delle risorse BLOB più recenti.
- Aggiunto il supporto degli snapshot per "asg" di tipi di trasporto grafici.
- macOS: aggiunto il supporto per la creazione rispetto all'SDK macOS 11.1 e versioni successive.
- KVMclock abilitato per impostazione predefinita sulle immagini di sistema più recenti.
- Aggiunto il supporto di un sensore del battito cardiaco agli emulatori Wear.
- Rimosso il backend Vulkan di libportability.
- Aggiunto il supporto per altre funzionalità nel simulatore del modem.
30.0.26 (16 agosto 2020)
Questo aggiornamento include diverse nuove funzioni, miglioramenti a funzioni esistenti, e correzioni di bug.
Supporto per i pieghevoli grazie al sensore della cerniera virtuale e alla vista 3D
Aggiunto il supporto per i sensori a cerniera per i dispositivi pieghevoli. Ciò richiede un futuro Immagine di sistema Android 11 e configurazione della durata di visualizzazione media. Visualizzazione pieghevole 3D e cerniera sono ora integrati con i preset pieghevoli esistenti. Le seguenti Può essere utilizzata, ad esempio, con il file
config.ini
pieghevole AVD 7.3:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
I dispositivi pieghevoli ora hanno anche un parametro di sottotipo.
config.ini
la proprietàhw.sensor.hinge.sub_type = hinge/fold
è ora disponibile. Consulta le Sviluppo per Android 11 con Android Emulatore post del blog per saperne di più.Il sensore della cerniera è ora attivo per impostazione predefinita.
Se è configurato un dispositivo pieghevole, l'emulatore ora invia i sensori dell'angolo di cerniera degli aggiornamenti e delle modifiche alla postura dell'ospite. I dispositivi pieghevoli esistenti ora aggiorna l'angolazione e la postura del sensore della cerniera quando si piega o si apre la barra degli strumenti sono stati premute.
Emulatore per host ARM64
Il codice sorgente dell'emulatore Linux ora supporta la compilazione incrociata da x86_64 ad arm64 host, abilitando l'esecuzione di immagini di sistema arm64 con la virtualizzazione KVM. Al momento, solo
-gpu swiftshader_indirect
(rendering host Swader arm64) è supportato, ma è possibile anche utilizzare un insieme compatibile di librerie libEGL/libGLESv2 GPU host Può essere usato sostituendo lib64/gles_swiftshader con questi file e riavviandolo con-gpu swiftshader_indirect
. Anche gli snapshot potrebbero non funzionare (aggiungi-no-snapshot
alla riga di comando). Istruzioni:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
È in corso il supporto per Apple Silicon.
Supporto di virtio-gpu
- Aggiunto supporto sul lato host per il blob coerente con host virtio-gpu Google Cloud.
- A causa di come funziona il rendering dell'emulatore, ora elaboriamo la forza virtio-gpu in il thread della vCPU (perché il rendering viene comunque scaricato in altri thread). Il rendering virtio-gpu sarà abilitato in un emulatore e un'immagine di sistema futuri completamente gestita.
- In una futura immagine di sistema, l'emulatore sarà in grado di eseguire tutte le grafiche con su uno stack basato su virtio-gpu.
Altre nuove funzionalità e miglioramenti
- Il passthrough USB è ora disponibile su Windows utilizzando
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
. (Ciò dovrebbe anche che hanno già funzionato su Linux e macOS) - Le librerie WebRTC sono state aggiornate alla versione M83.
- L'emulatore ora supporta lo streaming audio nei container su WebRTC.
- L'endpoint darwinn pipe è stato rimosso.
- La decodifica CUDA VPx per il video è ora disponibile, se la decodifica CUDA VPx è disponibile in
hardware tramite la variabile di ambiente
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
. - Su macOS, SSE 4.1 e 4.2 sono ora disponibili all'interno del guest Android.
- Su macOS, INVTSC è ora abilitato per impostazione predefinita. Questo può migliorare la precisione del tempo le misurazioni dell'ospite.
- Ora teniamo traccia del pannello di controllo esteso selezionato dall'utente nelle metriche.
- L'emulatore Linux ora utilizza l'orologio paravirtualizzato KVM quando il kernel ospite è >= 5.4 (immagini di sistema R o successive).
- L'emulatore ora utilizza LZ4 per decomprimere i kernel guest, rendendolo compatibile con della moderna pipeline del kernel.
Sono stati aggiunti comandi della console per ottenere la directory AVD dell'emulatore e il file di rilevamento percorso nel caso d'uso incorporato in Studio e percorso degli snapshot:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
Per consentirti di risparmiare più facilmente spazio verticale sullo schermo, abbiamo aggiunto un'opzione per nascondere il frame del dispositivo per la durata di visualizzazione media corrente in Controlli estesi > Impostazioni. A nascondere a livello globale i frame dei dispositivi per tutte le visualizzazioni di pagina, abbiamo reso Flag funzionalità
NoDeviceFrame
, che può essere attivato avviando l'emulatore dalla riga di comando con-feature NoDevice
frame o per bloccarlo, aggiungendo DaNoDeviceFrame = on
a~/.android/advancedFeatures.ini
(crea questo file se non esiste già).È stato aggiunto un menu a discesa nella pagina della rete mobile per attivare e disattivare la misurazione di rete, questa è un'operazione autonoma per le immagini di sistema meno recenti che non supportano il 5G Pulsante di attivazione/disattivazione della misurazione.
- È stato anche aggiunto il comando della console per lo stesso scopo:
gsm meter on|off
- È stato anche aggiunto il comando della console per lo stesso scopo:
Upgrade della toolchain / build a C++17.
Correzioni: emulatore incorporato
- Ora gli appunti dovrebbero funzionare.
- È stato risolto il problema per cui i caratteri maiuscoli venivano restituiti come caratteri minuscoli nell'emulatore.
- È stato risolto il problema di caricamento del token della console da un percorso Unicode nelle finestre.
- È stato corretto il messaggio di errore
SO_REUSEPORT
su Linux. - Risolto un problema di danneggiamento degli snapshot durante l'invio di comandi snapshot tramite gRPC, e quando si preme il pulsante di salvataggio dell'istantanea in Android Studio incorporato. un emulatore.
Utilizzando l'emulatore Linux incorporato in Studio, abbiamo riscontrato che, tramite Chrome Remote Desktop, si è verificato un bug per cui
XDG_RUNTIME_DIR
non è impostato e l'emulatore incorporato potrebbe non essere visualizzato a causa della del file di rilevamento dell'emulatore inXDG_RUNTIME_DIR
. Puoi controllare stato del problema corrispondente nel problema di Chrome tracker.Come soluzione alternativa, l'emulatore ora utilizza i file di rilevamento possibilmente diversa directory basata sull'UID utente:
/run/user/<uid>
.Emulatore incorporato: i dispositivi con angoli arrotondati/tacche ora vengono modificati correttamente il loro layout per fare spazio agli angoli e alla tacca. Questa operazione richiede un avvio a freddo di questi emulatori.
L'endpoint gRPC ora supporta l'invio di SMS al dispositivo.
Correzioni generali
- Abbiamo riscontrato problemi di compatibilità nell'esecuzione dell'emulatore Windows con Riot Vanguard attivo. L'emulatore di Windows ora rileva l'anti-truffatore di Vanguard e scoppia e apparirà un messaggio di avviso.
- È stato corretto l'errore
FD_SETSIZE
su Windows. Ora usiamoWSAEventSelect()
anzichéselect()
per stabilire connessioni non bloccanti ai server loopback. - Aggiunta della funzionalità F16C CPUID nell'emulatore Linux con correzioni dei problemi in esecuzione alcune applicazioni ARM64 attraverso la traduzione NDK; macOS/Windows in corso.
- È stata corretta la riproduzione del percorso gpx/KML per seguire i timestamp.
- È stato corretto il problema di rimbalzo all'avvio per i MacO.
- Se
hw.audioInput=no
ehw.audioOutput=no
inconfig.ini
, l'audio dell'emulatore è ora correttamente disattivato. - Risolto un problema per cui la finestra dell'emulatore veniva ridotta a icona durante il caricamento la finestra dei controlli era aperta ma non attiva, la finestra dei controlli estesi avrebbe mantenuto appare quando ridimensiona la finestra dell'emulatore. Rimuoveremo completamente (la richiesta con finestra di controlli estesi attiva) in un aggiornamento futuro.
- È stato corretto un bug discontinuo in cui il Wi-Fi non era connesso all'avvio dell'emulatore.
- È stato risolto il problema di blocco all'uscita quando l'emulatore emetteva i comandi della shell con un tempo lungo o indefinito timeout.
- Aggiornamento del pc-bios con correzioni per un supporto migliore delle immagini di grandi dimensioni passate a
-initrd
. il BIOS precedente usava un metodo molto inefficiente. - È stato risolto l'arresto anomalo durante la terminazione quando viene utilizzata l'opzione
-wifi-server-port
. - Ora l'emulatore visualizza un avviso se vengono passate a
-prop
opzioni non supportate Sono supportati solo gli oggetti qemu.* - Quando si crea l'emulatore su Windows, dovrebbero esserci meno possibilità di vedere degli errori irregolari nella scrittura sui file. Per ulteriori informazioni, consulta la documentazione di Windows Build istruzioni.
- Pulsante di zoom disattivato per gli annunci di visualizzazione media pieghevoli, causando problemi.
- Ora l'emulatore segnala correttamente il tempo di avvio derivante da un riavvio del dispositivo.
- Linux: se le autorizzazioni KVM non sono sufficienti, l'emulatore ora stampa più rapidamente le istruzioni di debug.
- È stato risolto il problema per cui l'emulatore non riusciva ad avviare le immagini di sistema recenti senza dell'accelerazione.
- È stato corretto il danneggiamento della memoria o l'arresto anomalo all'avvio da un rilevatore completato.
- È stata corretta la perdita di memoria durante sessioni di registrazione dello schermo di lunga durata.
- Icone dell'emulatore aggiornate per riflettere il branding di Studio 4.1.
- Aggiunto un supporto migliore per il rilevamento delle sessioni remote su Windows.
Correzioni: decodifica di grafica e video
- È stato risolto un problema per cui l'ultimo gioco di Asphalt 9 era stato visualizzato con una schermata nera.
- È stato rimosso lo spam sullo svuotamento del buffer mappato con
NULL
. - È stata corretta una condizione di gara durante lo smantellamento dello stato Vulkan quando un'app Vulkan ospite è uscito.
- Gli screener di emulazione Vulkan ASTC/ETC2 sono ora integrati in libOpenglRender libreria. Sarà più affidabile rispetto alla lettura dal file system.
- Risolto un problema in Vulkan per cui, se in esecuzione con un'istanza Vulkan 1.0 sul
host,
vkGetImageMemoryRequirements2KHR
cancellerebbe erroneamente il file restituito CampopNext
dello structVkMemoryRequirements2
. - È stata corretta una perdita di memoria nel renderer Vulkan.
- Risolto un problema di regressione recente in cui Shar GLSL ES 1.00 ha nomi di variabili come
Compilazione di
isampler2D
non riuscita. - Aggiornamento del traduttore Shar ANGLE con varie correzioni che risolvono i possibili problemi non è stata completata la compilazione degli Shader in Linux.
- Ora l'emulatore si arresta in modo anomalo se il framebuffer di base blit shaker non riesce a vengono compilate in modo da tenere traccia del fenomeno.
- Aggiornato il traduttore Shar ANGLE per stare al passo con l'upstream di ANGLE. In questo modo è stato corretto
problema relativo al danneggiamento della memoria durante la traduzione e la piegatura costante di OpenGL ES
Shar che utilizzavano matrici non quadrate. Il traduttore di snapshot è ora un'istanza
raccolta condivisa,
libshadertranslator.dll
. - Risolto un problema di inizializzazione di Vulkan in alcuni driver GPU, per cui alcune versioni 1.1 funzioni del dispositivo non trovate.
- Vulkan: abbiamo tornato a utilizzare il caricatore predefinito, privilegiando il il caricatore Vulkan del sistema ha causato problemi in alcune configurazioni; troverà un modo migliore soluzione.
- È stato risolto il problema relativo all'utilizzo della memoria esterna Vulkan in cui avrebbe potuto essere importati indici del tipo di memoria non corrispondenti sull'host.
- È stato risolto il problema di emulazione di
GL_ALIASED_POINT_SIZE_RANGE
in cui l'enum era non supportato sull'host. - È stato risolto il problema a causa del quale in alcune GPU host non era possibile eseguire la compilazione degli Shaper Skia a causa di
errori relativi a
GL_EXT_shader_framebuffer_fetch
. - Poiché la nostra copia del renderer D3D9 ANGLE è stata rimossa qualche versione fa, ora anche gli utenti che si trovavano su quel renderer passano automaticamente a d3d11 ANGLE, se era nelle preferenze della UI.
- Sono state aggiunte ulteriori informazioni di debug all'inizializzazione WGL su Windows per: errori di traccia.
- Quando il
hw.gltransport=virtio-gpu-pipe
, le prestazioni vengono migliorate senza ruotare dell'organizzatore nei trasferimenti dall'host all'ospite. - È stata aggiunta un'ulteriore registrazione di debug per i casi in cui l'inizializzazione dell'emulazione OpenGLES non va a buon fine.
- È stato risolto un problema relativo allo sfarfallio o alla mancata visualizzazione dei video di YouTube nell'istantanea caricamento.
- Per il momento siamo tornati alla decodifica software per libvpx perché abbiamo riscontrato problemi con
Decodifica hardware CUDA di libvpx. Se disponi di una decodifica hardware CUDA supportata
implementazione sul lato host, la decodifica hardware di libvpx può essere riattivata
la variabile di ambiente
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
.
30.0.10 (30 aprile 2020)
Questo aggiornamento include il supporto per l'esecuzione dell'emulatore direttamente in Android Studio e i dispositivi virtuali con la modalità "Finestra in formato libero" attivata per impostazione predefinita.
Esegui l'emulatore in Android Studio
Ora l'emulatore Android può essere eseguito direttamente su Android Google Studio. Utilizza questa funzionalità per risparmiare spazio sullo schermo e spostarti rapidamente tra l'emulatore e la finestra dell'editor usando i tasti di scelta rapida e per organizzare l'ambiente e l'emulatore in una singola finestra dell'applicazione.
Modalità finestra in formato libero
Ora puoi creare una durata di visualizzazione media con la modalità finestra in formato libero attivata selezionando profilo hardware per tablet in formato libero da 13,5” durante la creazione di un dispositivo virtuale Android Studio. Questo profilo hardware richiede un'immagine di sistema con Android 11 Anteprima per gli sviluppatori 3 o successive.
Problemi noti
Al momento il ridimensionamento delle finestre in formato libero non è disponibile a causa di problemi di trasferimento lo stato attivo su Gestore finestre. Questo problema verrà risolto in Android 11 in futuro. release dell'immagine di sistema.
30.0.0 (19 febbraio 2020)
Questo aggiornamento include immagini di sistema Android 11 (livello API 30) e durante l'esecuzione di programmi binari ARM.
Immagini di sistema Android 11
Ora puoi creare una durata di visualizzazione media su cui è installato Android 11 selezionando una delle immagini di sistema disponibili con livello API 30:
- x86: include le ABI x86 e ARMv7.
- x86_64: include le ABI x86, x86_64, ARMv7 e ARM64.
Supporto per i file binari ARM sulle immagini di sistema Android 9 e 11
Se prima non eri in grado di utilizzare Android Emulator perché la tua app dipendeva da file binari ARM, ora puoi usare l'immagine di sistema Android 9 x86 o qualsiasi immagine di sistema Android 11 per eseguire la tua app: non è più necessario scaricare un'immagine di sistema specifica per eseguire file binari ARM. Questi dispositivi Android 9 e Le immagini di sistema Android 11 supportano ARM per impostazione predefinita e offrono prestazioni migliorate rispetto a quelle con emulazione ARM completa.
Problemi noti
- Alcuni file binari ARMv7 non vengono eseguiti su immagini di sistema Android 11 x86 e x86_64. Prendi in considerazione la possibilità di sviluppare app per ARM64 se scegli come target Android 11.
29.0.11 (29 maggio 2019)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Windows: ora l'emulatore si basa sulla DLL
libgcc
fornita invece di in fase di compilazione conlibgcc
in modo statico. - Linux: aggiunto il supporto di logcat all'API gRPC. Per ulteriori informazioni su gRPC, consulta Emulatore di flussi di dati gRPC (Linux).
- L'emulatore ora include una build headless per ospiti x86 a 32 bit
(
qemu-system-i386
) Questa funzionalità abilita immagini x86 a 32 bit per i livelli API 26 e più in basso per l'esecuzione con la build headless. Tieni presente che per gli ospiti x86 a 32 bit con API 27 e versioni successive, l'emulatore utilizza il motore a 64 bit (qemu-system-x86_64
) perché in queste immagini di sistema, mentre lo spazio utente è a 32 bit, il kernel 64 bit. Android Studio utilizza il kernel per selezionare i motori di emulazione. - Ora puoi specificare percorsi personalizzati della libreria Qt utilizzando l'
ANDROID_QT_LIB_PATH
variabile di ambiente. - Ora puoi eseguire l'emulatore con programmi binari precedenti che utilizzano QEMU1 se
Gli eseguibili QEMU1 (
emulator[64]-[x86|arm|etc]
) vengono inseriti nell'emulatore . - Windows: risolto un problema che a volte causava il mancato funzionamento dell'emulatore inizia con una "richiesta di arresto della vCPU" per creare un nuovo messaggio email.
- Risolto un problema relativo a una barriera di pipeline non necessaria nella compressione emulata trame in Vulkan.
- Risolto un errore che si verificava con le richieste proxy http durante il trasferimento in blocchi è stata utilizzata la codifica. Per ulteriori informazioni, consulta dettagli del commit.
29.0.9 (7 maggio 2019)
Questo aggiornamento include la seguente correzione:
- Windows: risolto un problema per cui la videocamera e la webcam per la scena virtuale non funzionavano sull'emulatore.
29.0.8 (6 maggio 2019)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Aggiunto il supporto per più display hardware virtuali in caso di ospiti per enumerare e impostare ogni visualizzazione. Più display hardware virtuali verrà inclusa in un prossimo aggiornamento dell'immagine di sistema dell'emulatore.
- È stata aggiunta una nuova opzione della riga di comando:
-delay-adb
. Questa opzione elimina di pacchetti ADB finché il guest non ha completato l'avvio (off avvio). Questa opzione consente di risolvere i problemi che potrebbero verificarsi utilizzando in un ambiente CI che riavvia l'emulatore e utilizza DCMS nel tempo. - È stato corretto un errore che si verificava durante il caricamento degli snapshot nella posizione
glIsRenderbuffer
restituirà il valore errato. - Sono stati risolti alcuni problemi di stato inattivo al riavvio dell'ospite Android.
- Windows: sono stati risolti i problemi che impedivano l'avvio dell'emulatore quando Il nome utente di Windows conteneva spazi o caratteri non ASCII.
Problemi noti
- La UI degli snapshot è disabilitata per le immagini di sistema Automotive perché gli snapshot non sono attualmente supportati per queste immagini di sistema.
29.0.6 (1 maggio 2019)
Questo aggiornamento include diverse nuove funzioni, miglioramenti a funzioni esistenti, e correzioni di bug.
Rimozione del supporto per Windows a 32 bit e QEMU1
Per una migliore manutenzione dell'emulatore, non distribuiamo più QEMU1 e Windows a 32 bit file binari. Se si utilizza Windows a 32 bit, non è possibile eseguire l'aggiornamento alla versione 29.0.6.
Requisiti per le immagini di sistema Android Q
Se vuoi eseguire una durata di visualizzazione media che utilizza un'immagine di sistema Android Q, ora devi usare versione 29.0.6 (questa versione) o successiva.
Rinnovo del progetto in marmo
Questo aggiornamento continua il nostro lavoro su Project Marble annunciata all'Android Developer Summit a novembre 2018. Per ulteriori informazioni su altri miglioramenti di Project Marble Nelle release precedenti, vedi Android Emulator: Project Marble miglioramenti.
In occasione di questo aggiornamento, la maggior parte degli sforzi di Project Marble è stata dedicata alla riduzione l'utilizzo delle risorse dell'emulatore, ad esempio riducendo l'utilizzo della CPU da parte dell'emulatore in caso di inattività. Abbiamo incluso anche alcune modifiche che semplificano l'utilizzo dell'emulatore in un una più ampia varietà di ambienti e abbiamo risolto i problemi di qualità generali.
Le seguenti sezioni descrivono i miglioramenti di Project Marble che sono inclusi in questo aggiornamento:
Miglioramenti al comportamento dell'audio dell'host
A partire dalla versione 28.0.3, l'emulatore blocca l'input audio dall'host per impostazione predefinita.
Se vuoi utilizzare i dati audio dell'host, puoi attivare questa opzione andando a Controlli estesi > Microfono e attivazione dell'opzione Il microfono virtuale utilizza l'host input audio. Questa opzione viene disattivata automaticamente ogni volta che l'emulatore viene è stata riavviata.
Se utilizzi la riga di comando, puoi anche abilitare l'audio host utilizzando
-allow-host-audio
e puoi usare i seguenti comandi ADB per attivare
attivare o disattivare rispettivamente i dati audio:
adb emu avd hostmicon
adb emu avd hostmicoff
Miglioramenti alle build di emulatore headless
A partire dalla versione 28.0.25, l'emulatore include un'opzione di build headless eseguibili senza la UI. Puoi usare build headless per configurare per Docker e i flussi di lavoro di integrazione continua (CI).
Con questo aggiornamento, abbiamo apportato ulteriori miglioramenti per consentire l'esecuzione dell'emulatore
con un numero minimo di dipendenze. Su Linux, le build headless non sono più
Includono le librerie pulseaudio
o libX11
. L'approccio condiviso, in base al sistema,
le librerie che non sono incluse nell'emulatore sono state ridotte
seguente elenco:
Linux-vdso.so.1
Libutil.so.1
Libm.so.6
Libdl.so.2
Librt.so.1
Libpthread.so.0
Libgcc_s.so.1
Libc.so.6
ld-linux-x86-64.so.2
Upgrade delle librerie dell'interfaccia utente Qt alla versione 5.12 LTS
Questo aggiornamento include i seguenti miglioramenti rispetto alla release Qt 5.12 LTS:
- Per evitare arresti anomali nella decodifica
libpng
di Qt all'avvio di un determinato sistema l'emulatore ora usa la propria copia dilibpng
per decodificare le immagini PNG. - Per risolvere problemi relativi ad alcune installazioni di Linux contenenti versioni non compatibili
di alcune librerie dipendenti da Qt, ora pacchettizzeremo
libfreetype
,libsoftokn
,libsqlite3
elibxkbcommon
con l'emulatore. - L'emulatore ora utilizza le librerie di windowing native della piattaforma per ottenere monitorare le dimensioni, invece di utilizzare le librerie Qt che hanno restituito che consentono di analizzare i dati e visualizzare i risultati.
Ottimizzazioni automatiche della CPU dopo l'avvio a freddo
Per gestire l'utilizzo della CPU, l'emulatore ora esegue i seguenti comandi ADB su un
si avvia dopo aver ricevuto un segnale boot complete
:
adb shell settings put screen_off_timeout 214783647
- Questo comando aumenta il timeout per lo spegnimento dello schermo in modo che l'emulatore possa essere utilizzato modalità batteria senza ricarica. In modalità Batteria, l'utilizzo della CPU in background è notevolmente è ridotto. di Gemini Advanced.
- Con la modalità di ricarica con alimentazione tramite CA, le operazioni in background di GMSCore, come gli aggiornamenti delle app, possono richiedere su tutti i core della CPU del dispositivo e, per estensione, sulla macchina dell'utente, senza .
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- Questo comando revoca le autorizzazioni di accesso al microfono per l'app Ricerca Google, che riduce notevolmente l'utilizzo della CPU in background nella schermata Home e in Avvio app quando l'app Ricerca Google sia attiva. di Gemini Advanced.
- Questo comando viene eseguito in aggiunta al comportamento predefinito dell'emulatore di disattivazione dell'audio dell'host per l'host. Inoltre, questo fornisce automaticamente la mitigazione dell'uso della CPU descritta rilevamento hotword dalla release 28.0.23. di Gemini Advanced.
Nuove variabili di ambiente per il monitoraggio delle prestazioni
Ora puoi utilizzare due nuove variabili di ambiente per consentire il monitoraggio dettagliato le prestazioni e l'uso delle risorse da parte dell'emulatore.
SHOW_PERF_STATS=1
- Questa variabile di ambiente consente di monitorare l'utilizzo di CPU e RAM. Monitoraggio per l'utilizzo della RAM si distingue tra utilizzo della grafica e memoria residente totale.
ANDROID_EMU_TRACING=1
- Questa variabile di ambiente consente di stampare ogni volta che un input o una grafica richiede molto tempo (più di 1 ms). di Gemini Advanced.
- Utilizziamo anche questa variabile di ambiente per aiutare a diagnosticare i problemi che Gli utenti Windows hanno riscontrato un numero maggiore di jank (frame interrotti) rispetto agli utenti su macOS o Linux.
Miglioramenti generali di Project Marble
Questo aggiornamento include anche i seguenti miglioramenti generali che fanno parte dell'iniziativa Project Marble:
- Ora puoi mettere in pausa immediatamente tutte le vCPU sull'emulatore tramite i seguenti comandi della console:
adb emu avd pause
adb emu avd resume
- L'overhead associato al disegno OpenGL è notevolmente ridotto. Questo miglioramento riduce l'utilizzo della CPU mentre l'emulatore riproduce le animazioni.
- Ripristino del supporto per il dispositivo di rete virtuale e1000 del QEMU principale. Puoi utilizzare la modalità questo dispositivo per configurare l'emulatore in un ambiente di rete con bridge. In un nell'ambiente di rete in modalità bridge, l'emulatore viene mostrato sulla rete host nell'emulatore viene mostrata la rete host.
- Per avviare l'emulatore vengono ora usati programmi BIOS appropriati per QEMU 2.12.
- È stato eseguito l'upgrade della versione di
ffmpeg
alla 3.4.5 per la codifica e la decodifica video. - Notevolmente ridotto l’overhead dell’I/O del loop principale QEMU su macOS grazie alla sostituzione del
basato su
select()
con un loop principale basato sukqueue
. - Dimensioni del buffer logcat aumentate a 2 MB per risolvere problemi di instabilità impreviste EOF quando si esegue logcat con l'emulatore.
- Ora l'emulatore esporta la variabile di ambiente
LC_ALL=C
per impostazione predefinita. Questo risolvere problemi di arresti anomali e di incompatibilità associati all'esecuzione in diverse lingue. - Ora puoi monitorare l'utilizzo di CPU e RAM dell'emulatore in base alle prestazioni statistiche a cui puoi accedere in Controlli estesi > Impostazioni > Avanzate > Statistiche sul rendimento. Usa queste statistiche per diagnosticare rapidamente i problemi relativi all'emulatore sembra utilizzare troppa CPU o RAM.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
ora utilizza le GPU dell'host anziché un emulato. Questa modifica consente di risolvere i problemi relativi alle immagini e gli asset non vengono visualizzati a causa di un formato non corretto per la lettura.- Aggiunto il supporto per le estensioni OpenGL ES
GL_EXT_texture_format_BGRA8888
eGL_APPLE_texture_format_BGRA8888
, se queste estensioni sono supportate dal . - Sono state aggiunte altre informazioni diagnostiche all'interfaccia utente di Report errori. Inoltre, puoi accedere
segnalazioni di bug dalla console utilizzando i seguenti comandi:
telnet localhost 5554
avd bugreport
- Nelle immagini di sistema Android Q, l'emulatore aumenta le dimensioni minime della RAM a 2 GB.
- Aggiunta di altri dati di logging e stampa ogni volta che OpenGL o l'hypervisor non riesce a vengono inizializzate.
- Se l'emulatore non riesce ad avviare un'istanza
-read-only
simultanea di una durata di visualizzazione media, ora l'emulatore tenta di riavviare la durata di visualizzazione media di-read-only
altre 3 volte in 3 secondi. Questa modifica aumenta la probabilità che l'emulatore sia in grado di avvia le istanze-read-only
simultanee di una durata di visualizzazione media se esistono altre istanze scrivibili di che la durata di visualizzazione media non è stata completata. - Per le immagini di sistema future, l'emulatore ora supporta Hardware Composer 2.0. Questa modifica dovrebbe ridurre l'overhead del driver quando viene eseguita la maggior parte delle animazioni.
- La build dell'emulatore ora è basata su CMake/Ninja.
- Nell'interfaccia utente dei controlli estesi dell'emulatore, le linee di divisione nelle scorciatoie da tastiera sono stati ripristinati.
- Gli utenti possono ora scegliere di fornire al nostro team metriche di utilizzo di CPU e RAM in un Intervallo di 10 secondi. Utilizziamo queste metriche per arricchire i nostri dati sugli emulatori con i diversi casi d'uso dei nostri utenti, il che ci consente per rendere l'emulatore più efficiente e reattivo.
Correzioni generali di Project Marble
Questo aggiornamento include anche le seguenti correzioni generali che fanno parte del Iniziativa Project Marble:
- Sono stati risolti i problemi relativi a contrazioni e frame errati visualizzati su con GPU Intel quando vengono utilizzate immagini di sistema Android Q.
- Sono stati risolti i problemi per cui veniva visualizzata una schermata nera durante l'utilizzo del sistema Android Q immagini con skin per Pixel 2 XL (o qualsiasi skin con una tacca o gli angoli arrotondati).
- Risolto un problema per cui l'opzione della riga di comando
-partition-size
non veniva impostata la dimensione della partizione dati. - Risolto un problema per cui l'audio pulse nell'emulatore Linx girava e occupava un intero core della CPU in alcune situazioni.
- Sono stati risolti i problemi di accesso alla memoria oltre i limiti durante l'elaborazione compressa texture.
- Sono stati corretti gli errori GL che si sono verificati nell'host in
glTexSubImage2D
durante l'aggiornamento alcuni buffer Gralloc (con formato RGB 565, RGB10A2, RGB(A)16F). - È stato risolto un problema di visualizzazione nelle immagini di sistema Android Q con istantanee in cui l'area notifiche la geometria è stata visualizzata con un'impostazione non corretta del divisore di istanza.
- Risolti alcuni problemi di arresto anomalo e blocco difficili da riprodurre all'avvio. dovuto alla perdita di indicatori da parte di Qt o alla presenza di stati irregolari e incoerenti all'avvio.
- Sono stati risolti numerosi problemi di contemporaneità. Ora siamo in grado di creare l'emulatore Linux con ThreadSanitizer (TSAN), che può rilevare facilmente bug che altrimenti difficili da riprodurre.
- Per gli utenti Linux: abbiamo scoperto che su alcuni kernel host, l'istanza ospite
il kernel può generare errori e chiudersi in KVM con un errore hardware generico. L'emulatore
ora
abort()
in questo caso per aumentare il debug (in precedenza, l'emulatore si bloccava). - Per gli utenti Linux: per praticità con le configurazioni CI, è possibile utilizzare il nuovo
Opzione della riga di comando
-stdouterr-file <file-name>
per reindirizzare siastdout
chestderr
a un file. - È stato risolto un problema per cui
SO_REUSEADDR
veniva utilizzato in modo errato. Per ulteriori informazioni, consulta i dettagli del commit. - Risolto un problema di lunga data relativo all'emulatore Windows in cui i processi secondari, come i comandi ADB, non si avviavano se il nome utente conteneva spazi.
- È stato risolto un problema relativo all'inizializzazione mancante di RCU nei thread vCPU HAXM. Questo problema potrebbe risolvere alcuni arresti anomali e condizioni di gara.
- È stato risolto un arresto anomalo che si è verificato con determinati pattern di salvataggio e caricamento. di snapshot dall'interfaccia utente degli snapshot usando immagini recenti di sistemi Android Q.
- Risolto un problema per cui la videocamera della scena virtuale rimaneva vuota quando l'emulatore è stato inizializzato da uno snapshot se era in riproduzione una macro AR durante la riproduzione dello snapshot è stato salvato.
- Risolto un problema per cui lo schermo nero di alcuni utenti con configurazioni di desktop remoto
quando si avvia l'emulatore su Linux. Per evitare questo problema, ora l'emulatore
configura
MESA_RGB_VISUAL
. Per ulteriori informazioni, consulta i dettagli del commit. - È stato risolto un problema per cui la rotazione appaiono sui pulsanti di visualizzazione degli annunci di visualizzazione della TV.
- È stato risolto un problema a causa del quale se l'emulatore era impostata sempre in alto, la finestra dei controlli estesi veniva visualizzata ogni volta è stato ruotato.
Profili hardware per dispositivi pieghevoli
L'emulatore ora include profili hardware per i dispositivi pieghevoli. Per utilizzare questi nuovi profili hardware, è necessario utilizzare Android Studio 3.5 Canary 10 o versioni successive.
Esistono due profili hardware pieghevoli che puoi utilizzare per creare una durata di visualizzazione media:
- 7,3" Pieghevole: 1536 x 2152 aperto, 4,6" 840 x 1960 piegato
- 8" Pieghevole: 2200 x 2480 aperto, 6,6" 1480 x 2480 (piegato)
Quando esegui l'emulatore usando uno di questi profili hardware, puoi piegare apri il dispositivo usando le azioni di chiusura e apertura nella barra degli strumenti dell'emulatore, nei comandi della console o le seguenti scorciatoie da tastiera:
- Fold:
Ctrl + F
(Command + F
su macOS) - Espandi:
Ctrl + U
(Command + U
su macOS)
Macro AR
L'emulatore ora include macro AR che possono aiutarti a testare le azioni AR più comuni. Ad esempio, puoi utilizzare una macro per ripristinare tutti i sensori del dispositivo predefinito.
Per maggiori informazioni, vedi Eseguire il test delle azioni AR comuni con le macro.
Supporto Vulkan (Windows, Linux)
Gli utenti Windows e Linux possono ora testare le app Vulkan con l'emulatore Android fino al Vulkan 1.1 quando si utilizza un'immagine di sistema compatibile (Android Q Beta 3 o versioni successive per Vulkan 1.1, Android Q Beta 2 per Vulkan 1.0) e una GPU host compatibile (questo include la maggior parte delle GPU Intel, NVIDIA e AMD del 2014 e successivi).
Per attivare il supporto Vulkan, devi aggiungere i seguenti flag delle funzionalità al tuo
~/.android/advancedFeatures.ini
(crea il file se non esiste):
Vulkan = on
GLDirectMem = on
Supporto iniziale per sviluppatori ROM
Gli sviluppatori di ROM che stanno creando sdk_phone_x86
o sdk_phone_x86_64
(userdebug
, eng
varianti) sul ramo master
AOSP possono ora eseguire un
Emulatore abilitato per Vulkan.
Questo supporto è ancora sperimentale ed è rivolto principalmente agli sviluppatori che lavorano su
immagini di sistema, driver e motori di gioco. Mancano ancora molte estensioni.
Tuttavia, è supportata la memoria HOST_COHERENT
e ora dovresti essere in grado di
esegui gli esempi di tutorial sull'API Vulkan.
Se utilizzi Linux, puoi provare a eseguire questa operazione utilizzando i seguenti comandi:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
Rendering Skia con Vulkan
Le GPU NVIDIA e AMD che supportano Vulkan supportano anche l'interoperabilità zero-copy con
OpenGL tramite l'estensione GL_EXT_memory_objects
. L'emulatore sfrutta questo
per fornire un modo completo per eseguire il rendering dell'UI Android utilizzando Skia
API Vulkan.
Se disponi di una GPU NVIDIA o AMD che supporta Vulkan, usa quanto segue per testare il rendering Skia con un'immagine di sistema compatibile (Android Q Beta 3 e successive):
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
Supporto di macOS per Vulkan
Il supporto macOS è ancora sperimentale, ma l'emulatore include già Swiftshader MoltenVK e API libportability (gfx-rs). Puoi sperimentare con queste API impostando il seguente ambiente variabili:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- libportability:
ANDROID_EMU_VK_ICD=portability
Problemi noti
HAXM a volte può non riuscire a mappare la memoria coerente di Vulkan all'ospite e chiude l'emulatore. Questo problema verrà risolto in un prossimo aggiornamento di HAXM.
Emulatore di flussi gRPC (Linux)
Cerchiamo sempre di rendere l'emulatore il più versatile possibile consentendo ospitare il rendering e l'interattività della GPU nei più numerosi contesti di esecuzione. I nostri utenti di CI e di desktop remoti hanno i seguenti problemi di lunga data:
- L'invio programmatico dei comandi di input all'emulatore implica eseguire comandi della shell adb che possono subire un overhead elevato oppure l'utilizzo console Telnet, che è più veloce, ma potrebbe non funzionare con determinate reti configurazioni.
- Gli utenti di CI spesso eseguono emulatori headless, il che può rendere difficile notarlo problemi che richiedono che lo schermo sia visibile o interattivo.
- Gli utenti di Remote Desktop spesso non riescono a interagire con l'emulatore quando utilizzano l'host Rendering GPU perché il rendering GPU è spesso legato alla configurazione non virtuale dell'host vengono visualizzati i video.
Per risolvere questo problema, quando l'emulatore viene eseguito su un sistema Linux, ora servizio gRPC. gRPC è un framework generale per RPC che funziona su HTTP.
Per impostazione predefinita, il servizio gRPC dell'emulatore è disabilitato, ma puoi attivare
utilizzando la seguente opzione della riga di comando, dove <port>
è la porta da cui l'emulatore deve gestire le richieste gRPC (di solito 5556
):
-grpc <port>
Una volta avviato il servizio, i comandi gRPC possono essere inviati dai client. La l'attuale insieme di comandi consente sia l'invio di eventi di input che la ricezione screenshot. Questi comandi consentono di risolvere i seguenti problemi:
- I comandi di input possono essere inviati all'emulatore con un overhead ridotto su HTTP. HTTP consente inoltre di inviare comandi in configurazioni di rete aggiuntive.
- I comandi degli screenshot possono essere inviati per eseguire query sulla schermata corrente, anche se dell'emulatore è in esecuzione headless. Per l'interattività, gli eventi di input possono essere inviati torna all'emulatore.
- Gli utenti di Remote Desktop possono eseguire l'emulatore headless sul display principale con Rendering con accelerazione GPU durante l'utilizzo di gRPC per acquisire screenshot e inviare input eventi per interagire con l'emulatore.
Per un elenco completo dei comandi disponibili, vedi questo protobuf.
Per aiutarti a iniziare a utilizzare gRPC, abbiamo fornito alcuni client di esempio a cui puoi fare riferimento.
Al momento sono inclusi i seguenti esempi:
- Un servizio basato su Go che può essere utilizzato per eseguire query sugli stati dell'emulatore.
- Un'app React che dimostri interattività remota tramite screenshot e input RPC. Questo esempio richiede protobuf 3.7.0 o versioni successive.
- Un esempio Python che esegue una query sulla configurazione della VM dell'emulatore e poi invia una serie di comandi.
28.0.25 (29 marzo 2019)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
Build emulatore headless
L'emulatore è stato difficile da configurare con Docker e altre applicazioni per i flussi di lavoro di integrazione (CI) a causa delle aspettative implicite che il sistema in grado di supportare Qt insieme alle sue dipendenze della libreria condivisa (tra gli altri problemi).
Come primo passo per risolvere questo problema, abbiamo introdotto una variante dell'emulatore
launcher con eseguibili QEMU che non dipendono da Qt. Su Linux, è disponibile
è ancora presente un link a libX11
, ma ci auguriamo di rimuoverlo a breve.
Per usare l'emulatore headless, eseguilo dalla riga di comando come al solito.
ma sostituisci la chiamata binaria dell'emulatore con emulator-headless
. Per ulteriori informazioni
informazioni, consulta la documentazione 28.1.8 canary
aggiornamento della release.
- Sono stati corretti gli spasmi e la visualizzazione del frame non corretto sulle GPU Intel durante l'esecuzione di Android immagini di sistema Q.
- Sono stati risolti i problemi per cui lo schermo nero veniva visualizzato quando si utilizzava il sistema Android Q immagini con skin di Pixel 2 XL.
- Per avviare l'emulatore vengono ora utilizzati i programmi binari del BIOS più recenti. Questa modifica può contribuire a ridurre le "richieste di arresto delle vCPU" che a volte si verificano quando avvio l'emulatore su Windows.
- È stata eseguita una correzione del backporting per il "display errato durante il ripristino delle immagini di sistema Android Q da un'istantanea" problema.
- Gli utenti riscontravano la condizione "non autorizzata" problemi con emulatori
a causa di una modifica incompatibile dell'ADB negli strumenti di piattaforma 28.0.2. Puoi
ora usare in modo sicuro ADB da platform-tools 28.0.2 con l'emulatore. Se
problemi con lo stato "non autorizzato" emulatori, procedi nel seguente modo
passaggi per la risoluzione dei problemi:
- Esci da tutti gli emulatori.
- Elimina i file
~/.android/adbkey
e~/.android/adbkey.pub
. - Esegui questo comando:
adb kill-server
- Esegui questo comando:
adb devices
- Cancella i dati di visualizzazione media.
- Riavvia l'emulatore.
28.0.23 (29 gennaio 2019)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
Input audio dell'host disattivato per impostazione predefinita
Un post recente su Reddit nel dettaglio in che modo il sistema operativo Android ospite utilizzerà sempre il microfono e consentire quindi il comando "Hey Google" funzionare in modo imprevisto. Siamo spiacenti e collaborerà con il team Android per assicurarsi che il rilevamento della hotword è disabilitata anche nell'immagine di sistema.
Per risolvere questo problema, abbiamo apportato le seguenti modifiche:
- I dati audio dell'host effettivi sono ora silenziati per impostazione predefinita. Quando l'ospite utilizza microfono, viene passato il silenzio al posto dell'audio dell'organizzatore.
- Se vuoi utilizzare i dati audio host, ora puoi attivare l'opzione vai a Controlli estesi > Microfono e attivazione del microfono virtuale utilizza l'input audio dell'host. Questa opzione viene disattivata automaticamente ogni volta che viene riavviato l'emulatore.
Aggiornamenti sulle indagini sull'utilizzo della CPU
Durante le nostre indagini su Project Marble, abbiamo notato che l'utilizzo elevato della CPU generalmente l'emulatore rientra nelle tre categorie seguenti:
In caso di inattività: aggiornamenti automatici delle app nelle immagini del Play Store
Abbiamo rilevato che, a intervalli casuali, tutte le app installate vengono aggiornate, anche quando L'utente non ha eseguito l'accesso. Durante il processo, l'utilizzo della CPU è determinato dal numero core x 100% (in genere ~400%) in GMSCore e dex2oat. Puoi mitigare questo problema problema disattivando gli aggiornamenti automatici delle app nell'app Play Store.
In caso di inattività: rilevamento hotword
Quando ti trovi nella schermata Home e senza alcuna app in primo piano, può essere visualizzata una dell'utilizzo della CPU (~25% con picchi al 50%). Ciò è causato dal rilevamento della hotword che invia costantemente un ping all'host. Non puoi limitare il problema disattivando l'host input audio perché il costo della CPU è causato principalmente dal tempo necessario per andare all'ospite dall'organizzatore. Tuttavia, puoi limitare il problema revoca delle autorizzazioni di accesso al microfono dall'app Google.
Quando è attiva, a volte quando è inattivo: animazioni
La terza causa di un elevato utilizzo della CPU sono le animazioni. Abbiamo riscontrato che, ottimizzando lo stack dei driver grafici, possiamo inoltre ridurre l'utilizzo della CPU anche l'emulatore non sia inattivo. Implementeremo le ottimizzazioni dei driver di grafica in modo incrementale nell'ambito di Project Marble.
28.0.22 (21 dicembre 2018)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Risolto un problema di lunga data per cui, in alcune impostazioni, l'emulatore Mac doveva riavvio o panico del kernel con il salvataggio di Quickboot. (Problema 120951634)
- Quando si utilizza un file mappato come snapshot RAM, l'emulatore ora annulla la mappatura il mapping di file esplicitamente all'uscita.
28.0.20 (11 dicembre 2018)
Questo aggiornamento include i seguenti miglioramenti e correzioni:
- Risolto un problema su Windows che causava il blocco dell'emulatore sullo snapshot per determinati modelli di GPU Intel.
- Risolto un problema che causava uno stato del dispositivo ADB
unauthorized
durante l'utilizzo di un localitàANDROID_SDK_HOME
non standard. - Risolto un problema su Windows che causava l'arresto anomalo dell'emulatore durante delle immagini di sistema con l'accelerazione della CPU disabilitata.
- Correzione dell'effetto pixelato problema con il display dell'emulatore. A questo punto il sottocampionamento dovrebbe funzionare.
- Problema risolto su macOS 10.14+, dove il controllo mouselook della videocamera della scena virtuale potrebbe diventare Troppo sensibile a causa di un'interazione con nuove impostazioni di sicurezza per l'accessibilità.
- È stato corretto un errore nel calcolo del fuso orario che potrebbe far sì che l'orologio dell'emulatore cambiare sporadicamente.
- Sono stati corretti gli errori di rendering in vari formati cocos2d e Unreal di Google Cloud.
- Nell'emulatore è stato aggiunto il supporto per il peer-to-peer Wi-Fi.
Ora i due emulatori possono comunicare tra loro direttamente tramite Wi-Fi se si utilizzano
Immagine del Play Store torta. Per utilizzare il peer-to-peer Wi-Fi, avvia due visualizzazioni di durata media con lo stesso
-wifi-server-port
e-wifi-client-port
argomenti:- .
emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- È stato aggiunto il supporto di più webcam su Windows scattando foto non compatibili e ridimensionarle dinamicamente per adattarle all'impostazione della fotocamera di Android ospite.
28.0.16 (novembre 2018)
Questo aggiornamento include diverse nuove funzioni, miglioramenti a funzioni esistenti, e correzioni di bug.
Utilizzo delle risorse
L'emulatore ora utilizza meno RAM nel complesso, soprattutto quando si utilizzano immagini di sistema con Livello API 28 o superiore. Queste immagini di sistema includono un migliore utilizzo della memoria per i driver di grafica lato guest.
Inoltre, abbiamo migliorato l'utilizzo delle risorse nelle seguenti aree:
- Riduzione dell'utilizzo della memoria dell'emulatore durante i test a lunga esecuzione. Se continui problemi con l'utilizzo della memoria durante i test a lunga esecuzione, crea un problema che descrive il tuo caso d'uso in Issue Tracker.
- È stato ridotto l'utilizzo della CPU durante l'esecuzione di app con animazioni.
- È stato risolto un problema per cui il contesto QEMU AIO poteva trapelare su Windows.
Esegui contemporaneamente più istanze di una singola durata di visualizzazione media
Ora puoi avviare più istanze della stessa durata di visualizzazione media ed eseguirle contemporaneamente. Le istanze avviate dopo la prima sono di sola lettura e i relativi le modifiche apportate al disco virtuale guest vengono ignorate all'uscita.
Per eseguire più istanze della stessa durata di visualizzazione media contemporaneamente, avvia qualsiasi istanza
dopo la prima istanza dalla riga di comando usando il flag -read-only
.
Questa funzione è resa possibile copiando i file QCOW2 associati al
parti scrivibili dell'immagine Android. Per aiutarti a gestire lo spazio su disco, abbiamo anche
lo strumento a riga di comando qemu-img
in bundle per consentirti di pre-commettere QCOW2
prima di avviare più istanze.
Inoltre, quando vengono utilizzati insieme agli snapshot di RAM guest supportata da file , più istanze AVD condividono snapshot di avvio rapido AVD principale come fonte comune di RAM ospite di copia-on-scrittura. Questa proprietà indica che le istanze condividono gran parte della RAM in comune. Utilizza le funzionalità di questa funzionalità per eseguire test che richiedono l'esecuzione in parallelo di più dispositivi.
Apprezziamo il tuo feedback su possibili casi d'uso che rientrano nella tua normale un flusso di lavoro interattivo o CI. Crea o dai un voto positivo ai problemi in Problema Tracker.
Snapshot di RAM ospite supportata da file
Pre-allocando e mappando la RAM ospite come file, l'emulatore ora può salvare Istantanee di Avvio rapido durante il runtime, invece di svolgere tutto il lavoro all'uscita. Se al momento risparmiate molto tempo quando chiudete gli emulatori, abilitate questa funzione per migliorare le prestazioni di Quickboot. Per impostazione predefinita, L'istantanea viene salvata all'uscita e caricata nuovamente ogni volta, ad esempio in caso di sospensione riattivare un dispositivo reale.
Poiché la RAM ospite di Android viene salvata automaticamente per impostazione predefinita, se vuoi definire dello stato del dispositivo e ricaricarlo ripetutamente, devi dire all'emulatore per ignorare le modifiche dopo ogni sessione. Puoi farlo nei seguenti modi:
- Usa i flag
-no-snapshot-save
o-read-only
quando avvii l'emulatore dalla riga di comando. - Vai a Controlli estesi > Snapshot > Impostazioni e seleziona Salvataggio automatico stato corrente a Quickboot? a No.
- Dopo aver selezionato questa opzione, dovrai riavviare l'emulatore. Se
dell'emulatore è impostato sul salvataggio automatico, puoi eseguire questo comando per impostare
checkpoint:
adb emu avd snapshot remap 0
Dopo aver eseguito questo comando, lo snapshot dell'emulatore Quickboot rimarrà invariato punto di controllo. Esegui di nuovo lo stesso comando per caricare l'emulatore dal punto di controllo.
Snapshot acquisiti e caricati tramite la funzione di interfaccia utente degli snapshot man mano che in precedenza, senza mappatura dei file.
Poiché si tratta di un cambiamento significativo nel funzionamento di Quickboot,
grazie del tuo feedback che spieghi se migliora le prestazioni di Avvio rapido e cosa
che si verificano durante l'utilizzo. Se riscontri problemi, puoi
disattiva questa funzione aggiungendo la riga seguente al tuo
File ~/.android/advancedFeatures.ini
:
QuickbootFileBacked = off
Quando avvii l'emulatore da uno snapshot (utilizzando -snapshot
l'opzione della riga di comando o l'avvio da uno snapshot nel gestore AVD)
l'emulatore disattiva sia il salvataggio automatico degli snapshot di Quickboot sia il salvataggio di Quickboot
di snapshot all'uscita. In questo modo si riducono le possibilità che lo snapshot di Quickboot venga
sovrascritto involontariamente ed evita percorsi di fallback lenti che non utilizzano
snapshot Quickboot supportati da file.
QUEM 2,12
Abbiamo ricreato la variante di QEMU da QEMU 2.9 a QEMU 2.12. Questo aggiornamento include le seguenti modifiche alla QEMU:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
Ecco alcune delle modifiche più importanti che interessano l'emulatore Android:
- x86:
gdbstub
ora fornisce accesso ai registri SSE. - Immagini disco: il blocco delle immagini viene aggiunto e abilitato per impostazione predefinita. QEMU multipla processi non possono scrivere nella stessa immagine purché l'host supporti OFD o blocco posix, a meno che le opzioni non siano specificate diversamente.
qemu-img: qemu-img resize
supporta la preallocazione delle nuove parti dell'immagine.- La riduzione di QCOW2 è ora supportata in
qemu
eqemu-img
.
Accessibilità
- Sono stati risolti i problemi relativi agli screen reader e migliorato il supporto di questi strumenti in l'interfaccia utente Registrazione dello schermo e Snapshot.
- Abbiamo reso le icone di notifica dell'Avvio rapido più accessibili per gli utenti daltonici.
Grafica
- Risolto un problema di accesso alla memoria fuori intervallo che poteva verificarsi per OpenGL ES puntatori a Vertex AI.
- Alcune GPU meno recenti non supportavano OpenGL 2.1 o versione successiva (obbligatoria) oppure ha avuto altri problemi di affidabilità. Questi problemi potrebbero causare l'arresto anomalo dell'emulatore si avvia, si blocca o è inutilizzabile con l'impostazione GPU predefinita. Ora l'emulatore passa automaticamente al renderer Swiftshader se rileva che questi Le GPU sono in uso.
- Risolto un problema per cui l'emulatore non pubblicava il framebuffer corretto se
FBO != 0
era vincolato all'ora dieglSwapBuffers
. - È stato risolto il problema per cui il display virtuale Android veniva visualizzato solo in alto nell'angolo in alto a sinistra. Riteniamo che ciò sia dovuto a variabili di ambiente Qt configurate in modo errato. L'emulatore ora esegue l'override di tutte le variabili di ambiente correlate alla scalabilità Qt.
- Risolto un problema per cui l'emulatore si arrestava in modo anomalo in alcune situazioni durante il caricamento app GLES1 da uno snapshot.
- Sono stati risolti i problemi di contemporaneità in OpenGL e l'avvio di thread di rendering che potevano generano doppi liberi o dati danneggiati.
- L'emulatore Android ora supporta il supporto per le texture compresse LDR ASTC
(
GL_KHR_texture_compression_astc_ldr
) per le immagini di sistema che utilizzano il livello API 28 o superiore. - La maggior parte delle GPU moderne ora dovrebbe essere in grado di avviare l'emulatore con OpenGL ES 3.x
abilitato per impostazione predefinita senza utilizzare il flag funzionalità
GLESDynamicVersion
. -gpu guest
(rendering software nell'ospite) è stato ritirato. Sistema le immagini per il livello API 28 o superiore ora passano automaticamente all'utilizzo di Swiftshader invece (-gpu swiftshader_indirect
).- Se l'emulatore viene avviato dalla riga di comando utilizzando il flag
-no-window
, il renderer predefinito è ora Swiftshader.
Posizione
- Ora l'emulatore può aggiornare l'orientamento insieme a latitudine e longitudine posizione. Il sensore virtuale del magnetometro si adatta in modo dinamico alle caratteristiche nord deducendo il movimento durante la riproduzione di un file GPX o KML.
- Ora è possibile impostare la velocità del dispositivo nella pagina Posizione.
- Durante la riproduzione di un file GPX o KML, la velocità viene impostata automaticamente e viene impostato su zero al termine della riproduzione.
- L'altitudine non è più limitata tra -1000 e +10.000 metri.
- Risolto un problema per cui la posizione GPS virtuale non veniva aggiornata periodicamente, a meno che la finestra dei controlli estesi non sia stata aperta almeno una volta.
Fotocamera
Su Windows, ora sono supportate più webcam perché l'emulatore in modo dinamico ridimensiona i fotogrammi della fotocamera inviati dalla webcam. Questa funzionalità impedisce che gli errori di consegna dei frame provochino il blocco dell'emulatore.
Play Store
Per risolvere i problemi di esaurimento dello spazio su disco nelle immagini del Play Store, procedi nel seguente modo: ora l'emulatore ridimensiona automaticamente la partizione dei dati utente a 6 GB quando è in esecuzione con una durata di visualizzazione media aggiornata del Play Store.
Miglioramenti e correzioni generali della qualità
- Alcuni utenti hanno segnalato che l'emulatore è lento. Ne abbiamo identificato uno
causa: la directory temporanea dell'emulatore ha troppi
file inattivi. Come soluzione alternativa, l'emulatore non memorizza più l'attività ADB
e controllare i file in quella directory. Tuttavia, potrebbe anche essere utile eliminare i contenuti
della cartella. La cartella si trova in una delle seguenti posizioni,
a seconda del sistema operativo:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS o Linux:
/tmp/android-<username>/*
- Windows:
- Se l'emulatore non si avvia a causa di RAM insufficiente, viene visualizzato un errore è ora visibile. Se usi Windows e noti che c'è RAM ma non riesci comunque ad avviare l'emulatore, l'addebito di impegno potrebbe essere sono state superate. Per assistenza in merito a questo problema, consulta la pagina della risoluzione dei problemi dell'emulatore.
- L'opzione della riga di comando
-sysdir
ora sostituisce correttamente il sistema dedotto della directory delle immagini. - Il modem virtuale ora supporta la query
+MAI
relativa alle informazioni sull'attività del modello. - Sono stati risolti diversi problemi relativi a perdite di memoria, danneggiamento della memoria e utilizzo della CPU. Se si stanno verificando arresti anomali, perdite di memoria o altri utilizzi intensi delle risorse, Crea un problema in Issue Tracker.
- Risolto un problema che si ripresenta su macOS 10.14 per cui si utilizzano auricolari Bluetooth con l'emulatore peggiorerebbe l'audio a livello globale. Per evitare questo problema, l'emulatore ora evita di utilizzare l'audio Bluetooth quando viene eseguito su macOS. (Problema 37070892)
- Risolto un problema su Windows in cui l'orologio dell'emulatore non era nel corretto fuso orario.
- Correzione della lentezza dell'emulatore e del blocco sui sistemi Linux con dischi rigidi rotanti (HDD).
- Sono stati corretti alcuni avvisi di compilazione che potevano causare il danneggiamento dello stack su macOS.
- Sono stati risolti i problemi che potevano generare report fuorvianti di blocco.
- È stato risolto un problema relativo all'eliminazione dei pool di thread che potrebbe causare un arresto anomalo se uno dei la creazione dei thread non è riuscita.
- Risolto un problema su macOS per cui i timer diventavano inaffidabili e si verificavano blocchi e altri comportamenti anomali. Se l'emulatore si blocca su macOS, Crea un problema in Issue Tracker.
- Risolto un problema per cui la chiusura dell'emulatore disattivava l'UI, ma non chiudere l'emulatore.
- Sono stati risolti i problemi relativi ad arresti anomali sporadici, tra cui un'interruzione dovuta anche all'apertura
molte istanze di
/dev/urandom
. - Risolto un problema che causava il mancato avvio dell'emulatore dopo la prima volta se ADB è stato terminato con forza.
- La build MIPS è stata rimossa. Se hai ancora bisogno di MIPS, crea un in Issue Tracker.
- È stato risolto un problema per cui le connessioni ADB potevano danneggiarsi durante il caricamento dello snapshot.
- Risolto un problema per cui la finestra dell'emulatore avrebbe un'immagine residua o un teletrasporto fuori schermo quando si riprende un'istantanea in cui l'orientamento del dispositivo era diverso dall'orientamento predefinito della durata di visualizzazione media.
- Sono stati risolti i problemi relativi agli arresti anomali durante il salvataggio delle istantanee.
- Su Linux, i file system btrfs possono causare rallentamenti estremi perché l'emulatore
salva automaticamente gli snapshot e utilizza la funzionalità di copia in scrittura per il disco virtuale
dispositivi mobili. Ti consigliamo di eliminare la directory
~/.android/avd
ed eseguire il seguente comando nella directory~/.android/avd
vuota:chattr +C
Vengono creati nuovi snapshot in una cartella in cui la funzionalità di copia alla scrittura è disabilitata.
HAXM 7.3.2
Vorremmo menzionare nuovamente HAXM 7.3.2 perché deve essere installato per per consentire alle immagini di sistema recenti di funzionare correttamente sull'emulatore. HAXM 7.3.2 dovrebbe è già disponibile nel canale stabile e può essere installato anche manualmente da https://github.com/intel/haxm/releases.
Ecco un paio di problemi risolti da questa versione di HAXM:
- Sono stati risolti gli arresti anomali casuali dei sistemi operativi guest che utilizzano un kernel Linux recente (>= 4.6). Ad esempio, Ubuntu 18.04 (#39, #74).
- È stato corretto un bug dell'emulatore di istruzioni x86 che poteva causare un arresto anomalo dell'host (#93).
Deprecazione di Windows a 32 bit
A causa del ridotto utilizzo e degli elevati costi di manutenzione, abbiamo in programma di ritirare la Versione a 32 bit dell'emulatore Android per Windows. Renderemo disponibile di transizione prima della rimozione e della fine del ciclo di vita per la versione a 32 bit dell' Emulatore Android. Tuttavia, stiamo cercando attivamente qualsiasi feedback o dubbio riguardante questa modifica futura.
Faccelo sapere in Issue Tracker se attualmente usi la versione a 32 bit dell'emulatore Android che funziona Windows e dicci come possiamo aiutarti al meglio in futuro.
27.3.10 (agosto 2018)
Questo aggiornamento include la seguente correzione di bug:
Correzione della configurazione delle dimensioni della RAM
Alcuni utenti hanno segnalato che l'emulatore è lento. Ne abbiamo identificato uno
possibile causa per cui le dimensioni della RAM della durata di visualizzazione media nel file config.ini
della durata di visualizzazione media erano
impostato in modo errato.
Per mitigare questo problema, l'emulatore aumenta il livello minimo di RAM per le immagini che
Utilizzare il livello API 26 o successivo al livello predefinito di Android Studio di 1536 MB. Se
il file config.ini
della durata di visualizzazione media non riporta hw.ramSize
in megabyte,
crea un problema in Issue Tracker.
Puoi trovare il file config.ini
nella seguente posizione:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (luglio 2018)
Questo aggiornamento include i seguenti miglioramenti e correzioni di bug:
Messaggi di errore migliorati per Windows Hypervisor Platform
Alcuni utenti avevano difficoltà a diagnosticare perché Windows Hypervisor Platform
(WHPX) non è stato inizializzato quando è stato attivato un emulatore WHPX. Per aiutarti
diagnosticare questi problemi, abbiamo aggiunto altri messaggi di errore informativi. Puoi
abilita questi messaggi di errore eseguendo l'emulatore dalla riga di comando utilizzando
il flag -verbose
.
Correzioni generali
- Sono stati corretti gli errori OpenGL che si verificavano durante il caricamento di un'istantanea nell'app Fotocamera.
27.3.8 (luglio 2018)
Questo aggiornamento include diverse nuove funzioni, miglioramenti a funzioni esistenti, e correzioni di bug.
Istantanee
Ora puoi salvare più istantanee della durata di visualizzazione media per una determinata configurazione dispositivo e scegli quale delle istantanee salvate caricare all'avvio dell'emulatore.
A partire da Android Studio 3.2 Canary 13, ogni configurazione dispositivo include un controllo nelle impostazioni avanzate nella finestra di dialogo Configurazione dispositivo virtuale con cui puoi specificare quale snapshot della durata di visualizzazione media caricare all'avvio del Durata di visualizzazione media.
Per consentire questa espansione delle funzionalità degli snapshot, abbiamo aggiunto un Snapshot alla finestra di dialogo Controlli estesi. Questo nuovo riquadro contiene i controlli per il salvataggio e il caricamento delle istantanee AVD, inclusi i controlli per salvare e caricare l'istantanea di avvio rapido precedentemente disponibile Impostazioni.
Puoi modificare il nome e la descrizione di ogni istantanea salvata.
Per maggiori dettagli, vedi Snapshot.
HAXM 7.2.0
HAXM 7.2.0 è ora disponibile per tutti i canali.
Questo aggiornamento include correzioni di bug e un supporto migliorato per grandi quantità di RAM. Inoltre, con questo aggiornamento di HAXM ed Emulator 27.3 e versioni successive, gli snapshot i contenuti nella RAM on demand anziché caricare l'intero snapshot quando dispositivo virtuale. Questo cambiamento dovrebbe ridurre notevolmente il tempo necessario per caricare uno snapshot.
Per maggiori dettagli, consulta Configurare l'accelerazione delle VM.
27.2.9 (maggio 2018)
Questo aggiornamento include diverse nuove funzioni, miglioramenti a funzioni esistenti, e correzioni di bug.
Registrazione dello schermo
Ora puoi registrare video e audio dall'emulatore Android e salvare in un file WebM o in un file GIF animato.
I controlli per la registrazione dello schermo si trovano nella scheda Registrazione dello schermo dell'app Controlli.
Suggerimento: puoi anche aprire i controlli della registrazione dello schermo premendo Ctrl + Maiusc + R (Comando + Maiusc + R su Mac).
Per avviare la registrazione dello schermo, fai clic sul pulsante Avvia registrazione nella sezione di registrazione. Per interrompere la registrazione, fai clic su Interrompi la registrazione.
I controlli per la riproduzione e il salvataggio del video registrato si trovano nella parte inferiore della Scheda Registrazione dello schermo. Per salvare il video, scegli WebM o GIF dalla nella parte inferiore della scheda e fai clic su Salva.
Puoi anche registrare e salvare una registrazione dello schermo dall'emulatore utilizzando il seguente comando nella riga di comando:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
Screenshot
Puoi acquisire screenshot dalla riga di comando con uno dei seguenti :
screenrecord screenshot [destination-directory]
adb emu screenrecord screenshot [destination-directory]
Gli screenshot vengono salvati in formato PNG.
Fotocamera per scene virtuali e ARCore
Sviluppare e testare app di realtà aumentata (AR) con Ora ARCore è ancora più facile con nuova videocamera per scene virtuali che ti consente di sperimentare la tua esperienza AR all'interno di un ambiente virtuale.
Per informazioni sull'utilizzo della videocamera per la scena virtuale nell'emulatore, vedi Eseguire app AR nell'emulatore Android.
Immagini del Google Play Store su Pixel
Il Google Play Store è ora abilitato per le immagini dei dispositivi Pixel e Pixel 2. Questo è indicato in Gestione AVD in Android Studio 3.2 e versioni successive con il logo di Google Play nella colonna Play Store. Durata di visualizzazione media con In Controlli estesi è presente una scheda Google Play attiva per il Google Play Store che fornisce un comodo pulsante per aggiornare Google Play Services su del dispositivo.
Istantanee
Ora puoi caricare un'istantanea dell'avvio rapido. senza riavviare l'emulatore. Per caricare uno snapshot, apri il Finestra Controlli estesi per andare a Impostazioni. e fai clic sul pulsante Carica ora.
Abbiamo apportato molti miglioramenti al caricamento e al salvataggio degli snapshot migliorare l'efficienza nell'utilizzo delle risorse e ridurre al minimo il tempo necessario dell'operazione. Se continui a riscontrare salvataggi insolitamente lunghi, segnalare un problema, fornendo dettagli relativi a CPU, RAM e impostazioni di eventuali antivirus / firewall / software di sicurezza in esecuzione.
Rendering con Skia
Quando utilizzi immagini per l'API 27 o versioni successive, l'emulatore può eseguire il rendering dell'UI di Android con Skia, che può eseguire il rendering in modo più fluido ed efficiente.
Per il momento, l'utilizzo di Skia richiede l'attivazione esplicita.
Per attivare il rendering Skia, utilizza i seguenti comandi nella shell adb:
su setprop debug.hwui.renderer skiagl stop start
Fotocamera
Su Windows, Android Emulator ora utilizza Media Foundation come backend della webcam, che migliora notevolmente le prestazioni e la frequenza fotogrammi per l'acquisizione da webcam, fino a 720p 30 f/s.
Su Mac, ora puoi utilizzare webcam0 e webcam1 insieme.
Vari
L'opzione della riga di comando -phone-number-prefix
è stata modificata in
-phone-number [number]
, che consente di impostare l'intero
numero di telefono.
Ora puoi utilizzare indirizzi SMS alfanumerici.
Correzioni
- La versione Linux dell'emulatore Android è ora creata con un linguaggio Clang moderno Toolchain C++. Questa modifica risolve il problema dell'errore di avvio dell'emulatore a causa di errori libGL e libstdc++.
- Sono state corrette diverse cause di arresti anomali e blocchi.
- Per evitare arresti anomali e blocchi causati da spazio libero su disco insufficiente, ora controlla se lo spazio libero su disco è sufficiente all'avvio e non a meno che non ci siano almeno 2 GB di spazio libero.
- È stato risolto un problema che impediva il rendering di alcuni giochi Unity.
- È stato risolto il problema del DNS che causava l'impossibilità di connettersi all'emulatore in ogni rete.
- Risolto un problema che causava modifiche alla memoria interna allocata a una durata di visualizzazione media tramite la finestra di dialogo Configurazione dispositivo virtuale.
- È stato risolto un problema relativo alla creazione e all'arresto non corretti di molti processi ADB.
- È stato risolto un problema che causava la visualizzazione dei pulsanti di rotazione e di altre parti dell'interfaccia utente non risponde, a meno che la finestra dei controlli estesi non sia aperta.
- Risolto un problema che impediva il funzionamento della copia e incolla dall'host a meno che il La finestra di dialogo dei controlli estesi è stata aperta almeno una volta.
- Il rettangolo di ridimensionamento dell'emulatore senza frame è stato aggiornato per seguire meglio tema visivo dell'emulatore.
- Telefono e SMS ora sono disattivati correttamente quando è attiva la modalità aereo.
- Risolto un problema che causava la disattivazione della funzionalità SMS e cellulare in seguito caricamento di uno snapshot.
- Non riceverai più messaggi di avviso falsi che dicono
“Unable to open... \pstore.bin. Permission denied.”
- È stato risolto un problema che impediva il riposizionamento della durata di visualizzazione media su alcuni schermi Mac.
- Sono stati risolti i problemi relativi allo sfarfallio e allo schermo vuoto sui computer MacBook Pro più recenti durante la visualizzazione di visualizzazione media con skin di Pixel 2 XL.
- Sono stati risolti i problemi relativi a schermate vuote durante il passaggio alla modalità con zoom durante un l'emulatore senza frame era attivo.
- Risolto un problema che causava lo scorrimento verso l'esterno dei contenuti dell'emulatore e della skin del dispositivo di sincronizzazione quando aumenti lo zoom.
Se continui a riscontrare blocchi o altre instabilità, segnalare un problema.
27.1.12 (marzo 2018)
Questo aggiornamento include correzioni per i seguenti problemi:
- La qualità audio del Bluetooth è peggiorata dopo l'avvio dell'emulatore. (Problema 37095756)
- Le posizioni inviate a un emulatore sono state inviate a tutti. (Problema 73450633)
- La posizione GPS impostata mediante la console è stata sostituita dai valori impostati utilizzando Controlli estesi > Posizione nella Graphic User Interface. (Numero 73471760)
Se continui a riscontrare blocchi o altre instabilità, segnalare un problema.
Con questo aggiornamento, sono disponibili un'immagine di sistema attuale e una versione di anteprima di Android Studio, puoi usare l'emulatore Android per eseguire applicazioni di realtà aumentata con ARCore. Per istruzioni e requisiti dettagliati, vedi Eseguire app AR nell'emulatore Android.
27.1.10 (febbraio 2018)
Risoluzione di acquisizione con fotocamera
Ora è possibile acquisire fotogrammi a 720p da una webcam collegata.
Per funzionare con le immagini di sistema Android 8.1 (livello API 27) e versioni successive, qualsiasi La webcam collegata deve essere in grado di acquisire fotogrammi a 720p.
Correzioni
- Risolto un problema per cui l'acquisizione con la webcam a volte causava una visualizzazione distorta o completamente verde.
- Risolto un problema che consentiva di visualizzare il seguente messaggio anche quando non c'è stato alcun blocco effettivo: "emulator: ERROR: abbiamo rilevato un thread inutilizzato 'Qt loop di eventi". Nessuna risposta per 15.000 ms".
Se continui a riscontrare blocchi o altre instabilità, segnalare un problema.
27.1.7 (febbraio 2018)
Finestra dell'emulatore senza frame:
Per impostazione predefinita, gli emulatori con file skin del dispositivo vengono ora mostrati senza un intorno al telaio della finestra. Per mostrare il riquadro della finestra circostante, attiva Mostra cornice della finestra attorno al dispositivo nel riquadro Impostazioni della sezione Estensioni Controlli.
Miglioramenti all'Avvio rapido per rendere più efficiente l'utilizzo delle istantanee con visualizzazione di visualizzazione media:
- Puoi salvare un'istantanea della durata di visualizzazione media in qualsiasi momento utilizzando il pulsante Salva ora nella Il riquadro Impostazioni di Controlli estesi finestra di dialogo.
- L'emulatore riduce il tempo necessario per salvare uno snapshot casi salvando solo la differenza tra lo stato attuale e snapshot salvato in precedenza.
Per maggiori dettagli, consulta la sezione Avvio rapido documentazione.
L'emulatore è stato aggiornato con QEMU 2.9.
Di seguito sono riportati alcuni miglioramenti degni di nota:
- I/O ottimizzato e blocco dei thread di I/O più granulare per prestazioni migliori.
- Sono stati corretti i bug dalla versione QEMU 2.8 (26.1.4).
- Nuova implementazione del backend HAXM.
Consulta l'elenco completo delle modifiche nel log delle modifiche di QEMU 2.9.
Implementazione Swiftshader conforme a OpenGL ES 3.0:
Ora il renderer Swiftshader dell'emulatore è pienamente conforme a OpenGL ES 3.0. Per informazioni dettagliate sul renderer Swiftshader, consulta Impostazioni > Avanzato di Controlli estesi.
Correzioni
- Risolto un problema per cui la condivisione degli appunti non funzionava a meno che l'opzione Attiva di condivisione degli appunti è stata disattivata e attivata.
- È stato corretto un blocco durante l'utilizzo del backend di rendering Swiftshader con durata di visualizzazione media a bassa risoluzione.
27.0.5 (gennaio 2018)
ANGLE per il rendering su Windows è ora disattivato per impostazione predefinita.
Se ANGLE funziona meglio nel tuo caso, puoi riattivarlo con la riga di comando segnala
-gpu angle_indirect
. In alternativa, apri la finestra Controlli estesi, naviga vai a Impostazioni > Avanzate e seleziona ANGLE D3D11 per l'impostazione del renderer OpenGL ES.È stato risolto un problema per cui Maiusc+B non digitava il carattere B maiuscola.
27.0.2 (dicembre 2017)
La nuova funzionalità Avvio rapido fornisce tempi di avvio più rapidi dell'emulatore, in base a una dell'istanza della durata di visualizzazione media.
Avvio rapido è abilitato per impostazione predefinita per tutti i tipi di durata di visualizzazione media. Anche se la prima volta avvia una durata di visualizzazione media, deve eseguire un avvio a freddo (proprio come l'accensione su un dispositivo), tutti gli avvii successivi sono veloci e il sistema viene ripristinato allo stato Hai chiuso l'emulatore (simile alla riattivazione di un dispositivo).
Se vuoi controllare quando l'emulatore salva uno snapshot, apri finestra dei controlli estesi dell'emulatore e fai clic su Impostazioni. Qui puoi selezionare una delle seguenti impostazioni Per Salva stato di avvio rapido all'uscita:
- Sì: salva sempre l'istantanea di avvio rapido quando chiudi l'emulatore. Questa è l'impostazione predefinita.
- No: non salvare mai un'istantanea di avvio rapido. eseguire sempre un avvio a freddo.
- Chiedi: chiedi se salvare o meno l'istantanea di avvio rapido alla chiusura. l'emulatore.
La selezione si applica solo alla durata di visualizzazione media attualmente aperta.
Per ulteriori informazioni, consulta la documentazione relativa all'avvio rapido.
Aggiunto il supporto per Mac OpenGL ES 3 (per le immagini di sistema che utilizzano il livello API 24 e superiore, le API di Google e l'ABI x86).
Per una maggiore stabilità nelle app OpenGL ES 2+, l'emulatore ora utilizza OpenGL profilo, se disponibile.
Nuove opzioni per il rendering con Swiftshader / ANGLE:
-gpu swiftshader_indirect
: variante più veloce e stabile di Swiftshader compatibile con Avvio rapido.-gpu angle_indirect
(solo Windows): variante più stabile di ANGLE D3D che sia compatibile anche con Avvio rapido.
Le opzioni
-gpu swiftshader
e-gpu angle
precedenti sono state ritirate. Nella finestra dei controlli estesi, l'icona "SwiftShader" e "ANGLE" opzioni per l'impostazione del renderer OpenGL ES in Impostazioni > Advanced ora utilizza*_indirect
varianti.Varie altre correzioni di bug.
26.1.4 (agosto 2017)
Si tratta di una release minore con correzioni di bug e quanto segue miglioramenti alla configurazione GPU:
- Attiva animazione all'avvio durante l'esecuzione sul renderer ANGLE
- Disattiva GLES3 durante l'esecuzione sul renderer ANGLE
26.1.3 (agosto 2017)
Si tratta di una release minore con correzioni di bug, miglioramenti delle prestazioni e modifiche alle funzionalità.
- Per utilizzare le immagini di sistema Android 8.0 più recenti, è necessaria questa versione.
Sono conformi agli alti,
con partizioni
vendor.img
separate. - La nuova versione di HAXM 6.2.0 è ora disponibile (controlla in SDK Manager) e include il
seguenti aggiornamenti:
- Utilizzo della memoria migliorato. Il picco di attività della memoria fissata da HAXM è non corrisponde più alle dimensioni della RAM della durata di visualizzazione media; la memoria viene impaginata on demand. Questo dovrebbe aiutare l'emulatore a funzionare in modo più affidabile su macchine con con minore quantità di RAM.
- L'emulatore con HAXM 6.2.0 può ora avviarsi più velocemente su macOS, saltando un lunga fase di inizializzazione.
- Miglioramenti alla configurazione della GPU
- Sono stati risolti i problemi relativi allo schermo nero all'avvio durante l'esecuzione sul lato ospite il rendering software, tornando al rendering software lato host Swiftshader. Ultime revisioni delle immagini di sistema per i livelli API 19-25 con Le API di Google devono avere un rendering lato guest funzionante.
- Risolto un problema per cui l'emulatore passava a un renderer software
a causa del rilevamento della presenza di GPU Intel meno recenti, ma l'emulatore era
effettivamente in esecuzione su una GPU discreta. Quali GPU verranno passate a utilizzare ANGLE
o Swiftshader è determinato come segue:
- Le iGPU Intel meno recenti presentano problemi di driver sia su OpenGL che su ANGLE D3D autisti. Gli utenti con Intel HD Graphics 3xxx e versioni precedenti utilizzeranno l'app Swiftshader.
- Alcuni utenti hanno segnalato l'impossibilità di utilizzare immagini di livello API 25 perché di un bug per cui "Avvio app Pixel continua a interrompersi". Sembra essere un driver in alcuni modelli Intel HD 4xxx. Passeranno quindi a usa ANGLE automaticamente.
- Per ottenere risultati ottimali con l'emulazione GPU, consigliamo di utilizzare un'istanza NVIDIA o AMD discreta oppure una GPU Intel più recente (Iris, HD 5xxx, HD 5xx/6xx).
- Risolto un problema per cui l'emulatore non si avviava (emulazione OpenGL)
inizializzazione non riuscita) se la durata di visualizzazione media è stata configurata con
hw.gpu.mode=host
e l'emulatore è stato lanciato in un client di desktop remoto. - È stato chiarito "Livello API OpenGL ES (richiede il riavvio)" impostazioni; ha aggiunto un opzione per eseguire il downgrade da OpenGL ES 3 a OpenGL ES 2 in caso di problemi o di dover testare livelli API OpenGL ES inferiori.
- Il renderer mesa è deprecato. Ora
hw.gpu.mode=mesa
sarà è passata automaticamente all'utilizzo di Swiftshader sull'host.
- Miglioramenti per macOS:
- L'emulatore è ora completamente compatibile con macOS 10.13 High Sierra tramite Hypervisor.Framework o HAXM 6.2.0.
- Hypervisor.framework è ora abilitato per impostazione predefinita su macOS per x86 a 32 bit
per migliorare le prestazioni e la compatibilità con macOS. Se riscontri
problemi specifici, invia una segnalazione di bug e aggiungi
HVF = off
in~/.android/advancedFeatures.ini
(crea il file se non esiste). - Sono stati risolti i problemi relativi all'assenza di connessione a internet o al mancato collegamento del debugger durante l'utilizzo Hypervisor.framework:
- Per migliorare la compatibilità e le prestazioni dell'acquisizione con webcam, il L'acquisizione con fotocamera basata su QTKit è stata sostituita con una con buffer basata su Fondazione AV.
- È stato aggiunto il supporto del Wi-Fi in alcune immagini di sistema (al momento solo il livello API 25).
Un punto di accesso chiamato "AndroidWifi" è disponibile e Android automaticamente
vi si collega. Il supporto del Wi-Fi può essere disattivato eseguendo l'emulatore con
parametro della riga di comando
-feature -Wifi
. - Alcuni utenti temevano che le immagini di sistema del Play Store con dimensioni fisse non disponeva di spazio di archiviazione sufficiente. Pertanto, abbiamo aumentato le dimensioni a 2 GB predefinita (da 800 MB).
- Aggiunta una scorciatoia da tastiera (Ctrl+Maiusc+U) per aprire la pagina dell'interfaccia utente per la segnalazione di bug direttamente dalla pagina delle impostazioni.
- Risolto un problema per cui se una CPU meno recente con Intel x86 EPT ma senza UG veniva usato, l'emulatore non si avviava se fosse configurato più di un core.
- Risolto un problema per cui HyperV veniva rilevato in modo errato se l'emulatore era in esecuzione in un hypervisor Xen.
- Risolto un problema per cui l'emulatore si arrestava in modo anomalo all'avvio in alcuni sistemi Linux configurazioni.
26.1.2 (luglio 2017)
Questa release include nuove funzioni e miglioramenti delle prestazioni.
Aggiunta la possibilità di definire una configurazione proxy HTTP personalizzata controlli estesi (fai clic su Altro , e poi fai clic su Impostazioni e Proxy). Per impostazione predefinita, l'emulatore utilizza il proxy HTTP di Android Studio. ma questa schermata consente di definire una configurazione manuale del proxy.
Aggiunto il supporto VNC per le GPU in modalità ospite in modo che l'emulatore possa essere visualizzato e visualizzato da remoto controllato. Ad esempio, puoi avviare l'emulatore e consentire a VNC di ascoltare la porta 5901 come segue:
- Esegui:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
Apri un visualizzatore VNC, ad esempio strettovnc, per collegarti alla porta 5901.
Per utilizzare il client di condivisione schermo integrato di Mac, è necessaria una password VNC richiesto all'avvio dell'emulatore. Per impostare una password, utilizza questo :
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
Quindi inserisci
change vnc password
nella console e inserisci un password.
Android O non è attualmente supportato per la modalità VNC.
- Esegui:
È stato aggiunto un pulsante Segnala un bug nella schermata della guida dei controlli estesi (Fai clic su Altro , e fai clic su Guida e Guida dell'emulatore). Fai clic su Segnala un bug. apre una finestra di dialogo in cui puoi vedere i dettagli della segnalazione di bug come screenshot, le informazioni sulla configurazione AVD, e un log di segnalazione di bug. Puoi quindi salvare il report per te stesso oppure segnalare problemi con l'emulatore.
È stato aggiunto un sensore giroscopico all'emulatore e al pannello dei sensori virtuali. Ciò richiede un'immagine di sistema con supporto giroscopio (attualmente livello API 24) e 25).
I DNS preferiti dell'host sono stati aggiunti all'elenco DNS Qemu su Windows, quando vengono interfacce di rete dell'host introducono più indirizzi DNS che sono non funzionante per l'emulatore.
Aggiunto il supporto sperimentale macOS Hypervisor.Framework per immagini x86 a 32 bit su macOS 10.10+ tramite flag del server, che dovrebbero migliorare i tempi di avvio delle prestazioni.
- Se riscontri problemi, aggiungi la riga
HVF = off
in~/.android/advancedFeatures.ini
.
- Se riscontri problemi, aggiungi la riga
OpenGL ES 3.x è ora abilitato per impostazione predefinita per le immagini di sistema e le GPU host che supportare OpenGL ES 3. Al momento, solo Android O (livello API 26) e Gli host Windows/Linux supportano OpenGL ES 3.
- Se riscontri problemi con OpenGL ES 3, aggiungi la riga
GLESDynamicVersion = off
a~/.android/advancedFeatures.ini
.
- Se riscontri problemi con OpenGL ES 3, aggiungi la riga
L'emulatore ora utilizza FBO OpenGL fuori schermo per tutto il rendering tranne quello finale la pubblicazione di immagini display, il che dovrebbe aiutare a risolvere i problemi di coerenza del colore su più piattaforme.
Dopo aver raccolto dati su problemi improvvisi di rallentamento dell'emulatore, abbiamo stabilito che il problema potrebbe avere a che fare con alcune interazioni tra la vecchia tecnologia Intel Driver OpenGL e aggiornamenti di Windows. Per questo motivo, gli utenti con Intel HD 4000, 3000, 2000 (e GPU correlate) ora ha il rendering impostato su D3D per impostazione predefinita renderer (ANGLE) o Swiftshader (renderer del software).
26.0.0 (marzo 2017)
Questa release è compatibile con il livello API 26. Include inoltre una serie di miglioramenti delle prestazioni e correzioni di bug.
Revisione minore 26.0.3 (maggio 2017)
- Aggiunge flag di funzionalità aggiornabili online per risolvere rapidamente i problemi derivanti da configurazioni hardware problematiche. Ciò consente a Google di di implementare correzioni e funzionalità che dipendono dalle configurazioni utente aggiornare i flag lato server. Se riscontri problemi con un hardware specifico, segnala un bug per consentirci di esaminare il problema.
- Nuovo supporto per le input per il sistema del livello 25 dell'API Android Wear in formato Docker. Per emulare il quadrante di input rotante su un dispositivo Wear, fai clic sull'icona Scheda Input rotatorio nella finestra estesa.
- La finestra di dialogo di Crash Reporting ora è ridimensionabile e non viene più reimpostata Quando inviare report sugli arresti anomali a Ask senza input.
- L'emulatore a 32 bit ora richiede che la dimensione massima della RAM AVD sia inferiore pari o pari a 512 MB, per evitare che l'emulatore si esaurisca in uno spazio di indirizzi virtuali da 2 GB.
- Aggiunge il supporto per i percorsi assoluti nelle immagini dell'emulatore.
- Aggiunge una nuova scheda nella finestra estesa per le immagini del Google Play Store che mostra la versione di Play Services e un pulsante per verificare la presenza di aggiornamenti a Play Services.
- Aggiunge un menu a discesa per selezionare il renderer OpenGL nella pagina Impostazioni dell'emulatore. Se riscontri problemi con il driver OpenGL su un della macchina, provare a usare le opzioni ANGLE (D3D11) o ANGLE (D3D9) (richiede una riavvia). Se riscontri problemi con il driver OpenGL su una computer non Windows, prova a utilizzare il renderer del software Swiftshader (richiede un riavvio).
- Corregge un raro arresto anomalo all'uscita quando l'emulatore riceve entrambi
Comandi
exit
eminimize
. - Risolve un problema di ridimensionamento durante la modifica del display su un computer Mac. (Problema 268.296
- Risolto un problema per cui l'emulatore prende il 300% della CPU e la trattiene dopo il ripristino del computer host dalla modalità di sospensione o quando l'emulatore è stato in esecuzione da molto tempo.
- Corregge un arresto anomalo all'arresto dell'emulatore.
Aggiornamenti con HAXM 6.1.1 (marzo 2017)
Nota: HAXM 6.1.1 è disponibile per Mac agli utenti tramite l'SDK Manager dal 30 marzo e sarà presto disponibile per gli utenti Windows.
La versione 26.0.0 di Android Emulator supporta HAXM 6.1.1, che include i seguenti aggiornamenti:
- Abilita l'emulazione delle unità di monitoraggio delle prestazioni (PMU). (Numero 223377)
- Corregge la coesistenza con VirtualBox e Docker sui Mac. (Numero 197915)
- Consente di rivedere il messaggio di errore dell'installazione visualizzato al momento dell'installazione non riesce a rilevare Intel VT-x su Windows, solitamente perché Hyper-V è abilitato.
- Aggiunge il supporto per l'accelerazione dell'emulatore Android in una videocamera Hyper-V VM Windows. Questo aggiornamento richiede che l'istanza Hyper-V dell'host (quella che gestisce la VM/ospite Windows) usano la versione più recente di Hyper-V con la virtualizzazione nidificata abilitata. La funzionalità Hyper-V deve essere disabilitata in l'istanza Hyper-V guest (la VM Windows).
Dipendenze
- Android SDK Platform-Tools revisione 25.0.4 o versioni successive.
- Android SDK Tools versione 26.0.0 o successiva.
Nuove funzionalità e correzioni di bug
- Compatibile con il livello API 26.
- Completamente conforme a GLES 2.0. Data una GPU host con un desktop conforme
Con i driver OpenGL, l'emulatore ora supera il 100% del test dEQP-GLES2 di Android CTS
mustpass
elenco predefinito. È stato rilasciato per le immagini x86 di livello API (revisione 11) e successive) e verrà presto incluso in tutte le immagini di sistema. - Prestazioni di riproduzione video migliorate. L'emulatore ora archivia tutti i video colora i buffer nella memoria condivisa dell'host/ospite ed esegue le necessarie conclusioni Conversione da YUV a RGB nella GPU. Il formato 1080p30 dovrebbe essere ben visibile nella maggior parte dei sistemi. È stato rilasciato per le immagini x86 di livello API 24 (revisione 11 e successive) e sarà presto incluso in tutte le immagini di sistema.
- Ora l'emulatore annulla correttamente la registrazione dall'elenco
adb devices
all'uscita e chiude le porte TCP aperte sui computer Linux. - le connessioni ADB sono ora più affidabili. È stato rilevato un emulatore in esecuzione non passano più allo stato "offline" o "non autorizzato".
25.3.0 (marzo 2017)
A partire da questa release, l'emulatore Android verrà rilasciato separatamente SDK Tools. Questa release contiene diverse prestazioni miglioramenti, nuove funzionalità e correzioni di bug.
Revisione minore 25.3.1 (marzo 2017)
- È stato risolto un arresto anomalo che si verificava su alcune configurazioni GPU disattivando GLAsyncpara per impostazione predefinita.
Questa funzionalità è stata aggiunta nella versione 25.3.0 per migliorare la tempistica dei frame e i frame al secondo per i giochi.
ma causa un errore dell'emulatore su alcune configurazioni di macchine sconosciute. Puoi
abilitarla manualmente aprendo la
android_sdk/emulator/lib/advancedFeatures.ini
file e impostazioneGLAsyncSwap = on
.
Dipendenze
- Android SDK Platform-Tools versione 24 o successiva.
- Android SDK Tools revisione 25.3.0.
Nuove funzionalità e correzioni di bug
- Aggiornato il motore di emulazione alla versione QEMU 2.7, che include tutte le correzioni di bug, prestazioni migliorate e nuove funzionalità.
- Nuovo supporto IPv6.
- L'emulatore ora utilizza SwiftShader come renderer software puro su l'organizzatore.
- Miglioramenti delle prestazioni di Android Pipe: Android Pipe, il principale
di comunicazione tra l'emulatore e il sistema operativo Android, è ora
ordine di grandezza più veloce, ha una latenza minore e offre
le prestazioni multi-thread. Ciò determina una serie di prestazioni
miglioramenti per l'emulatore, tra cui:
- Velocità di push/pull ADB migliorata.
- Migliore supporto dell'accelerazione 3D.
- Maggiore reattività generale dell'emulatore.
- Prestazioni grafiche migliorate.
- L'emulatore ora utilizza i buffer sul lato GPU (glBindBuffers / glBufferData) quando l'ospite li richiede, riducendo l'overhead della CPU in alcune app.
- Supporto audio migliorato.
- I/O del disco più veloce: l'emulatore ora utilizza thread separati per di invio I/O del disco, con una latenza inferiore e una migliore velocità effettiva (velocità I/O sequenziale ~1,5x, velocità I/O ad accesso casuale ~5x). Anche questo riduce il numero di svuotamenti su disco, determinando una riduzione dal carico di dispositivi fisici.
- L'emulatore ora utilizza file sparsi per l'avvio del disco su Windows di macchine virtuali, velocizzando il primo avvio e la cancellazione dei dati stivali. Quando creando o reimpostando una durata di visualizzazione media, l'emulatore ora scrive 100-200 MB di dati su disco, anziché 2 GB o più.
- Diversi miglioramenti alla GUI:
- L'emulatore ora utilizza Qt 5.7.0, che include correzioni di bug e miglioramenti delle prestazioni.
- L'inizializzazione dell'interfaccia utente non tenta più di caricare tutti gli emulatori eseguibili come plug-in Qt, quindi è notevolmente più breve soprattutto sugli HDD.
- Le interazioni con la UI sono ora più veloci e fluide, ad esempio rotazione, ridimensionamento delle finestre e caricamento della finestra dei controlli estesi e chiusura.