Come disinstallare un'app di sistema usando il comando di disinstallazione adb (NON rimuovere tramite rm o in altro modo)


12

Devo menzionarlo per evitare possibili confusioni, questa domanda non è duplicata. Questa domanda è specifica per l' utilizzo di adb per disinstallare un pacchetto . Esistono diverse domande simili ma sono tutte diverse da questa, in quanto si concentrano sulla rimozione di un'applicazione in qualsiasi modo.

Non fornire risposte utilizzando il comando "rm" per eliminare i file del pacchetto. Inoltre, le risposte si riferivano a nomi di pacchi non corretti o resi di trasporto finali. Penso che siano praticamente tutti coperti in tutte le altre domande.

Avevo pm uninstallfunzionalità ma dopo l'aggiornamento della ROM. Alcune cose non verranno più disinstallate. Ad esempio le seguenti due app di sistema (che ho rimosso nella ROM precedente, migliorando significativamente le prestazioni complessive):
/system/priv-app/SecurityCenter/SecurityCenter.apk=com.miui.securitycenter
/system/app/Updater/Updater.apk= com.android.updater

Ora ricevo un errore nel tentativo di pm disinstallarli: Errore [DELETE_FAILED_INTERNAL_ERROR]

Ma altre app di sistema (che non verranno disinstallate tramite la normale interfaccia Android) vengono disinstallate tramite pm uninstallcomando. Esempio:
/system/priv-app/Browser/Browser.apk=com.android.browser

Quindi entrambe sono app di sistema, quale potrebbe essere la differenza tra loro?

Per riferimento, ho aggiornato da MIUI 8.1.6.0 a 8.5.3.0 e ho reinstallato TWRP e SuperSU. Questa domanda non è specifica per la mia ROM, poiché vedo che altre persone si trovano nella stessa situazione. Ma mi sembra di avere il vantaggio di poter disinstallare alcune app di sistema. E sono disposto a contribuire, a trovare una soluzione per tutti, a disinstallare qualsiasi app.

Ho provato: mount -o rw, remount / system
ma questo non ha risolto.

Per favore aiutate con qualsiasi idea lungo la strada. Grazie!


Update 1 - Conferma dei passaggi per evitare problemi intermittenti
* Cancella tutte le partizioni in TWRP
* ROM installata più recente (MIUI 8.5.3.0)
* Torna a TWRP, solo cancellato / Dati
* Ripristinato / Dati dalla versione di backup della ROM fornita con il dispositivo (MIUI 8.1.6.0)
* Ora dopo l'avvio nel sistema operativo, la ROM mostra le impostazioni più recenti (MIUI 8.5.3.0)

Ora sono in grado di disinstallare tutte le app che ho provato. Anche i più resistenti: APP Google, Updater, Sicurezza.

Questo Frankenstein .. err, intendo dire che la ROM ibrida funziona bene finora, e ho già rimosso molti pacchetti di sistema, rendendo il telefono (Redmi 3S +) visibilmente più veloce. Ma vorrei ancora individuare ciò che stava causando questo per renderlo in soluzione generica . Quindi, se non è rotto, sono disposto a romperlo, quindi la prossima volta si romperà sapremo cosa lo sta causando e come risolverlo.

Update 2 -
* Pulito tutte le partizioni e ripristinato tutte le partizioni dalla ROM originale.
* Ripristinato alle impostazioni di fabbrica (utilizzando TWRP)
* e dopo l'avvio nella ROM, è tornato a TWRP ed eseguito un altro backup
* Utilizzando lo stesso scenario dell'aggiornamento 1 sopra, con la sola eccezione dell'utilizzo di / Data da qui. La disinstallazione di pm non funziona.

Qualche idea sulle differenze tra le due / partizioni dati su cui dovrei concentrarmi?


1
AFAIK pm uninstallnon può essere utilizzato con le app di sistema. Dato che non è chiaro se desideri veramente disinstallare o semplicemente nascondere un'app (di cui hai parlato pm disable), potrebbe pm hideessere quello che stai davvero cercando?
Izzy

@Izzy Sì. Questo è quello che sto dicendo sopra, ho appena modificato / reso un po 'più chiaro. Voglio disinstallare pm ma quello che volevo dire era che, prima dell'aggiornamento, potevo fare entrambe le cose, disinstallarlo e disabilitarlo sulle app di sistema, persino scrivere dei bei script per occuparmi di tutto dopo l'aggiornamento.
Emil,

Non ci sono mai riuscito con le pm uninstallapp di sistema. Ma ho una supposizione: la tua ROM precedente è una build "ingegneristica"? Suppongo che funzioni con una build eng (nota anche come build dev).
iBug

@iBug no, in realtà la ROM precedente era quella con cui era arrivato questo telefono. La nuova ROM è anche un aggiornamento ufficiale dal sito del produttore.
Emil,

1
@Firelord L'impostazione di ottimizzazione MIUI era già disattivata . device_owner.xml è assente. device_policies.xml ha solo queste righe: <? xml version = '1.0' encoding = 'utf-8' standalone = 'yes'?> <policy setup-complete = "true"> <active-password -stuff qui- /> </policies>
Emil,

Risposte:


18

Sono riuscito ad aggiungere le opzioni -k e --user al comando pm , ad esempio:

pm uninstall -k --user 0 com.android.service

Il comando è stato emesso come root, non è necessario rimontare / sistema come rw. Android al telefono è 6.0 e il pacchetto è un'app di sistema. Senza l'opzione extra ottengo l'errore:

Failure [DELETE_FAILED_INTERNAL_ERROR]

1
Grazie. Per chiunque legga, alcune guide hanno un solo trattino di fronte all'utente, che ha causato l'errore per me.
TrojanName

3

Funziona anche senza l'opzione -k (mantieni le impostazioni dell'utente):

pm uninstall --user 0 com.android.service

e senza aprire la shell adb:

adb uninstall --user 0 com.android.service

aggiornato da Miui 10 a Miui 11. ma per pochi sistemi / app private questi cammands falliscono. ad es. per com.miui.calculator
srv_sud,
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.