Como hacer una copia de seguridad con nandroid-backup

NOTA: Las capturas de pantalla pueden estar obsoletas, pero el procedimiento a seguir es el mismo a pesar de que algunos menús puedan ser levemente diferentes.
Esta copia de seguridad será una copia de la ROM original, pero estará rooteada. Para extraer una copia de seguridad de la ROM original este es el momento necesario, se debe hacer lo siguiente:
  • Seleccionar nandroid
  • Seleccionar Backup
post-697226-1280449464_thumb.png

Hecho esto tendremos una copia de seguridad con TODOS los datos actuales, en caso de necesitar acudir al SAT hay un tutorial para des-rootear. Este backup se encuentra en /sdcard/clockworkmod/backup con la fecha y hora actuales, se puede renombrar la carpeta (sin que contenga espacios) para reconocerla de forma más cómoda.

Para facilitarnos la tarea de recopilar todas las ROM’s originales posibles en Wuala visitad este hilo del foro y revisad si vuestra ROM de operador esta listada ya como copiada o no y en caso que no lo este deja un mensaje en ese hilo para que te expliquen como añadir.
Para no incluir datos personales y tener una ROM de operador limpia, deberemos hacer un segundo nandroid-backup haciendo lo siguiente:
  • Seleccionar wipe data/factory reset
  • Seleccionar wipe cache partition
  • Seleccionar nandroid
  • Seleccionar Backup
Esta será la ROM original limpia a compartir en Wuala con los demás usuarios. Esta parte del tutorial es muy importante para este otro tutorial ya que es su complementario opuesto.

Cómo rootear HTC Desire

NOTA: El proceso de rooteo ya es totalmente reversible, por tanto no hay perdida de garantía por rootear. Si necesitaras acudir al SAT, aquí el tutorial de des-rooteo
Compatible con todos los HBOOT desde el 0.75.XXX hasta el 0.93.XXX, sin downgrades ni GoldCards.

Resumen rápido de los pasos importantes

Aunque no se recomienda en absoluto tomar el camino «rápido», mucha gente lo esta haciendo, si se quiere seguir las instrucciones directas sin saber lo que se hace, basta con leerse los puntos:

A pesar de esto:

  • Cualquier problema que pudiera aparecer durante el proceso esta detallado en este tutorial como solucionarlo.
  • Se recomienda leerlo por completo como mínimo para introducirse correctamente y no andar perdido.

Información de introducción al rooteo

En teoría este es un método de rooteo «universal» indiferentemente de la versión de HBOOT y de ROM que se tengan. Esta puede ser la respuesta a todos los usuarios que no podían rootear, o que tenían miedo a los otros métodos. Antes de empezar con el proceso, lee las siguientes preguntas y problemas frecuentes.

Vídeo del proceso

Vídeos realizados por TaRRaKo para ver como es el proceso completo antes de empezar.
Vídeo explicado íntegramente en inglés pero se ve todo más claro y sencillo:

Glosario de términos

Definición de términos que aparecerán por el tutorial (si creéis conveniente añadir alguno más decid-lo en el hilo del foro) y que conviene entender que significan antes de empezar para familiarizarse con ellos:
  • Apps2SD/A2SD/A2SD+: Son tres modos diferentes de guardar aplicaciones en la SD.
    • Apps2SD: Es el modo nativo introducido a partir de Android 2.2, las aplicaciones tienen que estar preparadas para ello.
    • A2SD: Es el modo utilizado en las ROMs cocinadas, se enlaza la ruta /data/app y /data/app-private a una partición en formato ext hecha en la SD. Este modo hace que las aplicaciones se muestren en Android como instaladas en la memoria interna porque se utiliza un enlace simbólico entre carpetas para que realmente se guarde en otro lugar, en lugar de guardarlo en la partición FAT32 para que Android lo reconozca como movido a la SD.
    • A2SD+: Es el modo utilizado en las ROMs cocinadas, se enlaza la ruta /data/app, /data/app-private y /data/dalvik-cache a una partición en formato ext hecha en la SD. Este modo hace que las aplicaciones se muestren en Android como instaladas en la memoria interna porque se utiliza un enlace simbólico entre carpetas para que realmente se guarde en otro lugar, en lugar de guardarlo en la partición FAT32 para que Android lo reconozca como movido a la SD.
  • Brick: Término inglés que significa Ladrillo, eso solo suele ocurrir si se flashea de forma incorrecta o se daña el SPL, actualmente esto solo puede suceder por dos causas:
    1. Al intentar realizar S-OFF en una Desire.
    2. Por que el móvil se quede sin batería o similar en la mitad de un flasheo de la RADIO o HBOOT.
  • Debrandear: Término empleado al cambiar la ROM original de operador con cambios propios por la de una versión libre de origen sin personalizar por operadoras.
  • Desrootear: Término empleado al flashear una vez rooteado, ya sea utilizando un RUU en formato .exe o .zip (en nuestro caso también conocido por PB99IMG.zip), para flashear TODAS las memorias internas para revertir el proceso de rooteo.
  • ext: Formato de sistema de archivos empleado en Sistema Operativos Linux, del que actualmente tenemos 3 versiones: ext2, ext3 y ext4.
  • Flashear: Cuando actualizamos o cambiamos de ROM estaremos haciendo un flasheo, es parecido a una instalación desatendida y limpia que se puede hacer desde el propio terminal utilizando un archivo en formato «update.zip«. Un archivo en formato «update.zip» no implica que deba renombrarse a ese nombre, sino que dentro el .zip hay que cumplir una estructura y firmar el archivo para que el recovery lo reconozca como un archivo valido.
  • HBOOT: O también conocido como BOOTLOADER, es similar a la BIOS de un PC, aunque no es exactamente lo mismo ya que en estos terminales funciona levemente diferente. En el HBOOT se puede cambiar el S-ON por S-OFF y viceversa de forma temporal (hasta próximo flasheo de este) permitiendo así desbloquear las protecciones impuestas por HTC.
  • Modo FASTBOOT: Es un modo especial de arranque al que se accede pulsando ATRAS + POWER. En este modo podemos utilizar el ejecutable fastboot para.
  • Modo HBOOT: Es un modo especial de arranque al que se accede pulsando BAJAR VOL + POWER. Este modo es empleado por HTC para flashear sus RUUs, nosotros no podemos hacer nada en el a parte de acceder al «Modo RECOVERY».
  • Modo RECOVERY: Es un modo especial de arranque al que se accede desde el «Modo HBOOT» o utilizando aplicaciones como Quick Boot. Este modo es empleado para aplicar actualizaciones por OTA en terminales no rooteados, o para flashear ROMs cocinadas si tenemos un Recovery alternativo.
  • NAND: Las populares memorias USB o también llamadas Pendrives, utilizan memorias flash de tipo NAND.
  • nandroid: Se trata de unos scripts que podemos utilizar desde el menú de un Recovery no oficial, que permiten hacer un volcado de las memorias internas del terminal a archivos .img (imagen) permitiéndonos así la posibilidad de tener copias de seguridad que podemos restaurar cuando queramos de una ROM completamente funcional y configurada.
  • OTA: De las siglas Over The Air que significa «A través del aire«, son actualizaciones oficiales distribuidas de forma automática a través de la red WiFi o 3G.
  • RUU: De las siglas Rom Upgrade Utility que significa «utilidad de actualizacion de Rom», Son similares a las OTA, pero en este caso, es un ejecutable que nos actualiza la Rom del móvil conectado por medio del USB al PC al ejecutarlo desde este.
  • Recovery: Más detalles aquí. Existen versiones de recovery diferentes, pero en esencia hacen lo mismo. En este modo podemos utilizar adb y escribir en ciertos lugares protegidos como /system.
  • ROM: La memoria ROM, (acrónimo en inglés de Read-Only Memory) o memoria de sólo lectura, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite sólo la lectura de la información y no su borrado, independientemente de la presencia o no de una fuente de energía que la alimente. Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil. Se utiliza principalmente para contener el firmware (programa que está estrechamente ligado a hardware específico, y es poco probable que requiera actualizaciones frecuentes) u otro contenido vital para el funcionamiento del dispositivo, como los programas que ponen en marcha el ordenador y realizan los diagnósticos. Debido a que su finalidad es contener un firmware especifico por eso se utilizan los términos «flashear ROM», «ROM cocinadas», … porque el resultado es cambiar el contenido de lo que en ella se almacena.
  • root: Es el usuario con mayores privilegios en un sistema basado en Linux/UNIX, equivalente al Administrador en Windows.
  • rootear: Acción de modificar el sistema con el propósito de acceder al mismo con permisos de Administrador. Actualmente el término se utiliza mucho en referencia al sistema operativo Android en el cual, el usuario que utiliza el dispositivo, no tiene permisos de ROOT (o lo que es lo mismo, permisos de Administrador) por defecto. Se utiliza para poder acceder al sistema en casos de flasheo de ROMS, software que requiere de permisos de Administrador, modificacion de archivos de sistema… etc.
  • SAT: Son las siglas de Servicio de Asistencia Técnica, sitio donde reparan los terminales averiados.
  • Wipe: Término usado en Android que es un símil de «Hard Reset» en Windows Mobile. Hacer wipe en un terminal Android es dejar el teléfono con la configuración inicial (no confundir con la restauración original de la ROM de fabrica ya que no es lo que hace), perdiendo todos los datos almacenados de usuario. La ejecución de esta orden se realiza mediante una serie de combinaciones de teclas y opciones que se presentan en pantalla. La forma de realización variará dependiendo del modelo de terminal sobre la que se ejecute.
  • SPL: Second Program Layout. Como ya se ha comentado en el HBOOT, es similar a la BIOS de un PC, aunque no es exactamente lo mismo ya que en estos terminales funciona levemente diferente. El SPL es la segunda parte que se carga al arrancar el terminal, si este se ve dañado o corrompido, obtenemos un terminal Brickeado.

