Las aplicaciones como Link2SD y Titanium Backup pueden "congelar" otras aplicaciones, es decir, deshabilitarlas sin eliminarlas. ¿Qué hacen estas aplicaciones para lograr esto?
fuente
Las aplicaciones como Link2SD y Titanium Backup pueden "congelar" otras aplicaciones, es decir, deshabilitarlas sin eliminarlas. ¿Qué hacen estas aplicaciones para lograr esto?
Titanium Backup, etc., solo usa in-built Package Manager (pm)
para congelar una aplicación. pm
tiene una función para evitar que las aplicaciones se ejecuten y aparezcan en el Iniciador. Para usarlo, Titanium Backup, etc., ejecute el siguiente comando:
pm deshabilitar {package_name}
Puede congelar aplicaciones usted mismo sin usar una aplicación de congelador dedicada. Simplemente use el comando anterior en Terminal Emulator o ADB Shell
.
Por ejemplo, si desea congelar Stock Web Browser
, abra Terminal Emulator
y cambie a root usando el su
comando. Entonces, ejecuta # pm disable com.android.browser
.
Se va a volver #Package com.android.browser new state: disabled
. ¡Hecho!
Reinicie su Iniciador (algunos dispositivos pueden requerir reiniciar) para ver el ícono de la aplicación desaparecido.
Para descongelar la aplicación, simplemente reemplácela disable
con enable
en el comando.
pm disable
solo dice "muerto", luego el proceso comienza de nuevo inmediatamente. kill -STOP pid es mejor. Puede ver cuáles están detenidos, en laps
salida.Encontré cómo
pm disable
funciona:Si corres
cat /system/bin/pm
, te da:Entonces, aparentemente es lo mismo que el PackageManager que usamos desde Java, lo llama, solo en un contexto raíz al que ninguna aplicación de usuario puede acceder directamente.
PUEDE verificar si algo está congelado, utilizando
fuente
En los sistemas Unix, los archivos tienen 3 autorizaciones: leer, escribir y ejecutar.
(Para 3 categorías de personas: el propietario del archivo [generalmente su creador], un grupo de personas y todos los demás, pero está fuera del tema).
Si elimina la autorización de ejecución del archivo, ya no se puede iniciar (ejecutar).
fuente