2015-12-15 16 views
22

Stavo lavorando su un progetto Android che utilizza Xamarin in Visual Studio 2012. Recentemente ho aggiornato da un disco fisso a un SSD, quindi ho reinstallato Windows e tutti i miei programmi.Xamarin - Android - Visual Studio - L'applicazione non può essere avviata

Dopo aver clonato il mio repository git e aver provato a eseguire l'applicazione sul mio dispositivo, non sono riuscito a farlo funzionare. Sono stato in grado di avviare un nuovo progetto Hello World e l'ho eseguito, ma non riesco a far funzionare questo progetto.

Questo è ciò che l'errore dice:

L'applicazione non potrebbe essere avviato. Assicurati che l'applicazione sia stata installata sul dispositivo di destinazione e abbia un'attività che può essere lanciata (MainLauncher = true).

Inoltre, selezionare Build-> Configuration Manager per assicurarsi che questo progetto sia impostato su Distribuisci per questa configurazione.

Ho cercato una soluzione a questo problema ma non sono riuscito a trovare nulla che funzionasse.

risposta

36

Ho risolto il problema. In qualche modo l'applicazione esisteva ancora sul mio dispositivo anche se non veniva visualizzata nelle mie applicazioni e avevo bisogno di rimuoverla.

La soluzione era trovare un vecchio APK che avevo inviato via email e l'ho installato. Quindi ho disinstallato l'applicazione e l'ho distribuita nuovamente da Visual Studio. Questa volta ha funzionato.

Si può leggere di più qui: https://forums.xamarin.com/discussion/8501/install-failed-update-incompatible

EDIT (13 Marzo 2017):

sembra un sacco di persone pensano che questa risposta utile così ho deciso che dovrei aggiornarlo con un metodo alternativo per disinstallare l'app se non si ha accesso a una vecchia versione.

Come menzionato da Atul Chaudhary e Nestel, è possibile aprire il prompt dei comandi adb ed eseguire adb uninstall <com.your.application.package.name>. Se ci sono dei residui della tua applicazione che rimangono, dovresti sbarazzartene.

+3

Questo lo ha risolto per me, anche se sono stato in grado di disinstallarlo semplicemente andando su Impostazioni -> App -> Tutto, dove era presente anche se non c'era un launcher nel cassetto delle app. – cmeeren

+1

Impostazioni> Gestione applicazioni> NameOfYourApplication> Disinstalla – pampi

+0

Sì, mi ha aiutato anche me, molte grazie. – Aaron

-1

Se è stato reinstallato tutto, potrebbe essere necessario ripristinare il gestore di configurazione in VS.

In Visual Studio: Build -> Configuration Manager -> Mettere un segno di spunta nella casella "Distribuisci".

+0

Provato t, non ha funzionato. Inoltre era già controllato. –

4

Ovviamente l'OP ha individuato il problema per il loro problema ma volevo ancora pubblicare una risposta relativa a un problema che avevo con lo stesso messaggio di errore. Sto usando Visual Studio (all'interno di Parallels) e sto provando a eseguire il debug dell'applicazione su un'istanza di Xamarin Android Player (che è in esecuzione sul mio Mac).

Continuavo a ricevere questo errore e mi sono reso conto che un messaggio di errore diverso, più utile, veniva visualizzato nell'output di generazione dicendo che non stavo supportando l'architettura corretta.

Dirigersi nelle proprietà del progetto Android -> Opzioni Android -> Avanzate -> e verificare x86 finalmente consentito alla distribuzione corretta su Xamarin Android Player.

1

Ho avuto lo stesso errore oggi, cercando di eseguire l'app Xamarin per Android su Xamarin Android Player. Per risolvere il problema dovevo controllare la casella "x86" nella sezione "Architetture supportate".Quindi potresti voler controllare questa sezione.

+0

Dov'è questa sezione? –

+0

Trovato ... Proprietà ProjectName.Native.Droid> Opzioni Android> Avanzate. Era già controllato –

8

esecuzione di questo comando dalla shell adb risolto per me:

adb shell pm uninstall -k com.packagename 

Per accedere al adb shell da Visual Studio Tools -> Android -> Android Adb Prompt dei comandi.

Errore molto interessante, sembra che Visual Studio non sia in grado di disinstallare completamente la versione precedente.

+0

Ho dovuto abbandonare -k per farlo funzionare –

0

Sono riuscito a risolverlo cancellando i dati utente dall'emulatore.

Da AVD Manager, quando si avvia l'emulatore, selezionare "Cancella dati utente" e il dispositivo emulato si comporterà come nuovo.

Il problema è apparso dopo l'aggiornamento ad Android SDK Tools 25.1.3.

1

