Getting started

Disinstallare un'app preinstallata senza accesso privilegiato

· 2 min read

Illustrazione. Decorativa: i dettagli sono negli schemi nel testo.

È il comando centrale di tutto quello che facciamo qui:

adb shell pm uninstall --user 0 com.esempio.pacchetto

Se risponde Success, l'applicazione è sparita dal televisore.

Cosa fa davvero quel comando

  • pm è il gestore pacchetti di Android.
  • uninstall rimuove un'applicazione.
  • --user 0 è la parte decisiva: la rimuove solo dall'utente principale, non dal sistema.

Senza --user 0 il comando fallirebbe su un'app di sistema: Android non permette di cancellare dal firmware. Con --user 0, il file originale resta intatto sulla partizione di sistema, che non viene mai modificata.

Tre conseguenze pratiche:

  1. Si può annullare con un comando.
  2. Un ripristino di fabbrica riporta tutto com'era.
  3. Non hai toccato il firmware, quindi nulla può restare a metà.

Annullare

adb shell cmd package install-existing com.esempio.pacchetto

Non scarica nulla. Reinstalla la copia di fabbrica.

L'alternativa più morbida: disattivare

adb shell pm disable-user --user 0 com.esempio.pacchetto

L'app resta installata ma non si esegue. Per tornare indietro:

adb shell pm enable com.esempio.pacchetto

Errori che incontrerai

Failure [DELETE_FAILED_INTERNAL_ERROR] — quasi sempre un nome di pacchetto scritto male.

Failure [not installed for 0] — era già fuori.

Success ma l'app c'è ancora — riavvia il televisore.

Prima di lanciarti

  • Uno alla volta. Quindici in un colpo e non saprai quale ha rotto cosa.
  • Prova il telecomando dopo ognuno. È la prima cosa che si nota e la più fastidiosa da recuperare.

Everything here applies to a device you own, and every removal is reversible. The limits of this project: Cosa facciamo e cosa no