È stato appena rilasciato un aggiornamento agli strumenti di sviluppo Android che consente di salvare e ripristinare da un'istantanea dell'emulatore. Qualcuno sa come usare questa funzione? Ciò ridurrebbe notevolmente il tempo di caricamento dell'emulatore! Ma non riesco a trovare un modo per dire all'emulatore di farlo. Grazie.come si salva l'istantanea dell'emulatore Android?
risposta
Non so c'è alcuna opzione disponibile per il ripristino da.
Ma è possibile risparmiare corrente snapshot del proprio emulatore
Modifica della vista prospettica Java
-DDMS
. Cliccando sul pulsante circondato in rosso è possibile salvare una copia corrente snapshot del proprio emulatore
destro. Supponendo di aver selezionato "Abilita istantanea" durante la creazione di avd, la semplice chiusura dell'emulatore salva il suo stato e viene ripristinata alla prossima esecuzione, sia dal gestore che da eclissi.
Honeycomb ha introdotto questa funzione ed è davvero fantastico! È come la funzione di ibernazione su un laptop. Stai salvando lo stato dell'emulatore in un grande file e ripristinandone lo stato dal file in un secondo momento.
Ci sono un paio di modi per ottenerlo. Il primo modo è impostare le opzioni desiderate nella finestra di dialogo Opzioni di avvio quando si avvia l'emulatore da Android SDK e AVD Manager (vedere l'immagine sotto). L'opzione Pulisci dati utente è ancora lì da prima, e ciò creerà un nuovo sistema da zero. Le nuove opzioni di snapshot sono Avvia da snapshot (se ne è stato precedentemente salvato uno) o Salva su snapshot quando l'emulatore si arresta. Ovviamente è necessario salvare uno snapshot prima di poter essere avviato da uno. Il file dell'istantanea può diventare piuttosto grande e questo aumenta il tempo necessario all'emulatore per uscire quando lo si chiude. Ma ne vale la pena. L'avvio da un'istantanea è molto veloce, rispetto al passare attraverso l'intera sequenza di avvio di Android. Uno dei trucchi che potresti fare è Salva su snapshot una volta, quindi Avvia da snapshot ma non Salva su snapshot dopo quella prima volta. Le tue startup saranno veloci e le tue uscite saranno veloci. Tuttavia, partirai sempre dallo stesso stato di istantanea, indipendentemente da ciò che fai in ogni sessione dell'emulatore.
L'altro modo per utilizzare istantanee da linea di comando di emulatore. La documentazione attualmente non menziona queste opzioni, ma invocando l'opzione di aiuto su emulatore, troviamo questi: istantanee
-snapstorage <file> file that contains all state snapshots (default <datadir>/snapshots.img)
-no-snapstorage do not mount a snapshot storage file (this disables all snapshot functionality)
-snapshot <name> name of snapshot within storage file for auto-start and auto-save (default 'default-boot')
-no-snapshot perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage
-no-snapshot-save do not auto-save to snapshot on exit: abandon changed state
-no-snapshot-load do not auto-start from snapshot: perform a full boot
-snapshot-list show a list of available snapshots
-no-snapshot-update-time do not do try to correct snapshot time on restore
Non ho provato dalla riga di comando in quanto la finestra di dialogo Opzioni di avvio è più facile. EDIT: Un'altra cosa, il file di snapshot viene memorizzato nella stessa posizione dei file AVD.
una piccola aggiunta: le opzioni dell'istantanea verranno visualizzate in grigio a meno che durante la creazione dell'AVD non venga selezionato "Abilita istantanee". –
È vero. Ma puoi modificare un AVD esistente per abilitare le istantanee. Quindi non c'è bisogno di tornare indietro e ricreare tutti quelli esistenti. –
+1 per includere la * riga di comando * versione e il percorso di memorizzazione – n611x007
A quanto pare si può anche farlo tramite l'interfaccia della console:
$ telnet localhost 5554
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: type 'help' for a list of commands
OK
avd snapshot save foo
'emulatore: ascolto delle connessioni della console sulla porta: 5554' ma ottenuto' Connessione a localhost ... Impossibile aprire la connessione all'host, sulla porta 5554: Connetti failed' –
Per le persone a cui piace trovarlo nel 2017, questa funzione sembra essere assente negli strumenti v25. Per usarlo è necessario effettuare il downgrade a v24. – Ishamael
Da quello che posso vedere (aprile 2017), questo sembra mancare in Tools v25 (l'errore dice che l'opzione non è supportata), tuttavia in Tools v26 potrebbe tornare (snapshot) non sicuro. Non ricevo errori/feedback, quindi non sono sicuro che ci sia o no. Potrebbe qualcuno che ha funzionato prima con qualsiasi altra versione, verificare su Strumenti v26. Grazie. –
Per gli utenti della shell, se si sta eseguendo un emulatore --no-window
: Sembra che usando kill -2
per segnalare il processo di emulatore salverà il boot di default snapshot, assumendo che tu abbia creato l'emulatore con l'opzione --snapshot
.
fare questo:
killall -2 emulator64-x86
La prossima volta che si avvia che emulatore, lanciando con qualsiasi cosa ma l'opzione -no-snapshot-load
ripristinerà da quella istantanea.
'killall' può essere un approccio shotgun, ma questo funziona per gli emulatori x86_64. – Corin
[Wikipedia] (http://en.wikipedia.org/wiki/Unix_signal) dice che il segnale 2 è SIGINT. Potresti anche essere in grado di inviare SIGINT inserendo 'fg', quindi premendo Ctrl + C. – unforgettableid
- 1. Come si salva l'immagine nella galleria dell'emulatore
- 2. Come si salva un ImageView come immagine?
- 3. MVP Android - Dove si salva lo stato di visualizzazione?
- 4. Android Salva oggetto come blob in sqlite
- 5. Salva più immagini in Android
- 6. VideoView Android salva stream RTSP
- 7. android - salva l'immagine nella galleria
- 8. Android FileOutputStream posizione Salva file
- 9. Come si salva una pagina Web completa visualizzata in WebView di Android?
- 10. Salva gif alla galleria di Android
- 11. Xamarin android salva il file di testo
- 12. Android: salva l'immagine dall'URL sulla scheda SD
- 13. Android: Sqlite che salva l'array di stringhe?
- 14. Android salva array di oggetti personalizzati
- 15. Android Salva immagine su scheda SD
- 16. mediarecoder Android salva il file vuoto
- 17. PHP Salva sessione quando si utilizza session_write_close();
- 18. C'è l'opzione "Salva come" nel menu File di Android Studio?
- 19. Come si salva un'immagine da una tela Three.js?
- 20. Come si salva l'output del registro NAnt in un file?
- 21. Come si salva un rendering jsreport su file con nodeJs?
- 22. Come si salva un array Int in Swift usando NSUserDefaults?
- 23. Come si salva un UIImage in un file?
- 24. Salva array come xml
- 25. Trie salva spazio, ma come?
- 26. "Salva come" e "Salva e aggiungi un altro" nell'Amministratore
- 27. salva lo stato quando si preme il pulsante Indietro
- 28. Esegui test di unità su Salva con Android Studio
- 29. Salva come XML con VBA?
- 30. Salva Open XML come PDF
Grazie per le informazioni aggiuntive Tanmay. Il pulsante cerchiato aiuta a fare uno screenshot :) e anche questo è utile. Quello che intendevo è "salvare/ripristinare" lo "stato" dell'emulatore. Una funzione lanciata proprio ieri. Provalo! – Gaurav
Non ero a conoscenza dell'aggiornamento. Grazie per quello. –
Funziona con l'SDK di Android 8? – hoffmanc