Acceso root y funcionalidades extra para el Nexus One con Android 2.3.6

Como muchos ya sabréis, soy un usuario de un Nexus One desde hace año y medio. Desde el primer día lo he tenido actualizado hasta la última versión oficial de Android distribuida por parte de Google, siendo actualmente la 2.3.6. Muchas veces me he planteado si ser root o no ser root en mi teléfono, puesto que este privilegio es muy delicado en entornos Unix (como lo es Android al fin y al cabo), ya que otorga acceso a todo el sistema y se pueden hacer tanto bondades como maldades en él. Por otra parte, siempre he estado convencido que para conseguir este privilegio no iba a realizar ninguna modificación que no fuera más allá de un toque en el teléfono o un click desde el ordenador, conservando así el arranque y el sistema operativo lo más original y sin modificar posible.

Hace un tiempo explotaron un agujero de seguridad en Android (creo que en la rama de Froyo) con el cual, desde una aplicación llamada z4root, se podían conseguir privilegios de administrador. Me arriesgué y lo realicé con éxito. En su momento no le vi muchas ventajas a eso de ser root, pero pude comprobar que el control que se tiene para conseguir privilegios de administrador es bastante convincente con Superuser, pudiendo aceptar o denegar dicha elevación de permisos para cada aplicación que lo requiere.

Tras la actualización a Gingerbread, perdí esos privilegios (quedándose, por otro lado, instalada la aplicación de Superuser como aplicación del sistema, por lo que sin opción a desinstalarla… bastante molesto). Nunca los había echado en falta, puesto que tenía la libertad de instalar y utilizar todo lo que necesitaba… hasta la versión 2.3.6. En esta versión metieron la pata por algún lado (no sé si errores software o restricciones más elevadas), pero hubo dos problemas que me limitaron:

  • La aplicación Galería, para ver y editar las fotos y vídeos, dejaba de tener la opción tan útil como es el pinch-to-zoom para acercar y alejar la imagen haciendo el gesto de pinza.
  • La aplicación Música, la cual se actualizó en Honeycomb (3.0.1) y Ice Cream Sandwich (4.0.9) con la opción de poder escuchar en streaming y sincronizar la música propia disponible desde la nube por el nuevo servicio Google Music, no podía ni actualizarse ni volver a instalarse, por lo que se volvía a la versión de «fábrica» sin esta opción.

Por tanto, desde ese día estuve esperando que hubiese algún modo de realizar el famoso root al Nexus One… ¡y ayer finalmente lo conseguí! Apliqué el script indicado en esta página y tras un reinicio conseguí tener privilegios de administrador. Y con ello, pude realizar los cambios pertinentes en el sistema (siempre con cuidado de no cagarla, que son los riesgos de tener acceso root), consiguiendo instalar la aplicación Google Music 4.0.9 y activar el pinch-to-zoom en la aplicación Galería.

¿Cómo conseguir tener Google Music 4.0.9?

Pues el proceso que seguí no deja de ser una modificación de la distribución oficial del sistema operativo en donde se tocan partes muy delicadas que están protegidas. Puesto que esto no es un tutorial, sino una guía que puedan seguir aquellos que sepan cómo hacerlo (por tanto, si no sabes cómo hacerlo, NO lo hagas), los pasos son los siguientes:

  1. Accedí con la aplicación ConnectBot a la consola local del sistema operativo y conseguí privilegios de administrador.
  2. Remonté la partición de /system con permisos de escritura.
  3. Hice una copia de seguridad de la aplicación de Google Music en /system/app (ficheros MusicGoogle.apk y MusicGoogle.odex).
  4. Copié el fichero descargado de Google Music 4.0.9 en el mismo lugar renombrado como MusicGoogle.apk y borré los datos de la aplicación.
  5. Volví a remontar la partición de /system con permisos de śolo lectura.
  6. Arranqué la aplicación desde el menú y comprobé que estaba actualizada 🙂

Como podéis ver, si la partición /system está protegida con la opción de sólo lectura es porque es una partición que contiene datos muy delicados. Así mismo, si no se tiene cuidado con los ficheros de la aplicación de Google Music, puedes llegar a perder esta aplicación del sistema.

¿Cómo conseguir tener pinch-to-zoom en la Galería?

Como en el caso anterior, los pasos seguidos modifican partes muy delicadas del sistema operativo. Los pasos que seguí (obtenidos de aquí) fueron los siguientes:

  1. Accedí con la aplicación ConnectBot a la consola local del sistema operativo y conseguí privilegios de administrador.
  2. Remonté la partición de /system con permisos de escritura.
  3. Accedí a la ruta /system/etc/permissions e hice una copia del fichero android.hardware.touchscreen.multitouch.xml con nombre android.hardware.touchscreen.multitouch.distinct.xml.
  4. Con «vi» (gran aplicación que tienen hasta nuestros Android instalada), modifiqué el XML para que el sistema operativo pudiese leer la línea «android.hardware.touchscreen.multitouch.distinct» , que es el permiso que cambiaron en la aplicación Galería y que otorga esta opción, por lo que borré las anteriores en el fichero que copié y añadí esta en este fichero separado. Al final acabarán leyéndose y cargándose las opciones para estas tres líneas (las del fichero que copié y la nueva), que es el objetivo.
  5. Volví a remontar la partición de /system con permisos de śolo lectura.
  6. Reinicié el teléfono y pude comprobar que la aplicación Galería volvía a tener pinch-to-zoom 🙂

En este caso se están otorgando funcionalidades para las que el Nexus One no está al 100% preparado, pero que sí las soporta, como es la opción de poder interactuar en la pantalla táctil con dos o más dedos (sin la coletilla «distinct» sólo te otorga soporte hasta dos dedos, que es lo que el Nexus One permite). Pero ya que cambiaron los requisitos de la aplicación Galería en esta nueva versión, y puesto que anteriormente funcionaba perfectamente, nunca viene de más sobrevalorar el hardware que tenemos. De momento, la opción pinch-to-zoom del resto de aplicaciones funcionan, si cabe, mejor.

Y ya de paso también instalé una aplicación para realizar capturas de pantalla, que nunca viene mal 🙂