Preguntas y respuestas frecuentes

¿Qué significa Root?

Ser root equivale a obtener los máximos privilegios posibles en tu teléfono (similar a ser Administrador en Windows). Al tener el control de tu teléfono podrás modificar diferentes cosas que antes no podías, por ejemplo:
  • Usar ciertas aplicaciones exclusivas (Bluex)
  • Crear Backups o copias de seguridad
  • Cambiar la frecuencia de la CPU para que vaya más rápido (Overclock) o más despacio (Underclock)
  • Hacer capturas de pantalla
  • Tethering (utilizar la conexión 3G en tu PC)
  • Usar de ciertos programas de PC
  • Pero lo más importante es la posibilidad de instalar ROMs cocinadas y temas.

¿Qué consecuencias tiene ser root?

El tomar control de estos archivos también puede ser peligroso. Si no tenías acceso a ellos era por una razón: que la puedes liar parda. Efectivamente, un mal uso de este poder puede conllevar a que tu flamante teléfono sólo sirva de pisapapeles. En principio si vas con cuidado y te informas bien de los métodos a seguir no debería haber problema ninguno. Eso si, informaros antes por favor. Además, si te haces root pierdes entre otras cosas:
  • Posibilidad de recibir actualizaciones automáticas (OTA): Tendrás que apañártelas tu solo si quieres actualizar tu terminal aunque a la velocidad que llegan… tampoco es ningún problema 😀
    • Las OTAs son como las ROMs flasheables desde recovery pero que se bajan de forma automática y van en formato parche (no incluyen las apps completas, solo las parchean), pero con la diferencia de que dentro contienen un archivo «firmware.zip» que no es nada más que un «PB99IMG.zip» con otro nombre para flashear desde el recovery original, los custom recovery dan error al flashear este archivo, y en el se incluye el boot, la radio, el hboot y algunas veces alguna cosa más. Por tanto, no probéis a actualizar por OTA una ROM rooteada, porque o bien intentará parchear algo que tenéis diferente o fallará el flasheo del «firmware.zip«, lo que os puede dejar con hardware que no funciona.
  • Pérdida de la garantía de tu teléfono: Si has trasteado con él, Vodafone/Movistar/Orange no se hace ya responsable de daños que pueda sufrir. A menos que desrootees y la dejes como el día antes de rootearla, que en el caso de la Desire es posible.

Puede unrevoked3 hacerme root?

Si, en las versiones anteriores no se podía, pero desde la versión 3.0 ya se puede.

Entonces, que es lo que hace?

unrevoked3 reemplazará el Recovery original por uno personalizado que añade algunas características como «nandroid backups», la posibilidad de utilizar ROM’s cocinadas, y muchas más personalizaciones para tu terminal Android. Además de añadir «Permisos de SuperUsuario» para permitir o denegar las aplicaciones que pueden obtener estos privilegios.

Entonces este proceso desbloquea permanentemente la NAND del terminal?

No, esta utilidad solo desbloquea la NAND suficiente para flashear un custom recovery, ClockworkMod. Porque el mecanismo que utiliza unrevoked2 no es posible dejar desbloqueada la memoria por mucho tiempo. Una vez finalizada la ejecución de reflash, el terminal vuelve a bloquear la NAND.

Como utilizo otra imagen de un custom recovery aparte del de ClockworMod?

Necesitarás elegir un archivo .img, que es un archivo para flashear. Un archivo .zip no funciona, y si lo hicieras podrías dejar inaccesible tu revocery en caso que unrevoked no verifique que realmente se trate de un .img.
Colección de distintos recoverys   Los recoverys mas completos son el RMD y el 4EXT

Hay algunos drivers requeridos?

