Disinstalla completamente un'app su Lollipop


16

Sto riscontrando un problema con la disinstallazione di app su Android 5.0 (Nexus 5). Sto sviluppando un'app Android, quindi eseguo il debug / eseguo l'app direttamente sul mio dispositivo. Per la produzione, ho esportato la stessa app con il mio keystore, disinstallato l'APK di debug che avevo eseguito in precedenza, ho provato a installare l'APK firmato e ho riscontrato questo errore:

Un pacchetto esistente con lo stesso nome con una firma in conflitto è già installato.

È perché i bytecode sono ancora in runtime ART? Qualcuno ha idea di come risolverlo?

Risposte:


27

Quando disinstalli un'app usando il solito approccio pre-Lollipop (ad esempio trascinando l'icona "cestino" o da Informazioni app > Disinstalla ), viene disinstallata solo sull'utente corrente . Può essere confermato dall'app che mostra "Non installato" sul gestore app di magazzino. Android rileverà che l'app è ancora lì, impedendo all'utente di installare l'app con lo stesso nome di pacchetto.

È dovuto all'account Ospite (se attivato), che quando un'app è installata, viene automaticamente installata su tutti gli utenti. Quindi, è necessario disinstallare anche l'app da lì, il che può essere problematico nell'uso quotidiano.

Esistono alcuni approcci per disinstallare completamente l'app (ordinata per praticità):

  1. (dall'account del proprietario) Vai su Impostazioni > App , trova e apri le informazioni sull'app. Quindi, apri il menu di overflow (3 punti verticali) e scegli Disinstalla per tutti gli utenti .
  2. (dall'account ospite) Disattiva l'account ospite se non ti serve (per maggiori informazioni: Rimozione dell'account utente ospite predefinito da Android Lollipop )
  3. (dal PC) Immettere adb uninstall <package>al prompt dei comandi / shell. È lo stesso di "Disinstalla per tutti gli utenti"
  4. (da guest / altri account) Trova l'app e disinstallala normalmente.
    • Nel caso in cui non sia possibile disinstallarlo, provare a rimuovere l'account e crearne uno nuovo, quindi provare a trovare e disinstallare di nuovo l'app.

2
Che ne dici di app che hanno il pulsante Disinstalla disabilitato? Ti piacciono le app di sistema duplicate dalle app dai pacchetti di gapps?
Robert Koritnik,

@RobertKoritnik mi dispiace, non rientra nell'ambito di questa risposta poiché la disinstallazione delle app di sistema richiede l'accesso come root, come questa domanda .
Andrew T.

0

Sono riuscito a disinstallare in questo modo:

  • Prima ho provato a disinstallare in modo normale (usando Impostazioni-> Applicazioni-> nome-app-> disinstalla), che rimuove la possibilità di eseguirlo, ma chiaramente non si disinstalla.
  • Ho eseguito Google Play e ho cercato l'app.
  • Ho visto che il pulsante UnInstall era inattivo, ma l' installazione era attiva, quindi ho toccato Installa . Ora sono in grado di eseguire l'app.
  • Dopodiché, UnInstall pulsante in Google Play è attivo.
  • Tocca Disinstalla per rimuovere l'app.

Voila, non c'è più!


Immagino che il pulsante di disinstallazione non sarà visibile a meno che l'app non sia aggiornata alla versione corrente nel playstore. Se non si dispone di una versione aggiornata dell'app che si sta tentando di disinstallare in questo modo, verranno visualizzate due opzioni, ad esempio Apri o Aggiorna. Devi prima aggiornare l'app e poi disinstallarla, che è un passaggio aggiuntivo che l'utente deve fare ma è inutile poiché l'utente vuole sbarazzarsi dell'app.
Lucky

@Firelord: 1) Sì, intendo tutto quanto sopra è stato eseguito all'interno dell'app Google Play Store sul tuo dispositivo mobile. L'app consente la disinstallazione delle app che hai già installato (ma non disinstallerà le app pre-caricate sul tuo dispositivo, sospiro).
Scott Biggs,

@Firelord 2) Chiarimento: al passaggio 3, utilizzo l'app Google Play Store per reinstallare l'app, permettendomi di eseguirla. Torno sul Google Play Store (e cerco di nuovo l'app in questione) per i passaggi 4 e 5. Spero che chiarisca le cose.
Scott Biggs,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.