Como hacer que una aplicación solicite permisos de superusuario  

Si tenemos el terminal rooteado podemos hacer muchas tareas interesantes desde nuestras aplicaciones. Pero antes de hacer nada, tenemos que solicitar al usuario los permisos de superusuario.

Haremos un método estático par ayudarnos en las tareas de ejecutar cosas como Root:

/**
 * Ejecuta un comando como Root
 */
public static boolean ejecutarComoRoot(String comando)
{
	Process p = null;

	try
	{
		// Ejecutamos como SU
		p = Runtime.getRuntime().exec("su -c "+comando);

		try
		{
			p.waitFor();

			// Comprobamos si somos root
			if (p.exitValue() != 255)
			{
				Log.i("Serone", "Comando '"+comando+"' ejecutado como root correctamente icon smile    Como hacer que una aplicación solicite permisos de superusuario ");
				return true;
			}
			else
			{
				Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...");
			}
		}
		catch (InterruptedException e)
		{
			Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...", e);
		}
	}
	catch (IOException e)
	{
		Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...", e);
	}

	return false;
}

Luego, para solicitar root basta ejecutar cualquier comando, por ejemplo:

// Pedimos root (ejecutando un programa cualquiera como superusuario)
Utils.ejecutarComoRoot("ls");

Inspirado en el código de ésta web.

¡Happy coding!

Cómo hacer que una aplicación Android se pueda mover a la tarjeta SD  

Para permitir ésto basta con añadir android:installLocation=”auto” al manifest, como se puede ver en éste ejemplo:

<?xml version="1.0" encoding="utf-8"?>

<manifest
	xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.serone.test"
	android:versionCode="1"
	android:versionName="1.0"
	android:installLocation="auto"> <!-- Esto nos permite que se instale en SD -->

	...

</manifest>

Tan fácil como eso icon smile    Cómo hacer que una aplicación Android se pueda mover a la tarjeta SD ¡Happy coding!

Rootear un Samsung Galaxy S sabiendo su versión de banda base  

La versión de banda base (esa combinación de 5 letras que empieza por XX que podemos ver consultando la pantalla “Acerca del teléfono”, en la configuración de nuestro móvil) indica la versión de la distribución Android de Samsung que tenemos instalada. A partir de Android 2.3.6 rootear el teléfono es misión imposible salvo que se flashee un kernel modificado que tena root de serie.

Consultando ésta página del foro de XDA Developers podremos elegir el custom kernel que necesitemos para rootear nuestro teléfono.

Usaré como ejemplo mi móvil, que corre una distribución de Android con versión de banda base I900XXJVT. Para rootearlo seguiremos los pasos siguientes:

  1. Descargar el custom kernel y descomprimir donde sea hasta tener el archivo zImage.tar
  2. Arrancar el teléfono en modo download, abrir Odin (viene en el paquete) y flashear el archivo zImage.tar en el hueco PDA
  3. Cerrar Odin (aún con el teléfono conectado al ordenador) y ejecutar el script  RUNME.BAT que viene en el paquete que hemos descargado, que se ocupará de corregir permisos y algunas tareas más de post instalación
  4. Instalar el programa Superuser desde el Android Market icon smile    Rootear un Samsung Galaxy S sabiendo su versión de banda base

Con todo esto deberíamos tener root en el teléfono. Si surgen problemas, habría que hacer un wipe de los datos desde el modo recovery del teléfono, aunque antes deberíamos habver hecho un backup para no perder nada…

¡Suerte con el root!

Androides en guerra: Diario de batalla 4  

Más novedades directamente traidas por nuestros corresponsales desde el campo de batalla:

¡La guerra continúa!

apple vs. android    Androides en guerra: Diario de batalla 4

Cómo rootear un Galaxy S I9000 con la versión 2.3.6 de Android  

La versión Android 2.3.6 de Samsung que hemos instalado anteriormente funciona de perlas… pero viene con un loader cerrado que hace complicado el ganar acceso root. Pero las ventajas de rootear nuestro móvil son infinitas, así que procederemos a buscar la forma de saltarnos ése loader tan, tan cerrado.

Para hacerlo seguiremos éstos pasos (fuente):

  1. Descargaremos el paquete CF Root para XWJVZ (2.3.6).
  2. Poner el móvil en modo Download (bajar volumen + botón central + botón de encendido), conectarlo por USB al ordenador y abrir Odin
  3. Descomprimir el archivo que hemos descargado antes y seleccionar en el slot “PDA” del Odin
  4. Pulsar el botón Start y esperar a que termine… rezando por que todo vaya bien icon wink    Cómo rootear un Galaxy S I9000 con la versión 2.3.6 de Android

