2015-09-06 13 views
16

Sto tentando di eseguire il test Use Fast Deployment per la mia app Android nell'emulatore. Lo sto facendo perché, come probabilmente saprai, costruire e testare un'app sull'emulatore è incredibilmente lento e abbastanza frustrante, quindi ho bisogno di accelerarlo.L'implementazione rapida di un'app per l'emulatore di Android non funziona correttamente

PS: se avete qualche consiglio su come è possibile distribuire ed eseguire un'app su un emulatore in meno di 30 secondi lo apprezzerei molto. La mia app è piccola e semplice, quindi non dovrebbe essere necessario eseguire sanguinanti 1.5 minuti sull'emulatore?

La distribuzione sta fallendo e dandomi l'errore:

Xamarin.AndroidTools.AndroidDeploymentException:
FastDevDirectoryCreationFailed at
Xamarin.AndroidTools.AndroidDeploySession.WaitForRemoteDirCreation(String
destinationPath, CancellationToken token) at
Xamarin.AndroidTools.AndroidDeploySession.InstallAssemblies(String
destinationPath, CancellationToken token) at
Xamarin.AndroidTools.AndroidDeploySession.FastDev(Boolean useExternal)
at Xamarin.AndroidTools.AndroidDeploySession.Run(CancellationToken
token) at
Xamarin.AndroidTools.AndroidDeploySession.RunLogged(CancellationToken
token) at
Xamarin.AndroidTools.AndroidDeploySession.Start(CancellationToken
token)

Come posso risolvere questo errore? E con successo Use Fast Deployment e distribuirlo all'emulatore? Come velocizzi la distribuzione e il test dell'emulatore Android?

Informazioni rilevanti:

  • In Windows 8.1 Surface Pro 2 (4GB di RAM)
  • Utilizzando VS2013 professionale
  • L'emulatore di Android è un Nexus (API 21) CPU = Intel Atom x86. Sto usando questo perché Xamarin suggests questo per accelerare la distribuzione.
  • Il progetto utilizza Xamarin e MVVM Croce

Se schiero a un emulatore differente utilizzando Use Fast Deployment ricevo alcun errore schieramento, ma quando l'applicazione viene eseguito si blocca immediatamente con: Unfortunately 'app' has stopped

+0

Hai provato a rimuovere il runtime condiviso dall'emulatore in modo che venga nuovamente installato la volta successiva?Per quanto riguarda la velocità dell'emulatore, suggerirei di guardare nel player Xamarin Android: https://xamarin.com/android-player per me installa e avvia l'app entro 10 secondi. – Martijn00

+0

Utilizza anche la distribuzione rapida, vai alla sezione linker "Scegli collegamento" Nessuno "" ... funziona ... –

+0

Il mio miglior suggerimento è Usa dispositivo fisico per eseguire il debug di un'app .. o installare l'emulatore di Visual Studio ... è più veloce rispetto all'emulatore nativo –

risposta

8

Anche se non lo faccio sapere quale implementazione rapida è, posso comunque suggerire un emulatore molto veloce - Genymotion. Lo uso per la mia app e si distribuisce in meno di 10 secondi. Di seguito è riportato il link. https://www.genymotion.com/

4

Alcuni punti rapidi, il documento consiglia di utilizzare Xamarin Android Player, quindi consiglio di utilizzarlo anche. Se non hai davvero bisogno di usare un simulatore, anche la distribuzione sul dispositivo è anche bella e veloce. Detto questo, questo scenario dovrebbe funzionare, è possibile inviare più dettagli sul problema a [email protected] e qualcuno dovrebbe essere in grado di aiutare (e menzionare che ho inviato il tuo problema in questo modo?

2

Se Genymotion non lo fa lavorare per provare Andy emulatore. Se entrambi sono ancora troppo lento per voi provare a utilizzare Xamarin studio con genymotion

0

Visual Studio Emulator for Android

funziona anche molto bene. Esso utilizza hyper-V, quindi non c'è bisogno di installare VirtualBox come GenyM, che può causare conflitti con hyper-V se stai facendo lo sviluppo di Windows allo stesso tempo

0

Per me, questo errore ha iniziato a comparire in modo casuale durante il tentativo di creare da Visual Studio. Sembra che ci fosse qualcosa di sbagliato nel telefono.

Ho eliminato la cache del telefono e sono riuscito a installare nuovamente l'app tramite Visual Studio. Per svuotare la cache di un telefono, in genere è necessario spegnerlo e riaccenderlo in "Avvio di ripristino". Di solito questo significa tenere una combinazione di pulsante del volume/pulsante di accensione/pulsante principale. Una volta avviato in questa modalità, dovresti essere in grado di vedere un'opzione "svuota la cache" e poi riavviare.