En Linux y OS X, no se requiere ningún driver. Para los usuarios de Windows, hay que instalar los drivers para el HBOOT contenidos en IncredibleUSBUniversal.zip.
Para instalar el Driver sin problemas, hay que acceder en modo FASTBOOT en la Desire:
  • Apagar la Desire y encenderla con BAJAR VOL+POWER
  • Cuando en pantalla muestre HBOOT USB PLUG pulsar POWER
    • Si no tenías ningún driver para FASTBOOT:
      • Cuando en pantalla se vea FASTBOOT USB PLUG conectarla por USB al PC y cuando detecte el hardware nuevo y pregunte que debe hacer, seleccionar No buscar. Seleccionaré el controlador que se va a instalar e indicarle la ruta donde tenemos descomprimido IncredibleUSBUniversal.zip. Una vez acabado, deberíamos tener instalado el driver sin problemas y preparado para funcionar cuando sea necesario. Ya podemos reiniciar tanto el PC como la Desire.
    • Si ya tenías un driver para FASTBOOT:
      • Abrir el Administrador de Dispositivos de Windows (Click derecho sobre mi PC -> Propiedades -> Administrador de Dispositivos
      • En Otros dispositivos deberías ver un Android 1.0
      • Click derecho sobre Android 1.0 y pulsa en Actualizar controlador del dispositivo.
      • Se abrirá una ventana y deberás pulsar en Buscar Software del controlador en mi Equipo
      • Pulsar en Examinar… y selecciona el directorio donde descomprimiste el IncredibleUSBUniversal.zip, pulsa Aceptar y después Siguiente.
      • Verás una barra de progreso indicando que el driver esta siendo instalado. Si sale algún aviso, pulsa Aceptar.
      • El driver debería haber sido instalado y te mostrará una imagen Windows ha actualizado el controlador del dispositivo.
      • Pulsar Cerrar y asegúrate que Android Bootloader Interface ahora sí aparece bajo Android Phone, en el Administrador de Dispositivos.
  • Reiniciar el PC para que el driver se aplique correctamente.
NOTA: Este mismo driver también sirve para ADB (la Depuración USB) y si no se reinicia el PC no se puede actualizar este otro driver.

Estoy en Linux y mi terminal no se detecta!

Entonces ejecuta la aplicación con permisos de root (sudo ./reflash) o añade las reglas udev apropiadas (/etc/rules.d/51-android.rules). Las instrucciones están en la pagina de Android Developers.

El programa se queda en «Waiting for the system to settle»

Desinstala cualquier programa que pueda conectar con el terminal por USB y sincronizar automáticamente. Especialmente, se han encontrado interferencias con HTC Sync y Doubletwist, pero otros programas también pueden interferir.

¿Liberaréis el código fuente?

En este momento, no indicaremos que vulnerabilidad hemos aprovechado para desbloquear la memoria NAND.

No parece justo! Android es código abierto

En algunos aspectos, estamos de acuerdo; pero a veces, es necesaria una solución de compromiso. Liberando el código fuente de unrevocked, creemos, que comprometeríamos la mejor habilidad de desbloquear terminales futuros. Dando la opción entre sacrificar la libertad de ejecutar código en los terminales y la libertad de leer el código de como los hemos desbloqueado, creemos que millones de terminales son mas importantes. Esto es lo que des-afortunadamente hemos elegido, y hemos tenido que mirar hacia el futuro para valorar que decisión debería tomarse.

He encontrado este software útil, y quiero donar al equipo!

Gracias por apoyarnos. En este momento, el equipo de unrevoked3 no acepta donaciones; pero recomendamos encarecidamente a nuestros usuarios donar a la Electronic Frontier Foundation. La EFF se encarga de un papel muy importante para mantener la libertad digital, incluyendo la ingeniera inversa en nuestros terminales.

Cómo se que versión de HBOOT tengo?

Para saber la versión de HBOOT hay que apagar el terminal y encenderlo pulsando BAJAR VOLUMEN + POWER el terminal arrancara en modo HBOOT y veremos que la pantalla es con fondo blanco y con 3 androides en monopatín en la parte inferior.
Veremos algo como esto:
Image:HBOOT-USB-PLUG-Desire.JPG
Para movernos por el menú se debe hacer con las teclas de volumen y para confirmar con POWER.
Aquí podemos ver la versión de HBOOT que tiene nuestro terminal, pero hoy por hoy esto es indiferente, ya que este método sirve para todos los HBOOT entre 0.75 y 0.93.
De las cuatro opciones que tenemos disponibles, la que nos interesa es la segunda, la que nos permite acceder al «Modo RECOVERY«. Esta es la parte que la herramienta de unrevoked se encargará de modificar.

Cómo activo la depuración USB?

Con el terminal encendido normalmente hacemos lo siguiente:
  • Pulsar Menú -> Ajustes -> Aplicaciones -> Desarrollo -> Depuración USB
Sin esto unrevoked no será capaz de comunicarse con el terminal para el proceso de rooteo.
NOTA: Una vez acabado el rooteo, dejad esta opción SIEMPRE activada (deberéis activarla cada vez que cambiéis de ROM), si aparecen problemas más adelante y no se tiene esta opción activada es muy difícil recuperar el terminal de forma «sencilla» y «rápida».

Pre-Requisitos

Archivos necesarios

  • Descargar unrevoked (Desaconsejado, mejor usar un Recovery alternativo)
  • Recoverys alternativos que pueden ser flasheados, los recoverys mas completos son el RMD y el 4EXT
  • Tener un HBOOT compatible (si no sabes que versión de HBOOT tienes, ve al principio del tutorial y lee TODAS las preguntas y respuestas iniciales :P)

MUY IMPORTANTE, LEER CON ATENCIÓN:

Cómo saber si la pantalla es SLCD o AMOLED?

Si tienes un HBOOT 0.83 o superior es muy probable que tengas una Desire SLCD, si es SLCD necesitáis un recovery compatible (las últimas versiones de recovery lo son, ver Indice de recoverys disponibles).
Aunque la mejor forma de asegurarse es mirando en la caja:

Cómo saber si mi placa es PVT4 y si es 00020000 o 00040000?

Hay algunas Desires (desde finales de Noviembre del 2010) que en el HBOOT se identifican como «BRAVO PVT4 SHIP S-ON«, y dentro de estas, hay 2 tipos de PVT4 (las viejas con un erasesize de 00020000 y las nuevas con 00040000 ) en estos últimos modelos, actualmente solo funciona este ClockWorkMod Recovery v2.5.1.3 y AmonRA Recovery v2.0.0 o superiores de ambos (Indice de recoverys por si estos dejan de estar disponibles o hay nuevas versiones disponibles). Más información aquí.
Estas nuevas PVT4 es posible reconocerlas a través de adb, disponible en el Android SDK (hay un tutorial dedicado a ADB aquí) de la siguiente manera:
  • HTC Desire de las primeras remesas españolas:
  • Información en el HBOOT:
BRAVO PVT1 SHIP S-OFF
HBOOT-0.93.0001
MICROP-031.d
TOUCH PANEL-SYNT0101
RADIO-5.11.05.27
  • Información en ADB:
# adb shell cat /proc/mtd 
dev: size erasesize name
mtd0: 000a0000 00020000 "misc"
mtd1: 00480000 00020000 "recovery"
mtd2: 00300000 00020000 "boot"
mtd3: 0fa00000 00020000 "system"
mtd4: 02800000 00020000 "cache"
mtd5: 093a0000 00020000 "userdata"
  • HTC Desire de las remesas con PVT4:
  • Información en el HBOOT:
BRAVO PVT4 SHIP S-ON
HBOOT-0.93.0001
MICROP-051d
TOUCH PANEL-SYNT0101
RADIO-5.09.05.30_2
  • Información en ADB:
# adb shell cat /proc/mtd
dev: size erasesize name
mtd0: 00100000 00040000 "misc"
mtd1: 00480000 00040000 "recovery"
mtd2: 00340000 00040000 "boot"
mtd3: 0fa00000 00040000 "system"
mtd4: 02800000 00040000 "cache"
mtd5: 096c0000 00040000 "userdata"

Cómo soluciono un SLCD-Brick?

Si has causado un SLCD-Brick a una Desire, deberás seguir este tutorial para corregir el SLCD-Brick.

Cómo soluciono un USB-Brick?

Si has tenido un USB-Brick a una Desire, deberás seguir este tutorial para corregir el USB-Brick.

Para versiones con HBOOT desde 0.75.XXX hasta 0.93.XXX

Flashear un Custom Recovery y rootear usando UnrEVOked

Recoverys disponibles

Pasos necesarios para Windows

Se empieza el tutorial sin tener la Desire conectada por USB:
  1. Desinstalar HTC Sync del PC (dejando solo el HTC Driver Installer)
  2. Reiniciar el PC
  3. Tutorial para la correcta instalación del Driver en Windows usando IncredibleUSBUniversal.zip.
  4. En la Desire: Menu -> Ajustes -> Aplicaciones -> Desarrollo -> Depuración USB debe estar activada.
  5. En la Desire: Menu -> Ajustes -> Conectar a PC -> Tipo de conexión predeterminada -> Sólo Cargar y desactivar la opción de Preguntarme
  6. Ejecutar reflash como administrador, Click derecho -> Ejecutar como Administrador (deberás instalar los drivers para el HBOOT que están en el link anterior)
  7. Tarda unos segundos en iniciar, hasta que nos muestra esta ventana, con el mensaje Waiting for device. Plug phone in…
  8. Si se quiere flashear otro recovery, este es el momento de buscarlo desde el menú File -> Custom Recovery, si no se hace esto se flasheara el recovery de ClockworkMod que es el por defecto.
  9. Conectar la Desire por USB
  10. Esperar, tardará entre 1-2 minutos (Ir al final de este punto para ver el proceso en imagenes)
  11. Tu terminal debería estar en modo recovery en pocos segundos!
NOTA: Si tienes problemas con los drivers, aquí una breve explicación con imágenes para hacerlo desde un Live CD de Ubuntu: http://www.htcmania.com/showthread.php?t=120960

Pasos necesarios para Linux

Se empieza el tutorial sin tener la Desire conectada por USB:
  1. En la Desire: Menu -> Ajustes -> Aplicaciones -> Desarrollo -> Depuración USB debe estar activada.
  2. En la Desire: Menu -> Ajustes -> Conectar a PC -> Tipo de conexión predeterminada -> Sólo Cargar y desactivar la opción de Preguntarme
  3. Ejecutar reflash como root:
    1. Aplicaciones -> Accesorio -> Terminal
    2. En el terminal escribir: sudo ./reflash (Desde la carpeta donde lo tengas descomprimido. Por ejemplo: cd Descargas o cd Escritorio. Linux diferencia entre minúsculas y mayúsculas)
  4. Tarda unos segundos en iniciar, hasta que nos muestra esta ventana, con el mensaje Waiting for device. Plug phone in…
  5. Si se quiere flashear otro recovery, este es el momento de buscarlo desde el menú File -> Custom Recovery, si no se hace esto se flasheara el recovery de ClockworkMod que es el por defecto.
  6. Conectar la Desire por USB
  7. Esperar, tardará entre 1-2 minutos (Ir al final de este punto para ver el proceso en imagenes)
  8. Tu terminal debería estar en modo recovery en pocos segundos!

Pasos necesarios para Mac

Se empieza el tutorial sin tener la Desire conectada por USB:
  1. En la Desire: Menu -> Ajustes -> Aplicaciones -> Desarrollo -> Depuración USB debe estar activada.
  2. En la Desire: Menu -> Ajustes -> Conectar a PC -> Tipo de conexión predeterminada -> Sólo Cargar y desactivar la opción de Preguntarme
  3. Ejecutar reflash como administrador/root
  4. En OS X: doble click en el archivo reflash
  5. Tarda unos segundos en iniciar, hasta que nos muestra esta ventana, con el mensaje Waiting for device. Plug phone in…
  6. Si se quiere flashear otro recovery, este es el momento de buscarlo desde el menú File -> Custom Recovery, si no se hace esto se flasheara el recovery de ClockworkMod que es el por defecto.
  7. Conectar la Desire por USB
  8. Esperar, tardará entre 1-2 minutos (Ir al final de este punto para ver el proceso en imagenes)
  9. Tu terminal debería estar en modo recovery en pocos segundos!

Fallos conocidos

Error: failed to get root. Is your firmware too new?

  • Con la Desire apagada, la encendemos pulsando las BAJAR VOL + POWER, con lo que entraremos en el HBOOT.
  • Una vez aquí, seleccionamos RECOVERY (mover con teclas de volumen y aceptar con POWER), y veremos que se queda la pantalla en negro, con la imagen de un móvil y un triángulo rojo. Bien no os asustéis que es normal.
  • En la pantalla nombrada en el paso anterior, pulsamos esta vez, la tecla SUBIR VOL + POWER, y veremos como nuestra Desire se va a otra pantalla, esta vez de color azul y con menús.
  • En esta pantalla, seleccionamos, la opción de «Wipe data/factory reset«, y dejamos que se reinicie y comience su instalación y configuración, como el primer día que la encendimos.
  • Cuando acabe de configurarse, y antes de aceptar ninguna actualización, ejecutamos el unrEVOked como se indica más arriba.
Algunos usuarios han reportado que utilizando alguna versión anterior de unrEVOked este problema les ha desaparecido, si encontráis alguna versión anterior que no de este problema, hacer un mirror de la descarga y colgad-la en el foro para añadirla aquí 😉

Como hacer una copia de seguridad con nandroid-backup

NOTA: Las capturas de pantalla pueden estar obsoletas, pero el procedimiento a seguir es el mismo a pesar de que algunos menús puedan ser levemente diferentes.
Esta copia de seguridad será una copia de la ROM original, pero estará rooteada. Para extraer una copia de seguridad de la ROM original este es el momento necesario, se debe hacer lo siguiente:
  • Seleccionar nandroid
  • Seleccionar Backup
post-697226-1280449464_thumb.png
Hecho esto tendremos una copia de seguridad con TODOS los datos actuales, en caso de necesitar acudir al SAT hay un tutorial para des-rootear. Este backup se encuentra en /sdcard/clockworkmod/backup con la fecha y hora actuales, se puede renombrar la carpeta (sin que contenga espacios) para reconocerla de forma más cómoda.
Para facilitarnos la tarea de recopilar todas las ROM’s originales posibles en Wuala visitad este hilo del foro y revisad si vuestra ROM de operador esta listada ya como copiada o no y en caso que no lo este deja un mensaje en ese hilo para que te expliquen como añadir.
Para no incluir datos personales y tener una ROM de operador limpia, deberemos hacer un segundo nandroid-backup haciendo lo siguiente:
  • Seleccionar wipe data/factory reset
  • Seleccionar wipe cache partition
  • Seleccionar nandroid
  • Seleccionar Backup
Esta será la ROM original limpia a compartir en Wuala con los demás usuarios. Esta parte del tutorial es muy importante para este otro tutorial ya que es su complementario opuesto.

Capturas de pantalla flasheando Recovery de ClockWorkMod

Estas imágenes son lo que verías en unrevoked usando el recovery por defecto:
        
psfm1.jpg

Capturas de pantalla flasheando Recovery de AmonRA

Estas imágenes son lo que verías en unrevoked usando un recovery alternativo:
amon_ra_revocery_nexus_one_v1.7.0.jpg

la alternativa al face, Meebo, msn y taringa chat

*Para poder enterder el post tienes que leer con gran detalle las imágenes y sus incisos.

*Hize el post de una manera simple en la cual incluyen como 23 imágenes para no relentizar el post.

*No incluyen links de descarga.

*La página web messenger tiene útilidades que pueden servir en algún futuro.
MeeboMeebo es un cliente de mensajería instantánea que se ejecuta dentro de un navegador web, como AIM Express, y que integra múltiples servicios de mensajería instantánea, incluyendo Yahoo! Messenger, Windows Live Messenger, AIM, ICQ, Jabber/XMPP y Google Talk. Meebo hace a los servicios de mensajería instantánea más accesibles a los usuarios que no pueden o no desean descargar el software necesario para ejecutarlos.
 
Tutorial.
Para iniciar primeramente, debemos ingresar a Meebo, una vez que hayamos ingresado nos saldra la home.  
 Para poder ingresar debemos hacer nuestra cuenta meebo, esta sirve para obtener beneficios como agrupar cuentas,cambiar el color y widgets para tus webs, en caso de no querer hacer una cuenta, puedes iniciar sesión conm cualquier otra, individualmente. 
 Pero en el caso de necesitar la cuenta, nos registraremos de la sig forma:

 Una vez que nos registramos tenemos estas opciones para modificar la página. (lean los incisos)

a) Opción para cambiar el avatar desde la pc.
b) Nuestro estado de animo.
c) Nuestros estados al conectarse (online/offline).
d) Salas meebo (aplicación: vease más adelante).
e) Cuentas (FB,msn,T!,myspace,mixpod, etc.).
f) Preferencias (configuraciones,etc.).
g) Minimizar lista de contactos.
h) Agregar contacto.
i) Eliminar contacto.
j) Empezar mensajería instantanea.
k) Chat grupal.
l) Pop out de la ventana de contactos.
 Para cambiar de apariencia entre otras cosas damos clic en Preferencias.