i9000 cONNECTED Odin 300x215    Cómo rootear un Galaxy S I9000 con la versión 2.3.6 de Android

Con todo esto ya tendríamos un loader desbloqueado, lo que podríamos comprobar iniciando el teléfono en modo recovery, con la combinación de teclas “subir volumen” + “botón central” + “botón de encendido”. Deberíamos ver ésto:

recovery mode    Cómo rootear un Galaxy S I9000 con la versión 2.3.6 de Android

Pronto más cositas. De momento ya tenemos una base funcional y estable sobre la que trabajar y programar a placer. ¡A disfrutarlo!

Cómo instalar la stock rom de Samsung 2.3.6 en el Galaxy S I9000  

El Samsung Galaxy S viene por defecto con una versión 2.2 de Android. Antes de salirnos de las roms Samsung vamos a actualizar a una versión oficial más moderna, una Gingerbread 2.3.6 en éste caso.

Para hacerlo seguiremos éstos pasos:

  1. Descargaremos Heimdall, una versión libre del software Odin de Samsung. Hay versiones para Windows, GNU/Linux y MacOS.
  2. Descargaremos un firmware pack para Heimdall, concretamente éste: XWJVZ (2.3.6).
  3. Pondremos el móvil en modo download, apagando el móvil y pulsando luego a la vez “bajar volumen” + “botón central” + “botón de encendido”, hasta que aparezca un gráfico muy salado con un androide y una pala.
  4. Sólo Windows: en el subdirectorio drivers de Heimdall encontraremos el programa “zadig.exe”, lo ejecutaremos e instalaremos los drivers de acceso al dispositivo.
  5. Ejecutaremos Heimdall y cargaremos el paquete de firmware que hemos descargado antes desde la primera solapa. Cuando esté cargado pulsaremos el botón “Load/Customise”.
  6. Desde la segunda solapa cargaremos el archivo “s1_odin_20100512.pit” (si no lo tienes se puede encontrar aquí) y pulsaremos el botón “Start”.
  7. Cuando se termine el proceso, el móvil inicará en Android 2.3.6 icon smile    Cómo instalar la stock rom de Samsung 2.3.6 en el Galaxy S I9000

Y ya está, así de sencillo. En posts sucesivos iremos haciendo más cositas divertidas con el Galaxy icon smile    Cómo instalar la stock rom de Samsung 2.3.6 en el Galaxy S I9000 ¡A pasarlo bien!

Galaxy S Download Mode 1    Cómo instalar la stock rom de Samsung 2.3.6 en el Galaxy S I9000

Empieza a desarrollar tus aplicaciones para Android con éste curso  

Leo en Genbeta Dev que en el blog de sgoliver.net su autor ha publicado un EXCELENTE manual de desarrollo de aplicaciones Android desde cero. Cubre varios aspectos por los que comenzar, desde la interfaz de usuario hasta el almacenamiento en base de datos. Su contenido actualmente es:

Conceptos Generales

  1. Entorno de desarrollo Android [Vol. 1]
  2. Estructura de un proyecto Android [Vol. 1]
  3. Componentes de una aplicación Android [Vol. 1]
  4. Desarrollando una aplicación Android sencilla [Vol. 1]

Interfaz de Usuario en Android

  1. Interfaz de usuario en Android: Layouts [Vol. 1]
  2. Interfaz de usuario en Android: Controles básicos (I) [Vol. 1]
  3. Interfaz de usuario en Android: Controles básicos (II) [Vol. 1]
  4. Interfaz de usuario en Android: Controles básicos (III) [Vol. 1]
  5. Interfaz de usuario en Android: Controles de selección (I) [Vol. 1]
  6. Interfaz de usuario en Android: Controles de selección (II) [Vol. 1]
  7. Interfaz de usuario en Android: Controles de selección (III) [Vol. 1]
  8. Interfaz de usuario en Android: Controles de selección (IV) [Vol. 1]
  9. Interfaz de usuario en Android: Controles personalizados (I) [Vol. 1]
  10. Interfaz de usuario en Android: Controles personalizados (II) [Vol. 1]
  11. Interfaz de usuario en Android: Controles personalizados (III) [Vol. 1]
  12. Interfaz de usuario en Android: Tab Layout [Vol. 2]

Menús en Android

  1. Menús en Android (I): Menús y Submenús básicos[Vol. 1]
  2. Menús en Android (II): Menús Contextuales[Vol. 1]
  3. Menús en Android (III): Opciones avanzadas [Vol. 2]