Ho riscontrato questo problema quando non c'era memoria sufficiente sul dispositivo. Dopo la distribuzione "riuscita", l'app mancava anche nell'elenco delle app in Impostazioni. L'eliminazione tramite adb mi ha dato Failure che indicava che non era installato. Nel registro di output in VS2015 avevo lo stesso messaggio di OP. Alla fine ha funzionato dopo aver ripulito circa 50-100 MB, anche se in Impostazioni app mi ha mostrato che c'erano 500 MB gratuiti. Ho provato diverse soluzioni (cancellando adb, pulendo, costruendo poi distribuendo) ma solo ripulendo funzionava.

+0

Dai un'occhiata all'uscita Build, per vedere se lo spazio di archiviazione è un problema:> La distribuzione non è riuscita a causa di un errore interno: non c'è abbastanza spazio di archiviazione sul dispositivo per l'archiviazione pacchetto: /data/local/tmp/Mono.Android.Platform.ApiLevel_23.apk. Liberare spazio e riprovare. – cfl

1

adb uninstall ha fatto il trucco. La cosa strana è che anche se si esegue il comando per elencare tutte le app che sono installate, non verrà visualizzato ma se si esegue il comando di disinstallazione con il nome del pacchetto ur che dovrebbe essere il nome del progetto o il nome che si è assegnato si otterrà il risultato di successo che significa che è stato disinstallato e per verificare che se si esegue nuovamente il comando di disinstallazione con lo stesso nome del pacchetto si otterrà il comando di errore. Poi di nuovo la distribuzione ur pacchetto dovrebbe funzionare

8

enter image description here

  1. Nome applicazione rinominato.

  2. Nome pacchetto aggiunto.

App. ha iniziato a lavorare su Emulatore, Nuova applicazione nuovamente, app. ha continuato a correre.

Nota: Ripristino del dispositivo, disinstallazione dell'applicazione. e il runtime correlato ecc. dalle impostazioni non ha funzionato per me.

Spero che questo aiuti qualcuno.

+1

Grazie! Ho ribattezzato l'applicazione, quindi ha funzionato. Poi l'ho ribattezzato e ha iniziato a funzionare di nuovo sul mio telefono. – DisibioAaron

+0

Wow. Questo ha funzionato. Grazie per l'aiuto. – mac

+0

Questo mi ha aiutato anche, il nome del pacchetto è andato mancante in qualche modo, che era lì in precedenza .. –

0

Inizialmente non riuscivo a farlo funzionare. Ho provato a rimuovere tutto (Mono runtime, app, ecc.), Ma senza successo.

Ciò che ha funzionato è stata la ridenominazione del mio pacchetto, che nel mio caso andava bene dal momento che non ho ancora rilasciato il mio apk. Alcune versioni fantasma sono ovviamente ancora memorizzate sulla mia unità.

0

Rinominare Nome applicazione e pacchetto Nome (andare a manifestare le impostazioni), dove ha contribuito a risolvere il problema

+0

Cambiare il nome del pacchetto non sbarazzarsi dell'applicazione installata in precedenza. Crea solo un'applicazione completamente nuova sul tuo dispositivo. Se questa è un'applicazione che esiste sul Google Play Store, non è davvero una soluzione accettabile. –

0

Le uniche alternative che aiutano a risolvere questo sono stati i seguenti:

  • Dalla home Xamarin Studio Android pagina (dove sono visualizzati tutti i dispositivi), fare clic sul pulsante "tre punti" e quindi su Ripristino delle impostazioni di fabbrica.

O

  • installare un nuovo dispositivo e distribuire la vostra applicazione lì.
+0

Consiglio vivamente il ripristino di fabbrica poiché eliminerà la maggior parte di ciò che è presente sul telefono.Questo dovrebbe essere fatto solo come ultima risorsa se tutti gli altri mezzi per disinstallare l'applicazione sono stati esauriti. –

+0

@JaredPrice Sì, sono d'accordo, nel mio caso non avevo dati salvati su quell'emulatore quindi non era un problema. – nicolasd92

0

Nel mio caso il problema era che due attività erano attività di avvio, quindi ho creato una di queste attività di avvio.

È possibile rimuovere <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> da file AndroidManifest.xml o MainLauncher = true da cs Attività attributo di file

2

L'approccio ADB non ha funzionato per me. Non volevo ripristinare le impostazioni di fabbrica del mio telefono né disinstallare le mie app, quindi sono riuscito a distribuire cambiando il pacchetto.

  1. Fare clic destro sul vostro progetto Droid
  2. Selezionare Proprietà
  3. Got to Application manifesto
  4. Cambiare il nome del pacchetto
  5. ridistribuire il progetto enter image description here

Spero che questo aiuti

Problemi correlati