a) En esta parte cambiamos el fondo de pantalla de meebo, ya sea con los wallpapers que vienen incluidos o con los colores que queramos usar.
b) Esta opción nos lleva a cambiar la configuración de im como el historial, mensajes,etc.
c) En este inciso cambiamos la contraseña y el mail de donde nos registramos.
d) Wallpapers.
e) Reproducir sonidos.
f) Activar historial.
g) Recibir mesajes intantaneos de amigos.
h) Mostrar emoticones.
i) Tu nick.
j) Correo en el cual te registraste.
k) Nueva contraseña.
l) Confirmar.
m) Borrar cuenta.
n) Vieja contraseña y enviar.
Agregar contacto y cambiarte el nick.
 


a) Cambiar nick.
b) Agregar cuenta (Taringa im,fb,msn,mixpod,yahoo,gamil,etc.).
c) Cuenta en la cual quieres agregar al contacto.
d) Contacto (msn,etc.).
e) Grupo al cual quieras que pertenezca.
Funciones meebo.

a) Información del contacto.
b) Cam web.
c) Activar historial de conversaciones.
d) Enviar archivos ( no puedes recibir pero si enviar, como msn).
e) Juegos (solo aplica para meebo con meebo).
Meebo roms, estas son salas multichat que solo aplica meebo a meebo, más adelante se muestra un pequeño avance de un widget multichat para tu web mas no mostrare como se hacen o se ponen, aunque el procedimiento es el mismo, este es solo para uso de meebo a meebo.
Tome el nombre el nombre de una comunidad para guiarnos un poco.






