Su Android no necesita tener acceso de root para deshabilitar realmente una aplicación, si tiene la versión 4.4.xo superior. Todo lo que necesitas esadbconfiguración en PC y depuración de USB habilitada en un dispositivo no rooteado, o una aplicación de emulador de terminal para un dispositivo rooteado (también puede usar adb).
Si marca el pm
uso del Administrador de paquetes ( ), verá
bloque pm [--ID_USUARIO_USUARIO] PACKAGE_OR_COMPONENT ")
pm desbloquear [--user USER_ID] PACKAGE_OR_COMPONENT ")
Para Lollipop, sería
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT ")
pm mostrar [--user USER_ID] PACKAGE_OR_COMPONENT ")
Para bloquear u ocultar un paquete (es seguro), simplemente haga
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
Para desbloquear o mostrar el paquete, haga
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→ nombre del paquete de una aplicación. Para saber el nombre del paquete de una aplicación:
Agregue adb shell
antes del mismo comando para ejecutarlos desde la PC.
La función detrás de hide tiene el siguiente comentario dentro del código fuente
Pone el paquete en un estado oculto, que es casi como un estado desinstalado, lo que hace que el paquete no esté disponible, pero no elimina los datos o el archivo del paquete real. La aplicación se puede ocultar al restablecer el estado oculto o al instalarlo
Se hacen comentarios similares para el bloque aquí .
Para verificar el reclamo, puede usar algunos servicios del sistema como meminfo
, procstats
y activity
usar la herramienta dumpsys o incluso enumerar todos los procesos que usan ps
. No encontrará una presencia activa de la aplicación bloqueada / oculta.
Lo mismo ocurre con muchas aplicaciones del sistema deshabilitadas usando GUI o pm disable
no para todas las aplicaciones, ya que incluso una aplicación deshabilitada puede recibir transmisiones para las que se ha registrado, lo que solo se puede hacer si está cargada en la memoria 1 . Sin embargo, una aplicación deshabilitada no puede actuar por sí sola, ni puede ser ejecutada por ninguna otra aplicación.
He argumentado algunas de las diferencias entre ocultar / bloquear y desactivar en mi pregunta pm hide VS pm disable: la crisis de identidad . Proporciona solo información complementaria a esta respuesta, por lo que puede omitirla.
EDITAR:
Parece que la técnica no funciona para todas las aplicaciones en Android KitKat. En ese caso, simplemente revoque el permiso de lectura del APK de la aplicación o elimine la extensión .APK del nombre del archivo de la aplicación (este último lo sugirió Jaskaranbir una vez), seguido de un reinicio suave / completo. Esto es lo mismo que eliminar una aplicación del sistema, con la única diferencia de que todos los archivos permanecerían en su lugar.
Ambos pasos se pueden ejecutar con cualquier aplicación de administrador de archivos raíz. La forma de la línea de comando es:
adb shell su -c 'chmod 000 /data/app/PACKAGE*' # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE' # doing renaming by moving the file
adb reboot
1: falta de evidencia técnica para respaldar el hecho