Neptun0
07/06/11, 20:41:47
Si te ha pasado como a mi, que al cambiar la barra de notificacion a negro te has quedado sin el reloj digital (bueno, estar sigue estando, pero al ser tambien negro no se ve) y te gustaria recuperarlo, este es tu tutorial.
Antes de nada decir que toda la informacion ha sido recogida de internet en general y de XDA (http://forum.xda-developers.com) en particular, en su mayor parte de este (http://forum.xda-developers.com/showthread.php?t=936780) hilo.
El cambio ha sido realizado en la OTA 2.2.1 oficial de VF para nuestras HTC Magic, aunque supongo que valdra para cualquiera que use froyo.
Decir que es un proceso delicado, yo en el primer intento hice algo mal y el movil no pasaba del splash de vodafone asi que como siempre, antes de tocar nada hacer un nandroid backup
Por supuesto, huelga decir que no me hago responsable de un posible brick o lo que sea, cada uno bajo su propia responsabilidad.
Para llevar a cabo este tutorial necesitamos:
- Tener instalado el java JDK
- Tener instalado el android SDK, con ADB funcionando
- Por supuesto ser root y tambien tener el busybox instalado, si no lo eres con SuperOneClickv1.9.1 es facilisimo y tambien te instala el busybox
- D3xopt.zip en concreto el archivo en su interior, dexopt-wrapper
- smali/baksmali (http://code.google.com/p/smali/)
- Asegurate de que el modo depuracion USB esta activo
- Conocer tu BOOTCLASSPATH, para conocerlo con root explorer por ejemplo abre el archivo init.rc que se encuentra en la raiz.
¿Aun te quedan ganas?, pues vamos a ello...
Como siempre los comandos los ejecutaremos en cmd desde la carpeta platform-tools
Si estas usando la rom oficial de vodafone 2.2.1 tal vez puedas saltarte unos cuantos pasos bajo tu propia responsabilidad y usar directamente mi new.odex, te ahorrarias trabajo pero es bastante probable que no funcione.
Si quieres intentarlo bajalo de: http://www.megaupload.com/?d=SR3IYGOS descomprimelo en platform-tools y mandalo a la sdcard con adb push new.odex /sdcard/new.odex y salta directamente al paso 7
Paso .1 -copiar el dexopt-wrapper a /system/bin
descomprimimos el archivo dexopt-wrapper que hay dentro de D3xopt.zip en la carpeta platform-tools del SDK
>adb push dexopt-wrapper /sdcard/dexopt-wrapper
>adb shell
$ su
# mount -o remount,rw /dev/mtdblock4 /system
# cd /system/bin
# busybox cp /sdcard/dexopt-wrapper .
# busybox chmod 755 dexopt-wrapper
Paso .2 -descargar todo el directorio /system/framework a nuestro pc
>adb pull /system/framework
todos los archivos de /system/framework se descargaran en tu carpeta platform-tools
Paso .3 -baksmali/smali
guardalos en platform-tools, renombralos para quitarles el numero de version y dejarlos como baksmali.jar y smali.jar para hacerlo mas sencillo
Paso .4 -baksmali
en consola escribe:
>java -Xmx512m -jar baksmali.jar -x services.odex -o services.out
esto creara una carpeta llamada services.out, navega hasta \services.out\com\android\server\status\StatusBarI con.smali
abrelo con el block de notas, ve hasta .line 60
altera la siguiente linea poniendole el color que quieras, yo he elegido const v6, -0x1, que es el codigo de color para blanco, si quieres que sea blanco asegurate de que pone exactamente eso, tienes que quitarle lo de /high16, si lo dejas saldra rojo en vez de blanco
guarda el archivo
Paso .5 -smali
>java -Xmx512M -jar smali.jar services.out -o classes.dex
se habra creado un archivo classex.dex
Paso .6 -creando el new.odex
con winrar o 7zip, abre el archivo services.jar
arrastra el classes.dex dentro del jar y dale a añadir/guardar
>adb push services.jar /sdcard/services.jar
>adb shell
$ su
# cd /sdcard
# dexopt-wrapper services.jar new.odex
acordaos que teneis que conocer vuestro BOOTCLASSPATH, y por supuesto el comando se introduce sin corchetes, en mi caso es:
# dexopt-wrapper services.jar new.odex /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
si todo ha ido bien tendras tu new.odex creado
el siguiente comando es para que el new.odex copie los atributos de nuestro services.odex
# busybox dd if=/system/framework/services.odex of=new.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
[b]Paso .7 -copiar, renombrar, sincronizar y reiniciar
# cd /system/framework
# busybox cp /sdcard/new.odex services.odex
# busybox chmod 644 services.odex
# sync
# reboot
Si todo ha ido bien el telefono se reiniciara y tendras tu reloj en blanco!
Antes de nada decir que toda la informacion ha sido recogida de internet en general y de XDA (http://forum.xda-developers.com) en particular, en su mayor parte de este (http://forum.xda-developers.com/showthread.php?t=936780) hilo.
El cambio ha sido realizado en la OTA 2.2.1 oficial de VF para nuestras HTC Magic, aunque supongo que valdra para cualquiera que use froyo.
Decir que es un proceso delicado, yo en el primer intento hice algo mal y el movil no pasaba del splash de vodafone asi que como siempre, antes de tocar nada hacer un nandroid backup
Por supuesto, huelga decir que no me hago responsable de un posible brick o lo que sea, cada uno bajo su propia responsabilidad.
Para llevar a cabo este tutorial necesitamos:
- Tener instalado el java JDK
- Tener instalado el android SDK, con ADB funcionando
- Por supuesto ser root y tambien tener el busybox instalado, si no lo eres con SuperOneClickv1.9.1 es facilisimo y tambien te instala el busybox
- D3xopt.zip en concreto el archivo en su interior, dexopt-wrapper
- smali/baksmali (http://code.google.com/p/smali/)
- Asegurate de que el modo depuracion USB esta activo
- Conocer tu BOOTCLASSPATH, para conocerlo con root explorer por ejemplo abre el archivo init.rc que se encuentra en la raiz.
¿Aun te quedan ganas?, pues vamos a ello...
Como siempre los comandos los ejecutaremos en cmd desde la carpeta platform-tools
Si estas usando la rom oficial de vodafone 2.2.1 tal vez puedas saltarte unos cuantos pasos bajo tu propia responsabilidad y usar directamente mi new.odex, te ahorrarias trabajo pero es bastante probable que no funcione.
Si quieres intentarlo bajalo de: http://www.megaupload.com/?d=SR3IYGOS descomprimelo en platform-tools y mandalo a la sdcard con adb push new.odex /sdcard/new.odex y salta directamente al paso 7
Paso .1 -copiar el dexopt-wrapper a /system/bin
descomprimimos el archivo dexopt-wrapper que hay dentro de D3xopt.zip en la carpeta platform-tools del SDK
>adb push dexopt-wrapper /sdcard/dexopt-wrapper
>adb shell
$ su
# mount -o remount,rw /dev/mtdblock4 /system
# cd /system/bin
# busybox cp /sdcard/dexopt-wrapper .
# busybox chmod 755 dexopt-wrapper
Paso .2 -descargar todo el directorio /system/framework a nuestro pc
>adb pull /system/framework
todos los archivos de /system/framework se descargaran en tu carpeta platform-tools
Paso .3 -baksmali/smali
guardalos en platform-tools, renombralos para quitarles el numero de version y dejarlos como baksmali.jar y smali.jar para hacerlo mas sencillo
Paso .4 -baksmali
en consola escribe:
>java -Xmx512m -jar baksmali.jar -x services.odex -o services.out
esto creara una carpeta llamada services.out, navega hasta \services.out\com\android\server\status\StatusBarI con.smali
abrelo con el block de notas, ve hasta .line 60
altera la siguiente linea poniendole el color que quieras, yo he elegido const v6, -0x1, que es el codigo de color para blanco, si quieres que sea blanco asegurate de que pone exactamente eso, tienes que quitarle lo de /high16, si lo dejas saldra rojo en vez de blanco
guarda el archivo
Paso .5 -smali
>java -Xmx512M -jar smali.jar services.out -o classes.dex
se habra creado un archivo classex.dex
Paso .6 -creando el new.odex
con winrar o 7zip, abre el archivo services.jar
arrastra el classes.dex dentro del jar y dale a añadir/guardar
>adb push services.jar /sdcard/services.jar
>adb shell
$ su
# cd /sdcard
# dexopt-wrapper services.jar new.odex
acordaos que teneis que conocer vuestro BOOTCLASSPATH, y por supuesto el comando se introduce sin corchetes, en mi caso es:
# dexopt-wrapper services.jar new.odex /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
si todo ha ido bien tendras tu new.odex creado
el siguiente comando es para que el new.odex copie los atributos de nuestro services.odex
# busybox dd if=/system/framework/services.odex of=new.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
[b]Paso .7 -copiar, renombrar, sincronizar y reiniciar
# cd /system/framework
# busybox cp /sdcard/new.odex services.odex
# busybox chmod 644 services.odex
# sync
# reboot
Si todo ha ido bien el telefono se reiniciara y tendras tu reloj en blanco!