Antes de explicar los incisos, lo primero que hice fue crear una sala poniendo su descripción y contraseña para los administradores de la sala (disculpen por la contraseña u.u), luego agregue a un contacto meebo. Después de crear la sala les muestro las sig. opciones.
a) Si te invitan a una sala y quieres ser miembro, haz clic ahí, de esa manera quedaras registrado en la sala.
b) Sirve para invitar a más amigos a la sala.
c) Ahí cambiamos las configuraciones iniciales de la sala (contraseña,avatar,descripción).
d) Opciones de administración entre otras cosas como cambio de nick en la sala.
Ahora bien, quieres poner un widget a tu web para que alguien converse contigo por si tienen alguna duda o simplemente no quieres darle tu msn a alguien y enviarle un mensaje con ese widget, aqui te explico lo básico.
 

a) Nombre del widget.
b) Tamaño.
c) Vista previa.
d) Crear widget
d1) Agregar nuevo widget.
e) Guardar.


a) Código del widget, es un swf.
b) Eliminar widget.
c) Modificarlo, después de pulsar nos manda a otra página para agregarle más detalles que a continuación se muestra.

 Bueno, en la siguiente plantilla les muestro más utilidades de la página, productos útiles que les muestro, decidí no poner muchas imágenes ya que solo les mostrare de manera breve.



a) Meebo bar, esta barra nos permite tener una barra de chat como en Facebook agrupando las multiples cuentas, no es necesario entrar a meebo.com para poder mensajearnos, link de donde podemos sacar el plugin: Plugins de chrome o firefox.  b) Meebo apps, esta es una aplicación para teléfonos y poder comunicarnos Meebo apps.
c) Meebo notifer, esta herramienta nos sirve como un «msn», este nos da las notificaciones sin salirse de la página, puedes cambiar tu estado y entrar a tu mail sin problemas Meebo notifer.
 
