24 votos

Cómo desinstalar una aplicación del sistema utilizando el comando adb uninstall (NO eliminar mediante rm o cualquier otra forma)

Tengo que mencionar esto para evitar posibles confusiones, esta pregunta es no duplicado. Esta pregunta es específica para uso de adb para desinstalar un paquete . Hay varias preguntas similares pero son todas diferentes a esta, ya que se centran en eliminar una aplicación por cualquier medio.

Por favor, no proporcione respuestas utilizando el comando "rm" para eliminar los archivos del paquete. Tampoco respuestas relacionadas con nombres de paquetes mal formados, o retornos de carro al final. Creo que están más o menos cubiertas en todas las otras preguntas.

Yo tenía pm uninstall funcionalidad pero después de la actualización de la ROM. Algunas cosas ya no se desinstalan. Por ejemplo, las siguientes dos aplicaciones del sistema (que he eliminado en la ROM anterior, mejorando significativamente el rendimiento general):
/system/priv-app/SecurityCenter/SecurityCenter.apk=com.miui.securitycenter
/system/app/Updater/Updater.apk=com.Android.updater

Ahora me sale un error al intentar desinstalarlas de pm: Fallo [DELETE_FAILED_INTERNAL_ERROR]

Pero otros sistema aplicaciones (que no se desinstalan a través de la interfaz normal de Android) se desinstalan a través de pm uninstall de mando. Ejemplo:
/system/priv-app/Browser/Browser.apk=com.Android.browser

Así que ambas son aplicaciones del sistema, ¿cuál podría ser la diferencia entre ellas?

Como referencia, he actualizado de MIUI 8.1.6.0 a 8.5.3.0, y he vuelto a instalar TWRP y SuperSU. Esta pregunta no es específica para mi ROM, ya que veo que otras personas están en la misma situación. Pero parece que tengo una ventaja al poder desinstalar algunas apps del sistema. Y estoy dispuesto a contribuir, para encontrar una solución para todos, para desinstalar cualquier app.

He intentado: mount -o rw,remount /system
pero eso no lo resolvió.

Por favor, ayude con cualquier idea en el camino. Gracias.


Update 1 - Confirmar los pasos para evitar problemas de intermitencia
* Borrado de todas las particiones en TWRP
* Instalada la última ROM (MIUI 8.5.3.0)
* Volví a TWRP, limpié sólo /Data
* Restaurado /Data desde la versión de copia de seguridad de la ROM que vino con el dispositivo (MIUI 8.1.6.0)
* Ahora, después de arrancar en el sistema operativo, la ROM se muestra como la más reciente (MIUI 8.5.3.0) en la configuración

Ahora soy capaz de desinstalar de pm todas las aplicaciones que he probado. Incluso las más resistentes: Google APP, Updater, Security.

Este Frankenstein err quiero decir ROM híbrida funciona bien hasta ahora, y ya he eliminado muchos paquetes del sistema, haciendo que el teléfono (Redmi 3S +) visiblemente más rápido. Pero todavía me gustaría señalar lo que estaba causando esto para que sea Solución genérica . Así que, si no está roto, estoy dispuesto a romperlo, para que la próxima vez que se rompa sepamos cuál es la causa y cómo solucionarlo.

Update 2 -
* Borrado de todas las particiones y restauración de todas las particiones de la ROM original.
* Restaurado a la configuración de fábrica (usando TWRP)
* y después de arrancar en la ROM, volvió a TWRP e hizo otra copia de seguridad
* Usando el mismo escenario que en la actualización 1 anterior, con la única excepción de usar /Data desde aquí. pm uninstall does no trabajo.

¿Alguna idea sobre las diferencias entre las dos particiones /Data en las que debería centrarme?

2 votos

AFAIK pm uninstall no se puede utilizar con las aplicaciones del sistema. Como no está claro si realmente quieres desinstalar o simplemente a ocultar una aplicación (ha mencionado pm disable ), podría pm hide ser lo que realmente buscas?

0 votos

@Izzy Sí se puede. Eso es lo que digo arriba, sólo lo he editado/aclarado un poco más. Quiero pm desinstalación pero a lo que me refería es que antes de actualizar, podía hacer ambas cosas, desinstalar y desactivar en las aplicaciones del sistema, incluso escribí bonitos scripts para encargarme de todo después de la actualización.

0 votos

Tengo nunca tuvo éxito con pm uninstall en las aplicaciones del sistema. Pero tengo una conjetura: ¿Su ROM anterior es una compilación de "ingeniería"? Supongo que funciona con un eng build (aka dev build).

27voto

RigacciOrg Puntos 221

He conseguido añadir el -k y --usuario opciones a la pm comando, por ejemplo:

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

El comando fue emitido como Root, no es necesario volver a montar /system como rw. Android en el teléfono es 6.0 y el paquete es una aplicación del sistema. Sin la opción extra me sale el error:

Failure [DELETE_FAILED_INTERNAL_ERROR]

1 votos

Gracias. Para cualquier otra persona que lea, algunas guías tienen un solo guión delante del usuario, lo que estaba causando el error para mí.

4 votos

Nota: -k no es necesario. Las guías en Internet hacen un copy-paste a ciegas. -k es para mantener los datos de la aplicación intacta. 9/10 si estás eliminando el bloat, no deberías preocuparte por preservar los datos de su app. No hay necesidad de esa bandera.

0 votos

A mi me ha funcionado usando "adb shell cmd package uninstall -k --user 0 com.Android.service"

15voto

Andrei Karcheuski Puntos 201

También funciona sin la opción -k (mantener la configuración del usuario):

pm uninstall --user 0 com.android.service

y sin abrir adb shell:

adb uninstall --user 0 com.android.service

3 votos

Actualizo de miui 10 a miui 11. pero para algunos sistemas/aplicaciones privadas estos comandos fallan. por ejemplo para com.miui.calculator

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X