[*]Esto, como la mayoría de lo que está en este foro, debe ser usado a su propio riesgo. Recomienod entonces hacer un nandroid backup de su teléfono antes de intentar lo que se describe debajo.
[*]Recuerden que cada miles es un mundo y si lo están modificando es porque quieren.
[*]Tengan a mano una copia de los archivos originales.
[*]Es muy importante que se siga el orden en el que se publican las instrucciones, de modo contrario puede que no funcione.
[*]Esta es una recopilación de cosas que pude encontrar en blogs y páginas, no soy programador, lo que está posteado funciona, pero no me pregunten detalles de código porque seguramente no sepa responder. Lo que si sepa lo responderé con gusto
Indice.
0. Herramientas0a. Herramientas del Framework-res.apk
0b. Herramientas del Services.jar
1. Edición del Framework-res.apk
1a. Decompilar and recompilar.
1b. Cambiar los colores de texto en el framework-res
1c. Cambiar los colores de la barra de progreso.
1d. Cambiar el estilo de los menúes al estilo Negro/Oscuro.
1e. Editar la info de la bateria.
1f. Signar el Framework-res.apk
1g. Cambiar las imágenes Framework-res.apk
2. Editar el Services.jar
2a. Cambiar el color del reloj de la barra de estado.
0a. Herramientas del Framework-res.apk
Aclaración: Todo fue hecho en Windows XP x86. Puede que no todo funcione en otro sistema operativo.[url=http://"http://www.editpadlite.com/index.html#download"]Usé el Editpad lite para modificar los HTMLs.[/url]
[url=http://"http://code.google.com/p/android-apktool/issues/detail?id=66"]Usé el APKtool para decompilar y recompilar los .apk. Busquen el link al fondo para descargar el APKtool 1.3.1 Windows (versiones posteriores pueden no funcionar)[/url]
Usé el WinRAR para editar .zip y meter las imágenes en el .apk!
0b. Herramientas del services.jar
Android SDK
El archivo de edición de color que les linkeo abajo
1a. Decompilar y Recompilar el Framework-res.apk
Antes que nada copian el Framework-res.apk de /system/frameworkBajan el APKTool, lo extraen (recomiendo a una carpeta en el C:) y corren el install.bat. Pegan en la misma carpeta framework-res.apk y corren el APKTool_Decompile.bat, esto decompila todos los .apk's en la carpeta. Una vez decompilado van apoder editar los .xml usando el Editpad Lite (o el editor que deseen).
Para recompilar sólo corren el APKTool_build.bat. Se abre una ventana y arrantran la carpeta del framework-res y apretan . Si compila solo con errores tipo "no default translation" es que compiló bien. El .apk compilado va a aparecer en la carpeta /framework-res/dist/ .
Importante! El programa no compila adecuadamente frameworks con imágenes modificadas, por lo que editen el código, según las indicaciones debajo, compilen y luego cambien las imágenes en el .apk compilado.
1b. Cambiar los colores de texto en el framework-res
Luego de decompilar vamos a editar los siguientes .xml./framework-res/res/layout/status_bar.xml
/framework-res/res/layout/status_bar_expanded.xml
/framework-res/res/layout/status_bar_latest_event_content.xml
Los colores están en formato hexadecimal. Siendo #ff el comienzo (la transparencia) y los siguientes 6 caracteres el color en RGB. Ej: #ff000000 es el negro y #ffffffff el blanco.
/framework-res/res/layout/status_bar.xml
Van a encontrar 2 cógidos que corresponden a lo que llaman el ticker, que son las notificaciones en sí.
/framework-res/res/layout/status_bar_expanded.xml
Este cambia la vista expandida, es decir, el nombre de la empresa (Personal, Movistar etc) y lo que aparece debajo.
/framework-res/res/layout/status_bar_latest_event_content.xml
Acá hay 3 códigos hexadecimales que son el del color del título, la descripción y la hora de la notificación, en ese orden. Es lo que aparece cuando abrimos la barra y vemos un texto, un download o lo que sea.
Una vez que hicieron los cambios, y si no van a modificar más .xml pueden compilar y seguir con los pasos debajo. Sino deben continuar editando y recién cuanod hayan finalizado la edición de xmls compilar.
1c. Cambiar los colores de la barra de progreso
Para cambiar el color de las barras de progreso de las descargas, el volumen, el progreso de carga de una página web, etc. deben ir a /res/drawable/ y abrir el progress_horizontal.xml usando el editor que deseen. Hay un total de 9 códigos hex. Los de la primera linea son del fondo y los otros 6, en 2 líneas, son los de la barra propiemante dicha. Pueden cambiarlos a lo que quieran, usar los 6 iguales o jugar con el gradiente variando los colores.1d. Cambiar el estilo de los menúes al estilo Negro/Oscuro
Esto nos permite cambiar el estilo de los menúes del Root explorer, Mapas, etc. que por default vienen definidos para un fondo claro.
Puse tanto el texto completo como el completo modificado de modo que puedan hacer copy-paste sin problemas
Deben ir a /framework-res/res/values/ y abrir el styles.xml en el editor de texto.
Para editar el texto de los botones deben reemplazar el siguiente código
Código: Seleccionar todo
<style name="TextAppearance.Widget.IconMenu.Item" parent="@style/TextAppearance.Small">
<item name="textColor">?textColorPrimaryInverse</item>
</style>
Código: Seleccionar todo
<style name="TextAppearance.Widget.IconMenu.Item" parent="@style/TextAppearance.Small">
<item name="textColor">@color/bright_foreground_dark</item>
</style>
Código: Seleccionar todo
<style name="Theme.IconMenu" parent="@style/Theme">
<item name="windowAnimationStyle">@style/Animation.OptionsPanel</item>
<item name="background">@null</item>
<item name="itemTextAppearance">@style/TextAppearance.Widget.IconMenu.Item</item>
<item name="horizontalDivider">@drawable/divider_horizontal_bright</item>
<item name="verticalDivider">@drawable/divider_vertical_bright</item>
<item name="itemBackground">@drawable/menu_selector</item>
<item name="itemIconDisabledAlpha">?disabledAlpha</item>
<item name="moreIcon">@drawable/ic_menu_more</item>
</style>
Código: Seleccionar todo
<style name="Theme.IconMenu" parent="@style/Theme">
<item name="windowAnimationStyle">@style/Animation.OptionsPanel</item>
<item name="background">@null</item>
<item name="itemTextAppearance">@style/TextAppearance.Widget.IconMenu.Item</item>
<item name="horizontalDivider">@drawable/divider_horizontal_dark_opaque</item>
<item name="verticalDivider">@drawable/divider_vertical_dark</item>
<item name="itemBackground">@drawable/menu_selector</item>
<item name="itemIconDisabledAlpha">?disabledAlpha</item>
<item name="moreIcon">@drawable/ic_menu_more</item>
</style>
Código: Seleccionar todo
<style name="Theme.ExpandedMenu" parent="@style/Theme">
<item name="listViewStyle">@style/Widget.ListView.Menu</item>
<item name="windowAnimationStyle">@style/Animation.OptionsPanel</item>
<item name="background">@null</item>
<item name="itemTextAppearance">?textAppearanceLargeInverse</item>
</style>
Código: Seleccionar todo
<style name="Theme.ExpandedMenu" parent="@style/Theme">
<item name="listViewStyle">@style/Widget.ListView</item>
<item name="windowAnimationStyle">@style/Animation.OptionsPanel</item>
<item name="background">@null</item>
<item name="itemTextAppearance">?textAppearanceLarge</item>
<item name="itemBackground">@drawable/menu_selector</item>
</style>
Código: Seleccionar todo
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/highlight_pressed" />
<item android:state_enabled="false" android:state_selected="true" android:drawable="@drawable/highlight_disabled" />
<item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/highlight_selected" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/highlight_disabled" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/highlight_selected" />
</selector>
Código: Seleccionar todo
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/highlight_pressed" />
<item android:state_enabled="false" android:state_selected="true" android:drawable="@drawable/highlight_disabled" />
<item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/highlight_selected" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/highlight_disabled" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/highlight_selected" />
<item android:drawable="@drawable/screen_background_dark" />
</selector>
1e. Editar la info de la bateria
Para esto vamos a reemplazar 3 .xml y agregar un cuarto que los pueden bajar de aquíLas ubicaciones de los archivos son,
/framework-res/res/drawable/stat_sys_battery.xml
/framework-res/res/drawable/stat_sys_battery_charge.xml
/framework-res/res/drawable/zzz_stat_sys_battery_1.xml (el nuevo!)
/framework-res/res/values/public.xml
Una vez reemplazados los .xml deben añadir las imágenes al /res/drawable/drawable-hdpi-v4 porque sino no va a bootear, ya que el .xml va a entrar en un loop buscándolas. Deberían quedarles 101 del estado de la batería y 103 de lo que es la fase de carga, carga llena y desconocida. Unas 204 en total que empizan por "stat_sys_battery...". Si se reemplazan adecuadamente el framework-res.apk no tira errores. El modo de reemplazar los archivos se explica más abajo.
1f. Signar el Framework-res.apk
Esto es quizás lo más delicado. Es posible que sin signar los archivos y reemplazando como se explica debajo funcione. Si quieren son libres de probar, sólo toma tiempo, yo ya me quemé 
Ahora deben compilar según el paso 1a. Una vez compilado vamos a signar ese archivo utilizando los siguientes archivos
Deben tener instalado el java para poder usarlo.
Una vez bajados los archivos los extraen a una carpeta, por ej: c:\SignApk
Mueven el Archivo recompilado a esa dirección (o lo copian)
Abren el CMD, van a la carpeta donde extrajeron todo y ahí tipean:
Código: Seleccionar todo
java -jar signapk.jar certificate.pem key.pk8 framework-res.apk framework-res-signado.apk
Ahora al estar el .apk signado el Android lo reconoce como válido. Pero va a generar FCs, sobre todo de las apps de google, si no se signa como el resto de los .apk de google.
Entonces, una vez hecho todo esto abren con el WinRAR este archivo y el original y reemplazan en este nuevo archivo la carpeta "META-INF" y el archivo "AndroidManifest.xml". Esto hace que el archivo este signado por los amigos de google.
1g. Cambiar las imágenes del Framework-res.apk
Si sólo quieren cambiar algunas imágenes se pueden ahorrar todo lo anterior, sabiendo que los colores de las fuentes no van a variar. Simplemente abran el .apk usando el WinRAR y reemplacen respetando los nombres originales. Pueden abrir el apk de cualquier ROM o theme para este caso, no importa si es lo mismo que usan uds, lo importante es el nombre la imágen.
Importante! Cuando agreguen las imágenes al WinRAR fíjense que figure "update mode = add and replace files" y "compression method = normal".
Ahora sí tienen un nuevo framework-res.apk signado, modeado a su gusto y listo para usarse.
Restaría ahora modificar el services.jar que edita, entre otras cosas, el color del reloj de la barra de notificaciones
2a. Cambiar el color del reloj de la barra de estado
Antes que nada deben tener el Android SDK instalado (lo bajan gratis y no lo tienen ni que abrir)1 - Vayan [url=http://"http://forum.xda-developers.com/showthread.php?t=535630"]acá[/url] y bajen el colorchangev3.jar-remove-zip.zip
2 - Borren la última parte de modo que quede solo colorchangev3.jar y pónganlo en la carpeta "tools" del android sdk. Ejemplo: C:\Android\android-sdk-windows\tools
3 - Hagan una carpeta llamada "framework" y muevan el services.jar a esa carpeta
4 - Creen un zip de la carpeta que van a llamar theme.zip
Quedaría así el theme.zip: /framework/services.jar
5 - Abran el CMD, vayan a la ruta de la carpeta y tipeen lo siguiente:
Código: Seleccionar todo
java -Xmx512M -jar colorChangev3.jar theme.zip clock=FFFFFFFF date=FFFFFFFF
Opciones:
Código: Seleccionar todo
clock - ARGB color for the clock text
date - ARGB color for the date
ongoing - ARGB color for "Ongoing" Label
latest - ARGB color for "Notifications" Label
none - ARGB color for "No Notifications" Label
clear - ARGB color for text on Clear Notifications button
network - ARGB color for network name (T-Mobile usually)
roam - Not sure where this color shows up, possibly network name when roaming
Puede que tarde en compilar. Si tira un error que no encuentra el archivo hicieron mal alguno de los pasos anteriores.
Para finalizar sólo deben reemplazar los archivos en la carpeta /system/framework
Para ello los copian primero a /system y cambian los permisos a rw-r--r-- y una vez hecho esto reemplazan los originales por los nuevos en /system/framework.
Rebootean (ojo, tarda) y tienen su nuevo theme.
Si entra en un loop y no bootea, o hicieron algun paso mal o puede que, como cada miles es un mundo aparte no funcione con el suyo. Hacen nandroid restore y vuelven a lo que tenían o vuelven a revisar los pasos y prueban nuevamente.
Espero que les sirva y como siempre se agradecen los agradecimientos, valga la redundacia.
[CREDITOS] al user algunahay de GrupoAndroid