a) Icóno.
b) Conectarse a meebo.
c) Configuración de cuenta.
Acá cambiamos la cuenta que queramos usar.
d) Preferencias.   a) Opciones del notifer ( cuando se pone al inicio,etc).
b) Notificaciones que queremos recibir.
 d) Meebo rooms para web, el procedimiento es parecido a meebo widgets y meebo roms (salas), estas salas son especialmente para las webs y funciona de manera similar, no mostrare imágenes del tutorial para no relentizar el post. Meebo rooms

Barra meebo para webs, anteriormente mencione meebo bar para chatear en la web sin salirte de la página, pero en esta forma sirve para darle sabor a tu web, chatear desde ahí, útil a la vez (si me refiero a promoción, lo digo desde el punto de vista de hacer visitas,es como hacer un me gusta en facebook para evitar malos entendidos).




 Hasta aquí termina el tutorial y sus aplicaciones de meebo ( mensajería instantanea),

Chikencito12Oficial BETA 0.02 Android

Cambios:
ROMS
Apps
Paginas

Que es lo que trae la aplicacion?

  • Simplemente es un acceso a mi facebook, twitter, pagina oficial, canal de youtube
  • Aparte de tener una categoria para bajar Apps se van agregando mas en cada version
  • Otra categoria para bajar ROMS se van agregando mas (Pon tu dispositivo en comentarios)
  • Paginas que hablan de android y de apple
  • Paginas de XDA developers
  • Comunidades de taringa de Android y Apple (Se van agregando mas)
  • El archivo solo pesa 600 KB y todavia es BETA pero poco a poco mejorara con su ayuda

http://www.mediafire.com/?xld7kyls5r2q3b9

Guia Android: Avanzando con la base de datos

En el primer artículo sobre Android hicimos el típico Hello World, explicando la estructura de Android, cómo funcionaba ese básico ejemplo ahora vamos a construir un bloc de notas para nuestro teléfono Android. 
Debido a que son más archivos y más líneas de código que en el primer ejercicio os he comprimido los archivos iniciales y finales en un archivo zip (Descargar). Asi siempre tenéis código dónde comparar por si no os funciona algo. Pero como siempre, es mejor que vayáis siguiendo el tutorial y veáis la evolución del código en vez de mirar directamente la solución.

Conexión a la base de datos

Una vez que habéis creado el proyecto Android seleccionando un proyecto existente (Notas), podéis ver la estructura de archivos. Hay ya algunos archivos creados pero el único que he dejado con información es /src/com.android.demo.notepad1/NotasDbAdapter.java. Este archivo se va a encargar de conectarse a la base de datos para que no tengamos que estar lidiando con esto en otras partes del código. Recordad que estamos en un esquema MVC. Este va a ser nuestro primer modelo. Miremos el código en general:

public class NotasDbAdapter {

// variables varias
...

private static class DatabaseHelper extends SQLiteOpenHelper {

DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {...}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {...}
}

/**
* Constructor - pasa el contexto para poder abrir o crear la DB
*/
public NotasDbAdapter(Context ctx) {...}

/**
* Abre la base de datos de notas. Si no puede abrirla, la crea. Si no se puede
* lanza una excepcion
*/
public NotasDbAdapter open() throws SQLException {...}

public void close() {...}

/**
* Inserta una nueva nota con el t’tulo y el texto dados. Si se crea correctamente
* devuelve el rowId, en caso contrario, devuelve -1 para indicar que ha habido
* un error..
*/
public long createNote(String title, String body) {...}

/**
* Borra la nota con el rowId dado
*/
public boolean deleteNote(long rowId) {...}

/**
* Devuelve un Cursor apuntando a la lista de todas las notas
*/
public Cursor fetchAllNotes() {...}

/**
* Devuelve un Cursor apuntando a la nota con el rowId dado
*/
public Cursor fetchNote(long rowId) throws SQLException {...}

/**
* Actualiza la nota con los detalles dados.
*/
public boolean updateNote(long rowId, String title, String body) {...}
}

Tenemos métodos para crear, actualizar, abrir y cerrar la base de datos. Y luego los métodos CRUD para crear una nueva nota, devolver su información (o la de varias notas), actualizarla y borrarla. Esta clase es muy importante ya que estará en todas vuestras apps de una forma u otra asi que miremos método a método.

    private static class DatabaseHelper extends SQLiteOpenHelper {

DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
// sentencia drop
onCreate(db);
}
}

Esta clase auxiliar nos permitirá abrir la base de datos, crearla si no existe y actualizarla al lanzar una nueva versión. La sentencia SQL para crear es:
// sentencia create

 private static final String DATABASE_CREATE = "create table notes 
(_id integer primary key autoincrement," + "title text not null, body text not null);";

Cómo podéis haber observado ya antes, estamos utilizando la base de datos SQLite, es parecida a MySQL pero tiene pequeños detalles diferentes. Con esto ya tenemos creada la base de datos. Veamos el método para insertar notas:

   public long createNote(String title, String body) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);

return mDb.insert(DATABASE_TABLE, null, initialValues);
}

A través de la clase ContentValues guardamos la información con el método put y la insertamos. Para actualizar es casi igual pero usamos el método update en vez de insert. Hay que acordarse de indicar el rowId:

public boolean updateNote(long rowId, String title, String body) {
ContentValues args = new ContentValues();
args.put(KEY_TITLE, title);
args.put(KEY_BODY, body);

return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}

El método borrar es muy obvio asi que pasamos a recuperar una nota de la base de datos:

    public Cursor fetchNote(long rowId) throws SQLException {

Cursor mCursor =

mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;

}

Hacemos una query indicando que queremos un array de tres strings con los tres campos que queremos, y con la condición de rowId. El resto de los parámetros se usan si queremos hacer groupBy, having u orderBy. Después comprobamos que no está vacío y si es así movemos el cursor a la primera posición que apunta a la nota que queremos.

Insertando notas

Vamos a modificar el layout de la actividad inicial /res/layout/notepad_list.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ListView android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_notes"/>

</LinearLayout>

Tenemos dos elementos: una lista y un campo de texto. El TextView sólo se muestra si la lista está vacía. Android sabe esto gracias a empty, que está unido al valor de list. A través de android:id="@android:id/list" indicamos que queremos que esa lista se rellene con los valores de la variable list de la actividad.
Para mostrar la información que aparece en cada fila de la lista necesitamos crear un nuevo template. Creamos un nuevo archivo /src/layout/notes_row.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

En el campo de texto (TextView) vamos a mostrar solo el contenido de la variable text1 de la actividad. Antes de ir a la actividad mirad la clase R.java que os dije en el anterior tutorial que Android la manejaba automáticamente. Podéis ver cómo ha añadido el archivo nuevo y la variable text1.
Vayamos ahora con Notas.java, miremos su estructura:

