PDA

Ver la Versión Completa : Cambiar iconos de la batería


Sorel7
11/10/11, 18:57:27
Llevo 5 días trasteando con el X8 y a lo mejor esto es muy básico, pero le he cambiado los iconos de la batería para que salga el porcentaje y la animación cuando está cargando y si alguien más quiere hacerlo, os explico como se hace

http://img41.imageshack.us/img41/9243/circular.png

http://img265.imageshack.us/img265/6348/circularcargando.png

http://imageshack.us/photo/my-images/41/circular.png/ http://imageshack.us/photo/my-images/265/circularcargando.png/

realkox
11/10/11, 20:52:17
Si lo puedes explicar a mi me interesa

Saludos

Sorel7
11/10/11, 22:32:13
Lo primero es ser root y no sé si es necesario tener instalado el BusyBox (con el X8 ToolBox (http://www.htcmania.com/showthread.php?t=273908) yo lo hice a la primera con unos pocos clicks)

Para cambiar lo iconos de la batería tenemos que editar el fichero framework-res.apk del teléfono, da trabajo (o al menos a mí me lo dio xq no sabía absolutamente nada). Si no os asusta el reto: continuamos!

Antes de nada IMPORTANTISIMO: Hacer un backup del sistema desde el recovery antes de empezar (yo no responsabilizo si os cargáis algo) Yo necesité la copia :oops:

Necesitamos tener instalado en el PC:

Java SE Development Kit (http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html)

Android SDK (http://developer.android.com/sdk/index.html) con ADB. Para instalarlo correctamente seguid, por ejemplo, este enlace (en inglés) (http://www.addictivetips.com/mobile/what-is-adb-and-how-to-install-it-android/)

Los drivers del teléfono -> instalad el PC Companion de Sony y él os los instalará cuando lo conectéis por USB

Necesitamos los iconos que vamos a poner sustituyendo los que ya tenemos. Aquí podéis encontrar los que he puesto yo y muchos más.
(http://www.htcmania.com/showthread.php?t=132624)
A partir de aquí he utilizado el Wiki de Alraan (http://www.htcmania.com/mediawiki/index.php/C%C3%B3mo_descompilar_y_compilar_APKs) para decompilar y compilar los XML. NO utilicéis el código que pone él (creo que solo sirve para la Desire), utilizad el stat_sys_battery que os dejo en los adjuntos para que el icono cambie cada 1%. (o modificad el que tenéis en el tlf.)

Para la animación de la batería cuando el tlf está cargando me he modificado mi XML. Os lo dejo en la parte de abajo del post por si queréis utilizar el mio o cambiarlo a vuestro gusto. Lo habría dejado aquí como texto, pero me salen smiles dentro del código :enfadadisimo:

Una vez hayáis compilado el nuevo framework-res.apk ha llegado la hora de meterlo en el tlf de nuevo, yo lo he hecho con el ES Explorer activando "Explorador root" y "Montar Sistema de archivos"

Metemos el nuevo framework-res.apk en el teléfono en la carpeta /system, con el ES Explorer pulsamos largo sobre él, vamos a propiedades y quitamos Write de Group y Other. Aceptamos y pulsamos largo sobre él de nuevo, le damos a Move to y lo movemos a la carpeta system/framework.

En este punto la primera vez que lo hice, se me colgó el teléfono y tuve que quitarle la batería y arrancar el recovery para restaurar el backup :cry:

Si todo va bien, probablemente el teléfono se reinicie automáticamente y ya os aparecerá el nuevo icono de la batería, de todas formas os recomiendo que lo reiniciéis en modo recovery y hagáis un wipe Dalvik Cache.

He escrito esto un poco a las prisas y a lo mejor no he explicado bien alguna cosa, si tenéis duda intentaré ayudaros en la medida de mis posibilidades.

Sl2.

EDITO: He cambiado el enlace a los iconos (el de ahora sí tiene los que he utilizado yo) y os he dejado los míos adjuntos.
EDITO: He quitado el código del XML para la animación al cargar (porque me salía con smiles) y lo he dejado como adjunto stat_sys_battery_charge.xml.
EDITO: Añadido mi stat_sys_battery.xml como adjunto y se advierte que no se utilice el código del Wiki de Arlaan.

ajmed45
12/10/11, 13:31:25
puf, buen tuto, pero es un pateazo.
yo uso el widget de tu bateria pero en grande.

realkox
12/10/11, 23:55:50
Necesito que me aclares algo, estado probando y no me funciona. Lo que no me queda claro es para que sirve Android SDK con ADB que es para extraer el archivo framework-res.apk? (http://developer.android.com/sdk/index.html)
Yo lo he sacado con root explorer y he hecho todo lo que pone Wiki de Alraan (http://www.htcmania.com/mediawiki/index.php/C%C3%B3mo_descompilar_y_compilar_APKs)he modificado 2 de los tres archivos que pone porque este no lo he encuentro zzz_stat_sys_battery_1 una vez modificados los Xml y puestos los iconos, lo compilo y lo firmo.
Cuando lo monto en el cell lo paso al System con los permisos quitados que comentas. Ni se reinicia ni nada, no me sale el icono, me da errores y yo lo reinicio y hago el wipe Dalvik Cache y cuando arranca se queda colgado.

He probado solo descompilando el archivo de origen y volviéndolo a compilar sin modificar nada y me pasa lo mismo, tiene que ser algo que hago mal puede ser que no saco el archivo bien del cell? Alguna idea?
Me dado cuenta de que el archivo que descompilo framework pesa 5.4 mb y cuando me lo compila pesa 2.6 mb tendría que ser similar o mayor. No?

Saludos

Sorel7
15/10/11, 18:53:38
Necesito que me aclares algo, estado probando y no me funciona. Lo que no me queda claro es para que sirve Android SDK con ADB que es para extraer el archivo framework-res.apk? (http://developer.android.com/sdk/index.html)
Yo lo he sacado con root explorer y he hecho todo lo que pone Wiki de Alraan (http://www.htcmania.com/mediawiki/index.php/C%C3%B3mo_descompilar_y_compilar_APKs)he modificado 2 de los tres archivos que pone porque este no lo he encuentro zzz_stat_sys_battery_1 una vez modificados los Xml y puestos los iconos, lo compilo y lo firmo.
Cuando lo monto en el cell lo paso al System con los permisos quitados que comentas. Ni se reinicia ni nada, no me sale el icono, me da errores y yo lo reinicio y hago el wipe Dalvik Cache y cuando arranca se queda colgado.

He probado solo descompilando el archivo de origen y volviéndolo a compilar sin modificar nada y me pasa lo mismo, tiene que ser algo que hago mal puede ser que no saco el archivo bien del cell? Alguna idea?
Me dado cuenta de que el archivo que descompilo framework pesa 5.4 mb y cuando me lo compila pesa 2.6 mb tendría que ser similar o mayor. No?

Saludos
El SDK con ADB lo necesitas para que funcione el APK Manager, si no los tienes instalados te da errores al ejecutarlo y no funciona.

Coge los ficheros XML originales del tlf y edítalos tú mismo, no copies los que he colgado yo, no sea que en tu rom cambie algo. Es sencillo: copia una linea del código original y modifica sólo el numero entrecomillado y el del fichero asolciado ("0" stat_sys_battery_0, "15" stat_sys_battery_15,...). Lo digo xq ya me he encontrado con estos dos formatos de línea en el mismo fichero:
<item android:drawable="@draw (http://www.htcmania.com/member.php?u=350682)able/stat_sys_battery_0" android:maxLevel="0" />

y

<item android:maxLevel="0" android:drawable="@android (http://www.htcmania.com/member.php?u=260725):drawable/stat_sys_battery_0" />Como ves, se parecen algo, hacen lo mismo, pero son completamente diferentes (uno es del x8 GingerDX y el otro de la Desire Leedroid).

Prueba y ya nos contarás.

Sorel7
15/10/11, 19:00:23
puf, buen tuto, pero es un pateazo.
yo uso el widget de tu bateria pero en grande.
Totalmente de acuerdo con lo de "pateazo":D
Me gustaría saber hacer un apk que lo cambiase él solo, montándolo desde el recovery o algo así, pero me he quedado sin tlf (el auricular funciona cuando quiere) y hasta que me lo arreglen o me den otro... :cry:

realkox
16/10/11, 00:10:22
He probado muchas cosas durante un día y no lo he conseguido lo he dejado estar por falta de tiempo.
Probé hacer lo de abriendo solo el archivo con winrar y cambiando solo los iconos y fallaba.
Todo esto lo hacia con root explorer y decidí hacerlo con el que tu usas es explorer
de esta manera aparece el icono y se reseteaba pero se quedaba clavado, hasta habia
hecho un wipe davidk cahe y hasta con el full wipe se colgaba .

Creo que el problema se a la rom porque si me falla solo poniendo un imagen de la batería por otra sin compilar haciendolo como te dicho antes abriendo el archivo con el
winrar sustituyendo una por otra y falla. No se.
Tengo montada la rom GingerDX 017 antes tenía la versión 015 y instale la 017 sin hacer full wipe para no perder la conflagración puede ser este el problema. Es recomendable hacer un borrado y instalar la nueva versión o está bien como lo he hecho ya que es la misma rom ?

Otra duda que me asalta es cuando instale el sdk solo instale el paquete de herramientas y los demás no puede ser la causa, o el programa debe estar abierto para usar apkmanager porque cuando lo uso lo tengo cerrado, luego adb me funciona he visto la versión del móvil he sacado el archivo framework digamos que funciona.
Pero lo que mas me extraña es el peso al volver compilar el archivo solo pesa 3mb mas o menos y de origen pesa 5.4 mb.
A otra cosa cuando compilo me pregunta si es archivo de sistema y le digo que si y
luego me pregunta si quiero sobres escribir los archivos que no tocado para que haya menos problemas le digo que si o que no ? he probado de las dos formas y me falla.

Tengo muchas dudas y no se mucho de esto perdona por el tocho

Sorel7
17/10/11, 01:00:07
A ver si puedo aclarte algo:
- Usar ES Explorer o Root Explorer no debería influir
- No creo que sea por la rom, yo tengo la misma que tú (GingerDX v.17)
- Cuando modifiqué los iconos se me colgó mínimo 3 veces: una cuando lo puse a cargar por primera vez, otra estando el teléfono en el lockscreen, el valor de la batería en esa pantalla era uno (digamos 75%) y al desbloquear el teléfono tenía otro valor (un poco mayor 77%) y otra vez la primera que cambió de valor mientras estaba usando el teléfono. Después de eso no volvió a fallar nunca.
- Prueba a hacer un wipe battery
- Del SDK sólo hace falta instalar el ADB, yo tengo instalados "Android SDK Tools, revision 13" y "Android SDK Platform-tools, revision 7"
- Que los archivos cambien de tamaño es normal, no te preocupes
- y lo último, cuando se compila con el script del APK Manager:
En el script seleccionamos la opción Compile apk y esperamos a que acabe
Nos perguntará "Is this a system apk (y/n)" elegimos "y"
No dará un texto que dice "Aside from the signature, would you like to copy over any aditional files that you didn't modify from the original apk in order to ensure least # of errors (y/n)" respondemos "y" y esperamos un momento, cunado termine NO PULSEIS NINGUNA TECLA.
Ahora vamos a la carpeta del apkmanager, ha aparecido una nueva carpeta llamada "keep", en ella borramos todos los ficheros que hemos modificado (los 2 xml y los iconos de la batería) y el fichero resources.arsc.
Vamos al script de nuevo y pulsamos una tecla.

En la carpeta place-apk-here-for-modding nos habrá aparecido un fichero llamado unsignedframework-res.apk, lo sacamos de ahí lo renombramos a framework-res.apk
Metemos el nuevo framework-res.apk en el teléfono en la carpeta /system, con el ES Explorer pulsamos largo sobre él, vamos a propiedades y quitamos Write de Group y Other. Aceptamos y pulsamos largo sobre él de nuevo, le damos a Move to y lo movemos a la carpeta system/framework.

Cuando me devuelvan el tlf. (le falla el auricular) procuraré rehacer el tutorial haciéndolo todo paso a paso.