Congelar una aplicación en Android

ss-320-2-2.jpeg

¿Qué significa eso de congelar (freeze) una aplicación? La idea es muy sencilla y se trata de deshabilitar una apliación en el sistema. Es una especie de desinstalación de la misma sin borrarla del sistema. Es decir, la aplicación todavía se encuentra en nuestro sistema ocupando espacio de almacenamiento, pero el sistema ignora dicha aplicación, por lo tanto lo que si ganamos es memoria RAM.

¿Por qué quiere uno congelar una aplicación en vez de desinstalarla o borrarla? Como decía antes una de las mayores ventajas de congelar una aplicación es ahorrar memoria y por lo tanto hacer que nuestro sistema vaya más rápido. No sólo eso, si no que las aplicaciones que congelemos tampoco apareceran en nuestro terminal, o sea como si no estuvieran. La razón principal de congelar y no desisintalar o borrar las aplicaciones es la de poder “restaurar” nuestro sistema a como vino de fábrica. De hecho, por experiencia propia, cuando borras o desinstalas ciertas aplicaciones el sistema se vuelve inestable. Incluso si lo que desinstalas no es un componente del sistema, que como veremos más adelante también puedes congelar.

Razones para congelar una aplicación La principal razón para congelar una aplicación es la de quitar del medio el bloatware (aplicaciones que te instala tu proveedor por defecto). Estas suelen ser aplicaciones que no usas y también te suelen meter demos para que acabes comprando dicha aplicación. Otra razón, y esta es la que me llevó a investigar un poco sobre este tema es la de desactivar las actualizaciones OTA (Over The Air). El problema es que cada vez que mi proveedor mandaba una actualización, perdía el acceso root al terminal. La única forma que encontré de desactivar estás actualizaciones fue la congelar la aplicación Upgrader (com.motorola.upgrader). ¡OJO! Si haces esto, tu terminal no instalará ninguna actualización de tu proveedor.

¿Cómo se congela una aplicación? La forma más sencilla de llevar a cabo esta tarea es la usar alguna aplicación tipo Titanium Backup (versión de pago, la gratuita no te permita congelar aplicaciones), AntTek App Manager (esta es la que actualmente estoy usando y es gratuita), etc.

Para los más aventureros tenemos la forma manual. Desde adb o una shell podemos ejecutar el comando “pm” o Packet Manager (método usado por Titanium Backup). Este es un gestor de paquetes para Android al estilo apt-get, yum, etc. Si ejecutamos dicho comando sin ningún parámtro veremos las opciones que tenemos. Así a modo de ejemplo y guía rápida tenemos:

Listar los paquetes que tenemos instalados

pm list packages

Mostrar los paquetes congelados

pm list packages -d

Congelar un paquete o componente

pm disable nombre_paquete_o_componente

Descongelar un paquete o componente

pm enable nombre_paquete_o_componente

Por ejemplo, deshabilitemos y habilitemos el NFS Shift, que viene instalado por el proveedor:

# pm list packages nfs
package:com.ideaworks3d.nfsshift
# pm disable com.ideaworks3d.nfsshift
Package com.ideaworks3d.nfsshift new state: disabled
# pm list packages -d
package:com.ideaworks3d.nfsshift
# pm enable com.ideaworks3d.nfsshift
Package com.ideaworks3d.nfsshift new state: enabled
#

Otra forma de congelar una aplicación es renombrando la misma, método usado por AntTek. Ésta renombra el paquete .apk a .apk_fro. Ejemplo extraido de mi propio terminal:

# ls -l *_fro
-rwxrwxrwx root root 1207728 2011-01-30 07:58 Blockbuster.apk_fro
-rwxrwxrwx root root 1416012 2011-09-26 21:01 CarDock.apk_fro
-rwxrwxrwx root root 583001 2011-09-26 21:01 CityID.apk_fro
lrwxrwxrwx root root 2011-06-01 19:19 Madden.apk_fro -> /preinstall/symlink/Madden.apk
-rwxrwxrwx root root 183943 2011-09-26 21:02 Music.apk_fro
-rwxrwxrwx root root 8006 2011-09-26 21:02 Upgrader.apk_fro
-rwxrwxrwx root root 912210 2008-08-01 08:00 VCast.apk_fro
-rwxrwxrwx root root 3359231 2008-08-01 08:00 vzw_vnav_DROIDX_rel_PROD_signed.apk_fro

También puedes mover las aplicaciones de sitio, a un directorio temporal, etc.

Hagas lo que hagas, asegúrate de poder restaurar todas las aplicaciones tal y como estaban.

Nota: para poder congelar componentes o paquetes del sistema, incluidos aquellos que tu proveedor incluye de “fábrica” necesitas tener acceso “root”.