public class Notas extends Activity {

public void onCreate(Bundle savedInstanceState) {...}

public boolean onCreateOptionsMenu(Menu menu) {...}

public boolean onOptionsItemSelected(MenuItem item) {...}
}

onCreate() es el método principal de la actividad donde ejecutaremos todo nuestro código. onCreateOptionsMenu() creará el menú de opciones y onOptionsItemSelected() estará atento a qué botón del menú presionamos para ejecutar la acción correspondiente. Repito que es sólo sobre acciones sobre el menú, las acciones de otros botones o enlaces van en otros métodos, exactamente con Listeners, pero eso ya lo veremos más adelante.
Lo primero que vamos a hacer es convertir a Notas en una actividad de lista, para ellos hacemos que extienda a ListActivity:

public class Notas extends ListActivity

Una combinación de teclas muy útil para arreglar los imports de los paquetes es ctrl-shift-O en Windows o Linux, o cmd-shift-O en el Mac.
Queremos que en la pantalla principal de Notas muestre la lista de notas, para ello tiene que conectarse a la base de datos, coger la información y mostrarla en el layout que hemos hecho antes:

 private NotasDbAdapter mDbHelper;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
// new notas
mDbHelper.open();
fillData();
}

Declaramos el objeto fuera para que esté disponible a todos los métodos, fijamos que el layout sea notepad_list (fijaros como referenciamos aquí al layout, no usamos urls o directorios, si no referencia mediante la clase R.java). Vamos a coger la información en un método privado para que quede todo más ordenado:

 private void fillData() {
// Recuperamos todas las notas de la DB y creamos una lista Cursor
c = mDbHelper.fetchAllNotes();
startManagingCursor(c);

String[] from = new String[] { NotasDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };

/ Y creamos un adaptador array para que vaya mostrando las filas
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}

Ya empezamos a ver más métodos internos de Android, os animo a entrar a la API de Android e ir viendo lo que hacen exactamente, es la mejor forma de aprender. En fillData() recuperamos todas las notas de la DB con el método fetchAllNotes que hicimos al principio, y luego creamos un adaptador que relaciona el campo del objeto que queremos (KEY_TITLE) con la variable text1 (otra vez referenciada por R.java) e indica que queremos que use el layout notes_row.xml que hemos creado antes. Por último avisa a ListActivity que notes va a ser la lista que queremos mostrar.
Con estas modificaciones ya podríamos ver las notas pero no tenemos ninguna asi que vamos a crear la actividad en un momento para que podamos probarlo más a fondo. En Notas.java añadamos el botón de añadir nota. Basta con llamar a la clase superior para crear el menu y añadir el botón de Add Item en la primera posición.

 public static final int INSERT_ID = Menu.FIRST;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, 0, R.string.menu_insert);
return result;
}

Y añadimos otra variable de texto a strings.xml

 <string name="menu_insert">Add Item</string>

Perfecto, ahora hagamos que al hacer click en este nuevo botón ejecute la nueva actividad para mostrar el formulario. Para eso modificamos el método onOptionsItemSelected() también de Notas.java

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case INSERT_ID:
createNote();
return true;
}

return super.onOptionsItemSelected(item);
}

Capturamos el Id de la opción del menú y si es la primera ejecutamos el método createNote(). En un primer paso vamos a hacer que inserte una nota con un título y texto fijos. En el siguiente paso ya crearemos el formulario:

    private void createNote() {
String noteName = "Note " + mNoteNumber++;
mDbHelper.createNote(noteName, "");
fillData();
}

La razón de llamar a fillData() de nuevo es para que recargue la lista una vez que se ha terminado de ejecutar el evento de hacer click en la opción del menú Add Item.
Es hora de ver en acción lo que estamos viendo. Comprueba que no hay errores en ningún archivo, arregla los imports y ejecuta como un proyecto de Android. Si das a menu podrás añadir una nota e irás viendo como se crea una nota nueva cada vez que le das. Enhorabuena, hemos conseguido comunicarnos correctamente con la base de datos.

Solución a los Imei inválidos causado por Factory Reset

He paso unos días un poco liado investigando cual puede ser el problema de los IMEI inválidos causados por el hacer Factory Reset.
Por algún motivo extraño, el Factory Reset elimina los archivos que gestionan el IMEI.
He hecho muchas pruebas y jugándome la vida mi flamante A5000.
Pues es posible reconstruir los archivos con un software y un cable flash con un poco de paciencia y un buen manual puedes resucitar Dual SIM Androide tendrás que comprar un cable flash o construirlo como hice yo.

Este es mi cable Flaseo, madein juane….jejejeje
El cable se basa en un controlador PL2303 encargado de simular un puerto serial com, entrada usb salida serial com (TX,RX) y estas conectadas al jack del telefono en las patillas 8 TX 10 RX.
P4120003A.JPG
ATENCION CAMBIAR LOS IMEIS ES TOTALMENTE ILEGAL.
ESTE TUTORIAL ES PARA RECUPERAR LOS IMEIS DE TU TELEFONO.
1.Descargar aquí los Drivers:
Quiero decir que es posible restaurar los IMEI sin cable pero para ello tendréis que contactar con migo personalmente o pasaros por el apartado compra venta.
Instrucciones.
INSTALACION DEL SOFTWARE SN_WRITE TOOL
1. La carpeta sn_write_tool, instalar el archivo setup.exe (solo setup)
2. Una vez instalado aparecerá el icono en el escritorio.
RECUPERAR IMEI
1. Abrir el programa desde el escritorio, puede ser de error no importa.
2. Conectar el cable Flahs y el teléfono (El teléfono apagado)
3. Elegir las opciones siguientes:
• 1 Write IMEI + Backup Nvram
• 2 SmartPhone
• 3 Meta Mode
• 4 Velocidad 115200
• 5 Puerto cable Flahs ( Se puede mirar en Administrador de sistema puerto com)
• 6 Marcar opción Check Sum
• 7 Marcar opción Dual Imei
• 8 Elegir Moden Database: BPLGUInfoCustomApp_MT6516_S01_MAUI_10A_W10_48 (Atención puede ser diferente para cada firmware)
• 9 Elegir Ap Database: APDB_MT6516_S01_10YW1048MP_W10.49 (Atención puede ser diferente para cada firmware)
• 10 Picar sobre Star o F6
• Escribir el Imei 1 picar en Enter
• Automáticamente pulsar el botón encender el teléfono durante unos 5 ó 10 segundos, aparecerá el icono Android en la esquina inferior derecha (no en todos) y se quedara hay durante el proceso, si todo ha ido bien en la pantalla del programa mostrara que se ha escrito el Imei.
• Después volverá a salir una pantalla pidiendo el Imei 2, mismo proceso escribes el Imei y picas en Enter.
• Algunos se apagan y otros no, de pende del modelo. Si no se apaga, no hay problema si se apaga pulsáis encender durante 5 ó 10 segundos aparece el icono Android.(no en todos)
• Cuando termine se software se cerrara solo.
• Ahora retiráis el cable, quitáis la batería y volvéis a ponerla.
• Encender el móvil y comprobar el Imei *#06#
• Su teléfono vuelve a la vida.
Os dejo el link de descarga de software.
Dentro de la carpeta está todo lo necesario para el proceso de recuperación del IMEI.