Widgets en Android

  1. Interfaz de usuario en Android: Widgets (I) [Vol. 1]
  2. Interfaz de usuario en Android: Widgets (II) [Vol. 1]

Gestión de Preferencias en Android

  1. Preferencias en Android I: SharedPreferences [Vol. 1]
  2. Preferencias en Android II: PreferenceActivity [Vol. 2]

Tratamiento de XML en Android

  1. Tratamiento de XML en Android (I): SAX [Vol. 1]
  2. Tratamiento de XML en Android (II): SAX simplicado [Vol. 1]
  3. Tratamiento de XML en Android (III): DOM [Vol. 1]
  4. Tratamiento de XML en Android (IV): XmlPull [Vol. 1]

Bases de Datos en Android

  1. Bases de datos en Android (I): Primeros pasos con SQLite [Vol. 1]
  2. Bases de datos en Android (II): Inserción, actualización y eliminación de registros [Vol. 1]
  3. Bases de datos en Android (III): Consulta y recuperación de registros [Vol. 1]

Localización Geográfica en Android

  1. Localización geográfica en Android (I) [Vol. 2]
  2. Localización geográfica en Android (II) [Vol. 2]

Mapas en Android

  1. Mapas en Android (I): Preparativos y ejemplo básico [Vol. 2]
  2. Mapas en Android (II): Control MapView [Vol. 2]
  3. Mapas en Android (III): Overlays (Capas) [Vol. 2]

Ficheros en Android

  1. Ficheros en Android (I): Memoria Interna [Vol. 2]
  2. Ficheros en Android (II): Memoria Externa (Tarjeta SD) [Vol. 2]

Content Providers en Android

  1. Content Providers en Android (I): Construcción [Vol. 2]
  2. Content Providers en Android (II): Utilización [Vol. 2]

Notificaciones en Android

  1. Notificaciones en Android (I): Toast [Vol. 2]
  2. Notificaciones en Android (II): Barra de Estado [Vol. 2]
  3. Notificaciones en Android (III): Diálogos [Vol. 2]

Depuración de aplicaciones en Android

  1. Depuración en Android: Logging [Vol. 2]

De todas formas, el autor seguirá añadiendo nuevos capítulos poco a poco. Por mi parte, éste blog se va de cabeza a mi Google Reader icon smile    Empieza a desarrollar tus aplicaciones para Android con éste curso

Optimizando el HTC Tattoo  

Ahora que estoy a punto de abandonar mi pequeño teléfono de transición, os voy a contar cómo he conseguido optimizarlo para ser un teléfono actualizado y más que competente, que ha conseguido realizar todo lo que le he pedido, con la pereza lógica de su poco microprocesador y ram. Seguro que hay otras formas de optimizarlo -y seguro que son mucho mejore-, pero ésta es la mia icon smile    Optimizando el HTC Tattoo (más…)

El departamento de Defensa de los Estados Unidos aprueba el uso de Android  

Una gran noticia que llegó a la comunidad antes de acabar el año. Como podemos leer en la web de la cadena Ser:

El departamento de Defensa de los Estados Unidos ha aprobado el uso de dispositivos móviles con el sistema operativo Android, que se une a la que por el momento era la única opción, BlackBerry OS

Sin embargo, la decisión no afecta a todos los dispositivos con el sistema operativo Android, por lo que los militares no pueden utilizar sin más un Samsung Galaxy S II o un Kindle Fire. Los pocos equipos equipos aprobados contarán con medidas de seguridad personalizadas especiales creadas por las autoridades estadounidenses.

Además, el personal militar estadounidense solo podrá utilizar modelos Dell, tanto ‘smartphones’ como ‘tablets’. Los modelos tendrán que utilizar una versión especialmente protegida de Android 2.2.

¡Ah, y feliz año del fin del mundo a todos, Androides!

the pentagon copia    El departamento de Defensa de los Estados Unidos aprueba el uso de Android

The tablet Apple tried to stop  

A mi me parece una publicidad brillante, ¿que opinais?

galaxy tab ad    The tablet Apple tried to stop

Visto en mil sitios en Google+ Y hablando de Google+, ¡nos os perdáis la página en G+ de el Diario de un Androide! Unios al círculo!


Disclaimer: Las imágenes mostradas en ésta página web se utilizan sólamente con propósitos ilustrativos, y son propiedad de sus respectivos autores (cuando es aplicable).
Hijo de Blog es un producto del Dr. SeROne

Los contenidos se ofrecen bajo una licencia de Creative Commons
Attribution-NonCommercial-NoDerivs 3.0 Unported

salvo que se indique lo contrario

Licencia de Creative Commons