2016-01-14 19 views
30

Ho un'app di Xamarin Forms di base che ho creato. Funziona benissimo con il simulatore iOS.L'app Android di Xamarin Form si blocca eseguendo il debug con l'emulatore VS Android

Tuttavia, quando provo a correre con un VS Android Emulator (5.1 in Marshmallow) si blocca ogni volta all'apertura. Anche quando provo a correre senza eseguire il debug. Di seguito è l'errore continuo a vedere:

01-14 16:22:10.290 D/Mono (1366): AOT module 'mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found 
01-14 16:22:10.290 D/Mono (1366): AOT module '/Users/builder/data/lanes/2512/d3008455/source/monodroid/builds/install/mono-x86/lib/mono/aot-cache/x86/mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found 
01-14 16:22:10.294 D/Mono (1366): Unloading image data-0x9659b010 [0xb93d5940]. 

Sono in esecuzione VS2015 + Xamarin Forms 2.0 più recente e più grande.

Cosa sta succedendo qui?

+0

Sei in grado di eseguire l'app con un altro emulatore? –

+3

Ho lo stesso problema ma solo in modalità di debug (la modalità di rilascio e lo smartphone concreto funzionano correttamente). Un altro messaggio è anche scritto nel log di Xamarin: "Impossibile connettersi al debugger". Solo per riferimento, c'è una discussione sul forum Xamarin che ne parla senza alcuna soluzione per ora (https://forums.xamarin.com/discussion/50696/could-not-connect-to-the-debugger?) –

+0

Grazie TOK . Sì, sono in grado di eseguirlo con il telefono attuale, quindi è sufficiente per ora – aherrick

risposta

92

In breve:

1. "Impossibile connettersi al debugger" questione (inizia app Android e chiude immediatamente, il debug si ferma):

  1. Chiudere la finestra del simulatore di Android per spegnere la macchina virtuale.
  2. Avvio di "Hyper-V Manager" (programma di Microsoft per gestire le macchine virtuali in Windows, lo avete installato)
  3. Selezionare l'emulatore che si sta tentando di utilizzare
  4. click destro per menu di contesto, ha colpito impostazioni
  5. Nelle impostazioni di dialogo espandere processore
  6. Clicca Compatibilità
  7. Nel riquadro di destra impostato casella di controllo “Migrazione a un computer fisico con una diversa versione del processore
  8. Avviare il debug in Visual Studio per riavviare il simulatore

2. La mancanza libaot-mscorlib.dll. quindi problema:

Andare alle proprietà del progetto Android, premere scheda "Opzioni Android" e deselezionare "Usa Distribuzione rapida".

Fonte: Fix for “could not connect to the debugger” while deploying Xamarin Forms apps to the Visual Studio Android Emulator (VS2015)

Questo problema sembra solo di essere che si verificano sulla più recente generazione di processori, il che spiega il motivo per cui non ho mai visto prima.

Questo accade a causa di un'incompatibilità tra le immagini Android per lo Studio emulatore visivo per Android e le nuove generazioni di processori Intel a partire dal 2015.

Questa soluzione è pubblicato anche qui: Visual studio android emulator will not start fully

UPDATE 29 novembre 2017

Si dovrebbe prendere in considerazione il passaggio agli emulatori Android forniti da Google tramite Android Studio per Windows.I nuovi livelli API Android (24 e successivi) sono disponibili solo lì e Microsoft does not seem to care.

Purtroppo, non abbiamo in programma di pubblicare immagini Android oltre la 4.4. Ti consigliamo di provare l'emulatore di Google o GenyMotion per le immagini future del sistema operativo Android.

+1

Eccellente: l'opzione 1 ha risolto il problema (qualsiasi app si avviava e si chiudeva immediatamente) – DilbertDave

+1

@aherrick Spiacente di rovinare il tuo commento. Ho cambiato le routine suggerite in modo che quello che ti ha aiutato sia diventato il numero uno. –

+0

Il primo suggerimento ha funzionato per me. Grazie :) – Ted