Google Android Hidden Secret Codes

Recently I got a Google Android mobile phone «Samsung Galaxy I7500«. While I’m loving playing with it, I also found some interesting secret codes which can enable/disable lots of hidden settings in the mobile phone. These codes can also show many useful information about the phone.
So in this topic, you’ll get several hidden secret codes which can be used in any Google Android mobile phone to access things which are not accessible by default.
FYI These codes have been obtained by decoding various .apk files present in the phone firmware.

DISCLAIMER: This information is intended for experienced users. It is not intended for basic users, hackers, or mobile thieves. Please do not try any of following methods if you are not familiar with mobile phones. We’ll not be responsible for the use or misuse of this information, including loss of data or hardware damage. So use it at your own risk.

*#*#4636#*#*

This code can be used to get some interesting information about your phone and battery. It shows following 4 menus on screen:

  • Phone information
  • Battery information
  • Battery history
  • Usage statistics
*#*#7780#*#*
This code can be used for a factory data reset. It’ll remove following things:
  • Google account settings stored in your phone
  • System and application data and settings
  • Downloaded applications
It’ll NOT remove:
  • Current system software and bundled applications
  • SD card files e.g. photos, music files, etc.
PS: Once you give this code, you get a prompt screen asking you to click on «Reset phone» button. So you get a chance to cancel your operation.
*2767*3855#
Think before you give this code. This code is used for factory format. It’ll remove all files and settings including the internal memory storage. It’ll also reinstall the phone firmware.
PS: Once you give this code, there is no way to cancel the operation unless you remove the battery from the phone. So think twice before giving this code.
*#*#34971539#*#*
This code is used to get information about phone camera. It shows following 4 menus:
  • Update camera firmware in image (Don’t try this option)
  • Update camera firmware in SD card
  • Get camera firmware version
  • Get firmware update count
WARNING: Never use the first option otherwise your phone camera will stop working and you’ll need to take your phone to service center to reinstall camera firmware.
*#*#7594#*#*
This one is my favorite one. This code can be used to change the «End Call / Power» button action in your phone. Be default, if you long press the button, it shows a screen asking you to select any option from Silent mode, Airplane mode and Power off.
You can change this action using this code. You can enable direct power off on this button so you don’t need to waste your time in selecting the option.
*#*#273283*255*663282*#*#*
This code opens a File copy screen where you can backup your media files e.g. Images, Sound, Video and Voice memo.
*#*#197328640#*#*
This code can be used to enter into Service mode. You can run various tests and change settings in the service mode.
WLAN, GPS and Bluetooth Test Codes:
*#*#232339#*#* OR *#*#526#*#* OR *#*#528#*#* – WLAN test (Use «Menu» button to start various tests)
*#*#232338#*#* – Shows WiFi MAC address
*#*#1472365#*#* – GPS test
*#*#1575#*#* – Another GPS test
*#*#232331#*#* – Bluetooth test
*#*#232337#*# – Shows Bluetooth device address
*#*#8255#*#*
This code can be used to launch GTalk Service Monitor.
Codes to get Firmware version information:
*#*#4986*2650468#*#* – PDA, Phone, H/W, RFCallDate
*#*#1234#*#* – PDA and Phone
*#*#1111#*#* – FTA SW Version
*#*#2222#*#* – FTA HW Version
*#*#44336#*#* – PDA, Phone, CSC, Build Time, Changelist number
Codes to launch various Factory Tests:
*#*#0283#*#* – Packet Loopback
*#*#0*#*#* – LCD test
*#*#0673#*#* OR *#*#0289#*#* – Melody test
*#*#0842#*#* – Device test (Vibration test and BackLight test)
*#*#2663#*#* – Touch screen version
*#*#2664#*#* – Touch screen test
*#*#0588#*#* – Proximity sensor test
*#*#3264#*#* – RAM version
NOTE: All above codes have been checked on Google Android phone Samsung Galaxy I7500 only but they should also work in other Google Android phones.
Other similar articles that may interest you:

Tunear tu android tipo Android 4: Ice Cream Sandwich

Hola amigos de la comunidad les traigo un Tema para Go Launcher Ex o ADW Launcher para tunear su android y tenga una apariencia similar a Android 4: Ice Cream Sandwich



Y tambien el widgetlocker lockscreen en su vercion mas reciente con el tema Ice Cream SandwichMas el Reloj Ice Cream Sandwich

Go launcher ex https://market.android.com/details?id=com.gau.go.launcherex
Ice Cream Sandwich (theme) https://market.android.com/details?id=kov.theme.ics&feature=search_result
Reloj Ice Cream Sandwich https://market.android.com/detailsid=com.icecreamsandwichclock.clock&feature=search_result
widgetlocker lockscreen http://www.mediafire.com/?g9pz3wma577wssr

PACK TODO EN UNO LOS SAQUE CON EL ROT EXPLORER DESDE MI CELU http://www.mediafire.com/?0492av73cg6mf43

Acceso Root en dos pasos

Muchachos: despues de mucho buscar, por fin lo consegui.
No hace falta descargar ninguna actualizacion, ni sufrir por el temor de dejar el telefono inutilizable en caso que nos mandemos alguna macana.
Necesitamos solo dos aplicaciones para rootear nuestro Milestone.
Primero el Universal Androot, pero en su version para android 2.1, que es la 1.5.3.
A diferencia de las otras versiones que se encuentran, esta si te deja el equipo como Root, y te instala los permisos de super usuario, cosa que las versiones anteriores no lo hacian en android 2.1.
les dejo el link

http://www.***/get.php?d=4ky5qtvh33b

veran que les deja seleccionar la version de andriod que van a rotear, las versiones anteriores no lo permitian.
dejenlo como se muestra en la imagen, y solo presionen el boton de Root.

y ahora bajen el Root Explorer en su version 2.8, que funciona a la perfeccion y muestra si las opciones para entrar en los archivos de sistema.
http://www.***/get.php?d=6gr1pw8hkgdpara volver a la normalidad, es decir, dejar de ser root, simplemente abran el universal androot desde el menu principal, y seleccionen UnRoot. esperan unos segundos, y listo. Reinicien el celu por las dudas para salir bien del root explorer.
a mi me funciono perfecto y pude desinstalar y vovler a instalar el motonav full, que se me habia vencido el original.
Ah: Para el genio que desarrollo el Androot, sea quien sea, mi mas sincera felicitacion, Realmente es un genio!
ahora no hace falta correr riesgos, ni perder la garantia!!!!!
Aclaracion: La fuente es de http://www.muchomoviles.com/ ahi consegui la aplicacion, y se las posteo.