PDA

Ver la Versión Completa : Como crear Themes para android


crebaindamme
09/07/09, 07:49:35
Traducción realizada por DaWeIII :elmejor:


Pongo la traduccion, hecha por mi para hacer las cosas mas faciles. Tambien añado cosas para hacerlo mas facil. Espero que sea de agrado.

Como Crear o Editar Temas (Skins)
Escrito por Stericson y Traducido por DaWeIII :risitas:

Extraido de XDA developers y gracias a Stericson por esta magnifica explicacion. Probad estro bajo vuestra responsabilidad. HTC Mania y los autores de este tutorial no se hacen responsables de cualquier daño producido por causa de este proceso.

Para crear temas o editarlos necesitaras conocimientos basicos de android, adb, resignar apk y conocimiento sobre tu Sistema Operativo.

Necesario:

La ROM que queramos modificar
BootLoader (Esto me parece que no es necesario... ya que ya tenemos el bootloader - almenos en la magic - instalado). De todas formas, pongo el link: http://forum.xda-developers.com/showthread.php?t=455860
Maquina Virtual de Java actualizada y funcionando. Podeis descargarlo aqui: http://java.sun.com/javase/downloads/index.jsp
SDK De Android. Podeis descargarlo aqui: http://developer.android.com/sdk/1.5_r2/index.html
WinRar o similiar para descomprimir y comprimir los archivos necesarios.
Autosign (Necesario para firmar los APK y el update.zip final). Descarga: http://www.fightforthepits.com/Androidstuff/signing.zip

Tendremos que firmar todas las aplicaciones en /system/app y el framework-res.apk localizado en /system/framework

Signar Apk's Editados

La mejor y mas facil manera de hacerlo todo, es partiendo de un update.zip y editarlo.

Tendremos que signar al final nuestro propio update.zip y tendremos que practicar en el tema de signar los apk's que editemos.

Podemos evitarnos esto con un autosign que JesusFreke ha hecho. Esta permite hacer click derecho en el archivo apk y firmarlo :oh::oh: (Que sepais que a medida que voy traduciendo voy flipando :oh: y aprendiendo :risitas::risitas::risitas:)

Aquí tenéis ese archivo (http://www.fightforthepits.com/Androidstuff/signing.zip%5B/url%5D). En realidad es facil instalarlo. Dentro del ZIP hay un *.bat que nos permite marcarle los parametros para poder firmar con 2 clicks X-D.

Nos permite lo siguiente:

Ruta del SDK
Ruta de las Tools de Sign (SignApk)
Instalar los archivos de Registro
Signar Archivos Manualmente

Recomendaciones: Extraed el archivo signing.zip en el mismo lugar donde tengais el SDK (en la carpeta tools donde esta lo del adb, fastboot... etc).

http://i31.tinypic.com/2rh41z5.jpg
1) Le indicamos si utilizamos XP o Vista (en minusculas)
2) Pulsamos 1 y Enter. Nos dira si el DIrectorio actual es donde esta el SDK, le decimos que yes. Enter. Esperamos y escribimos no
3) Pulsamos 2 y Enter. Le volvemos a decir que yes. Pulsamos enter. Volvemos a decir no
4) Pulsamos 3 y Enter. Escribira los datoas en el registro. Le decimos yes. Al final otra vez yes.

Listo. Ahora si os fijais, cuando hagais click derecho en archivos ZIP y APK, arriba del todo os saldra una opcion llamada: RESIGN ZIP. X-DX-DX-D

http://i32.tinypic.com/5zkzrn.jpg
:-):-)

Ya no tendremos que copiar y pegar el macro comando de signado xD


Un :elmejor: a JesusFrek por su curro :risitas:

Se menciona que para que eso funcione, no debemos tener el SDK en una ruta que contenga espacios. Lo mejor es poner el SDK en la raiz del disco duro y ponerlo todo ahi.
Si alguien tiene dudas que pregunte, pero estas cosas se explican en el manual de Ridli para firmar update.zip.

Si os leeis ese manual, entendereis todo esto.

Seguimos...

A continuacion se explica como hacer lo del signing.zip de forma manual... esto no lo traduzco porque si el ZIP lo hace automatico, para que complicarse... lo pongo en Spoiler

Si a alguien no le funciona el automatico, que lo pida y lo traducire.


Want to set up the signing tool manually?

Here is the link for the signing tool: Http://www.FightForthePits.com/testsign(2).zip (Http://www.FightForthePits.com/testsign%282%29.zip)

Before using this you need to know how to set this up:

Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.

FOR XP:

Right click on My Computer click properties, then choose the tab that says advanced.
Click the button that says environmental variables.
Go to system variables find the one that says CLASSPATH
double click it
go to the end of variable value.
There should be a semicolon ; at the end, type in the path to the testsign.jar located in the tools directory of your SDK

for example the path to my testsign.jar was c:sdkandroid-sdk-windows-1.0_r1toolstestsign.jar

If CLASSPATH is not in your system variables then create it.
Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory.

For example, mine was c:sdkandroid-sdk-windows-1.0_r2tools

FOR VISTA:

Open a cmd prompt.

Replace THEEXACTPATHTO-TESTSIGN with the path to the dir that holds the file testsign.jar.


Type:
echo %CLASSPATH%

If it is returns %CLASSPATH%
Type the following:
set CLASSPATH=THEXACTPATHTO-TESTSIGNtestsign.jar


If it comes back with something else then
Type the following:
set CLASSPATH=%CLASSPATH%;.;THEXACTPATHTO-TESTSIGNtestsign.jar


For Example, when I type this it looks like:
set CLASSPATH=%CLASSPATH%;.;c:AndroidSDKtoolstests ign.jar

To set the PATH

Replace THEEXACTPATHTO-SDK with the path to the tools dir of your SDK.

Now type:

set PATH=%PATH%;.;THEXACTPATHTO-SDKtools


For example, when I type this out it looks like this:

path-%PATH%;.;c:AndroidSDKtools

Informacion:

Cada .apk contiene imagenes relativas a su uso. Tambien cada apk tiene la posibilidad de usar las imagenes del framework-res.apk. Las imagenes de cada apk estan dentro del mismo. Para poder extraerlas, tenemos que renombrar el apk a zip y entonces extraerlo como si de un archivo comprimido se tratara.

Una vez hecho esto, en el archivo descomprimido podremos ver varios directorios:

Drawable, drawable-land, drawable-port, etc. Aqui son donde se guardan las imagenes que utiliza el APK.

Hay algunas cosas que no podemos editar si no lo hacemos desde el source (cosa que ahora no vamos a hacer). Solo que sepais, que no podemos editar las imagenes con extension .9.png. Si lo hacemos podemos tener problemas... asi que mejor no tocar esos PNG si no sabemos lo que hacemos.

Hay imagenes especiales llamadas "ninepatch images" y android modifica el tamaño de esas imagenes para que se ajusten al sistema o a otras aplicaciones que las usen. Si las abrimos y las editamos no se podran ajustar correctamente. Lo mismo que antes... para que funcione hay que hacerlo desde el source. (+ Info, Como Compilar Android by Ridli (http://www.htcmania.com/showthread.php?t=50977))

Eso si partimos de un update.zip (que es lo que hacemos la mayoria).

NOTA:

Partiendo de vuestro propio update.zip creado por vosotros:
Teneis que resignar todas las las apk y el framework-res.apk y ponerlas todas al mismo tiempo. //

Para hacer las cosas mas faciles, hay un update.zip limpio donde podemos ahi poner los arhivos apk que modifiquemos y actualizarlo a modo de update.

Ya podemos empezar...

Editando APks...


Como hemos dicho antes, descomprimimos el APK renombrandolo a ZIP.

Para ver todos los archivos, en Windows tenemos que marcar en el menu Herramientas > Opciones de Carpeta > Ver > Mostrar todos los archivos ocultos y carpetas. Tambien desmarcamos la opcion de: Ocultar Extensiones para tipos de Archivo Conocido.
Asi veremos la extension de cada archivo.

Ahora podemos empezar a editar los PNG que veamos necesarios... esto ya va a gusto de cada uno.

Cuando acabemos, tendremos que comprimir el archivo de nuevo, renombarlo a APK y firmarlo con: Click Derecho > Resign APK. Y ya podemos copiarlo a la ROM.


Consejos


DEspues de descomprimir un APK, podemos copiar la carpeta RES en Mis DOcumentos > Imagenes. (O tambien podemos darle a Vistas > Vistas en Miniatura). Asi veremos que contienen los PNG sin tener que abrirlos.

Hecho...


Ahora ya podemos empaquetar el archivo en la ROM (update.zip) y firmarlo y probarlo como no.

Aqui os dejo el update.zip de plantilla:

http://www.fightforthepits.com/Androidstuff/update_empty.zip

Y eso es todo...

NOTA: He tenido que adivinar el link del update_empty ya que el tio puso el link y su foro lo acorto... no sabeis que batalla he tenido para adivinarlo:risitas::risitas::risitas:

Si hay preguntas, adelante... Aunque que quede claro que el autor no soy yo. SOlo lo he retocado y añadido cosas para que se haga mas facil de entender.

Saludos y a hacer themes ^^

fuente original: http://forum.android-dev.it/android-themes-t192.html

dbece
09/07/09, 13:45:35
Como ves una traduccion al español? xD

DaWeIII
09/07/09, 13:49:53
Pongo la traduccion, hecha por mi para hacer las cosas mas faciles. Tambien añado cosas para hacerlo mas facil. Espero que sea de agrado.

Como Crear o Editar Temas (Skins)
Escrito por Stericson y Traducido por DaWeIII :risitas:

Extraido de XDA developers y gracias a Stericson por esta magnifica explicacion. Probad estro bajo vuestra responsabilidad. HTC Mania y los autores de este tutorial no se hacen responsables de cualquier daño producido por causa de este proceso.

Para crear temas o editarlos necesitaras conocimientos basicos de android, adb, resignar apk y conocimiento sobre tu Sistema Operativo.

Necesario:


La ROM que queramos modificar
BootLoader (Esto me parece que no es necesario... ya que ya tenemos el bootloader - almenos en la magic - instalado). De todas formas, pongo el link: http://forum.xda-developers.com/showthread.php?t=455860
Maquina Virtual de Java actualizada y funcionando. Podeis descargarlo aqui: http://java.sun.com/javase/downloads/index.jsp
SDK De Android. Podeis descargarlo aqui: http://developer.android.com/sdk/1.5_r2/index.html
WinRar o similiar para descomprimir y comprimir los archivos necesarios.
Autosign (Necesario para firmar los APK y el update.zip final). Descarga: http://www.fightforthepits.com/Androidstuff/signing.zip

Tendremos que firmar todas las aplicaciones en /system/app y el framework-res.apk localizado en /system/framework



Signar Apk's Editados

La mejor y mas facil manera de hacerlo todo, es partiendo de un update.zip y editarlo.

Tendremos que signar al final nuestro propio update.zip y tendremos que practicar en el tema de signar los apk's que editemos.

Podemos evitarnos esto con un autosign que JesusFreke ha hecho. Esta permite hacer click derecho en el archivo apk y firmarlo :oh::oh: (Que sepais que a medida que voy traduciendo voy flipando :oh: y aprendiendo :risitas::risitas::risitas:)

Aqui teneis ese archivo (http://www.fightforthepits.com/Androidstuff/signing.zip). En realidad es facil instalarlo. Dentro del ZIP hay un *.bat que nos permite marcarle los parametros para poder firmar con 2 clicks X-D.

Nos permite lo siguiente:


Ruta del SDK
Ruta de las Tools de Sign (SignApk)
Instalar los archivos de Registro
Signar Archivos Manualmente


Recomendaciones: Extraed el archivo signing.zip en el mismo lugar donde tengais el SDK (en la carpeta tools donde esta lo del adb, fastboot... etc).



http://i31.tinypic.com/2rh41z5.jpg

1) Le indicamos si utilizamos XP o Vista (en minusculas)

2) Pulsamos 1 y Enter. Nos dira si el DIrectorio actual es donde esta el SDK, le decimos que yes. Enter. Esperamos y escribimos no

3) Pulsamos 2 y Enter. Le volvemos a decir que yes. Pulsamos enter. Volvemos a decir no

4) Pulsamos 3 y Enter. Escribira los datoas en el registro. Le decimos yes. Al final otra vez yes.



Listo. Ahora si os fijais, cuando hagais click derecho en archivos ZIP y APK, arriba del todo os saldra una opcion llamada: RESIGN ZIP. X-DX-DX-D

http://i32.tinypic.com/5zkzrn.jpg
:-):-)

Ya no tendremos que copiar y pegar el macro comando de signado xD


Un :elmejor: a JesusFrek por su curro :risitas:

Se menciona que para que eso funcione, no debemos tener el SDK en una ruta que contenga espacios. Lo mejor es poner el SDK en la raiz del disco duro y ponerlo todo ahi.
Si alguien tiene dudas que pregunte, pero estas cosas se explican en el manual de Ridli para firmar update.zip.

Si os leeis ese manual, entendereis todo esto.

Seguimos...

A continuacion se explica como hacer lo del signing.zip de forma manual... esto no lo traduzco porque si el ZIP lo hace automatico, para que complicarse... lo pongo en Spoiler

Si a alguien no le funciona el automatico, que lo pida y lo traducire.

Want to set up the signing tool manually?

Here is the link for the signing tool: Http://www.FightForthePits.com/testsign(2).zip

Before using this you need to know how to set this up:

Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.

FOR XP:

Right click on My Computer click properties, then choose the tab that says advanced.
Click the button that says environmental variables.
Go to system variables find the one that says CLASSPATH
double click it
go to the end of variable value.
There should be a semicolon ; at the end, type in the path to the testsign.jar located in the tools directory of your SDK

for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar

If CLASSPATH is not in your system variables then create it.
Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory.

For example, mine was c:\sdk\android-sdk-windows-1.0_r2\tools

FOR VISTA:

Open a cmd prompt.

Replace THEEXACTPATHTO-TESTSIGN with the path to the dir that holds the file testsign.jar.


Type:
echo %CLASSPATH%

If it is returns %CLASSPATH%
Type the following:
set CLASSPATH=THEXACTPATHTO-TESTSIGN\testsign.jar


If it comes back with something else then
Type the following:
set CLASSPATH=%CLASSPATH%;.;THEXACTPATHTO-TESTSIGN\testsign.jar


For Example, when I type this it looks like:
set CLASSPATH=%CLASSPATH%;.;c:\Android\SDK\tools\tests ign.jar

To set the PATH

Replace THEEXACTPATHTO-SDK with the path to the tools dir of your SDK.

Now type:

set PATH=%PATH%;.;THEXACTPATHTO-SDK\tools


For example, when I type this out it looks like this:

path-%PATH%;.;c:\Android\SDK\tools



General Info:

You will need to be specific in addressing what version your theme is for, RC8, RC30, or ADP1. Make sure every file gets signed. Make sure you test the update.zip before you release it.

Informacion:

Cada .apk contiene imagenes relativas a su uso. Tambien cada apk tiene la posibilidad de usar las imagenes del framework-res.apk. Las imagenes de cada apk estan dentro del mismo. Para poder extraerlas, tenemos que renombrar el apk a zip y entonces extraerlo como si de un archivo comprimido se tratara.

Una vez hecho esto, en el archivo descomprimido podremos ver varios directorios:

Drawable, drawable-land, drawable-port, etc. Aqui son donde se guardan las imagenes que utiliza el APK.

Hay algunas cosas que no podemos editar si no lo hacemos desde el source (cosa que ahora no vamos a hacer). Solo que sepais, que no podemos editar las imagenes con extension .9.png. Si lo hacemos podemos tener problemas... asi que mejor no tocar esos PNG si no sabemos lo que hacemos.

Hay imagenes especiales llamadas "ninepatch images" y android modifica el tamaño de esas imagenes para que se ajusten al sistema o a otras aplicaciones que las usen. Si las abrimos y las editamos no se podran ajustar correctamente. Lo mismo que antes... para que funcione hay que hacerlo desde el source. (+ Info, Como Compilar Android by Ridli (http://www.htcmania.com/showthread.php?t=50977))

Eso si partimos de un update.zip (que es lo que hacemos la mayoria).

NOTA:

Partiendo de vuestro propio update.zip creado por vosotros:
Teneis que resignar todas las las apk y el framework-res.apk y ponerlas todas al mismo tiempo. //

Para hacer las cosas mas faciles, hay un update.zip limpio donde podemos ahi poner los arhivos apk que modifiquemos y actualizarlo a modo de update.

Ya podemos empezar...

Editando APks...


Como hemos dicho antes, descomprimimos el APK renombrandolo a ZIP.

Para ver todos los archivos, en Windows tenemos que marcar en el menu Herramientas > Opciones de Carpeta > Ver > Mostrar todos los archivos ocultos y carpetas. Tambien desmarcamos la opcion de: Ocultar Extensiones para tipos de Archivo Conocido.
Asi veremos la extension de cada archivo.

Ahora podemos empezar a editar los PNG que veamos necesarios... esto ya va a gusto de cada uno.

Cuando acabemos, tendremos que comprimir el archivo de nuevo, renombarlo a APK y firmarlo con: Click Derecho > Resign APK. Y ya podemos copiarlo a la ROM.


Consejos


DEspues de descomprimir un APK, podemos copiar la carpeta RES en Mis DOcumentos > Imagenes. (O tambien podemos darle a Vistas > Vistas en Miniatura). Asi veremos que contienen los PNG sin tener que abrirlos.

Hecho...


Ahora ya podemos empaquetar el archivo en la ROM (update.zip) y firmarlo y probarlo como no.

Aqui os dejo el update.zip de plantilla:

http://www.fightforthepits.com/Androidstuff/update_empty.zip

Y eso es todo...

NOTA: He tenido que adivinar el link del update_empty ya que el tio puso el link y su foro lo acorto... no sabeis que batalla he tenido para adivinarlo:risitas::risitas::risitas:

Si hay preguntas, adelante... Aunque que quede claro que el autor no soy yo. SOlo lo he retocado y añadido cosas para que se haga mas facil de entender.

Saludos y a hacer themes ^^

crebaindamme
09/07/09, 13:51:02
Se podría hacer... en cuanto tenga algo de tiempo:silbando:

EDITO: Perfecto DaWeIII:elmejor:... me acabas de quitar una de trabajo;-)

DaWeIII
09/07/09, 13:53:34
Pon el traducido si quieres en el post principal.

Si quieres te paso el codigo por MP, asi la gente lo vera a la primera.

Saludos!

crebaindamme
09/07/09, 13:54:58
OK mandamelo

vierco
09/07/09, 16:10:17
Artistas ;)

noid32
12/07/09, 13:41:46
Estoy intentado hacer algo parecido a esto, vamos a ver si podeis aclararme un par de cosas. Partimos de un update.zip de una ROM X bien pues actualizamos a esa ROM, y ahora nos ponemos a trabajar con el update_empty.zip donde hay varias carpetas app,framework y meta inf. En app metemos las apps de la ROM que queremos modificar con los archivos ya modificados? En framework supongo que hemos de meter los archivos de la ROM que esta instalada? Bien ahora para aplicar ese tema se haria como en el G1 es decir, renombramos a update.zip y aplicamos desde el recovery y se supone que nos habra cambiado lo que hayamos modificado?

Un saludo

dbece
12/07/09, 14:57:54
Yo supongo igual que tu y seguramente es lo que hayan hecho con la ion y el tema hero, pero todo es probarlo. Por lo tanto imagino que tambien se podran portar los temas ya hechos en el G1 adaptando algun nombre y tal para la magic.

tito87
02/09/09, 23:10:06
Pero si tu coges el update.zip vacío y le metes las cosas que quieres no hay que volverlo a firmar???
O vale solo con firmar las apk que cambies y listo??

Yo tb me había planteado si sería posible firmar la .apk y después mediante adb sustituirlo en el móvil por la que tenemos...

crebaindamme
02/09/09, 23:26:18
Una cosa es firmar los apk y otra es firmar el update.zip, son temas diferentes... en cualquier caso siempre que se modifique un update.zip hay que firmarlo para que se pueda instalar.

tito87
02/09/09, 23:45:46
yo acabo de modificar un png del Mail y después he firmado la aplicacion como se explica aquí.
Después con el comando adb push la he metido en system/app
Y me ha desaparecido del movil.
Entro con el ASTRO y está en la carpeta system/app pero no me la reconoce como paquete para instalar.

JAMILU007
03/09/09, 20:56:07
Hola crebaindamme.
Gracias por esta información, estoy muy interesado en la modificación de las aplicaciones.
He descargado e instalado todo lo que aquí comentas pero esto no funciona:


Aquí tenéis ese archivo (http://http//www.fightforthepits.com/Androidstuff/signing.zip%5B/url%5D). En realidad es fácil instalarlo


Puedes arreglar este enlace o subirlo tu a este foro.

Gracias de antemano.
Un saludo.

crebaindamme
03/09/09, 23:37:26
Gracias por el aviso... el link está arreglado, pero desgraciadamente ya han quitado el archivo del servidor... Habrá que buscarlo por otro lado, lo más seguro es que en xda-developers esté. Desgraciadamente ahora mismo no puedo ayudarte a buscarlo, pero googleando un poco y visitando foros seguro que lo encuentras rapido... en cualquier caso si alguien lo puede conseguir sería fantastico.
Un saludo

JAMILU007
04/09/09, 08:39:50
Gracias, intentare encontrarlo pero si alguien puede pasármelo se lo agradecería mucho.
Saludos a todos.

dbece
04/09/09, 12:33:59
Autosign (Necesario para firmar los APK y el update.zip final). Descarga: http://www.fightforthepits.com/Androidstuff/signing.zip
Si en el post de arriba si que funciona.

tito87
04/09/09, 18:50:19
No hay manera, no se que me pasa que no me firma las aplicaciones. El update.zip sin problemas pero los apk no hay manera.

JAMILU007
04/09/09, 20:34:58
Perdonar pero no me he explicado bien.
Yo lo que no puedo conseguir es lo que muestra este ejemplo del tutorial:

<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>

Aquí tenéis ese archivo (http://http://www.fightforthepits.com/Androidstuff/signing.zip). En realidad es facil instalarlo. Dentro del ZIP hay un *.bat que nos permite marcarle los parametros para poder firmar con 2 clicks X-D.

Nos permite lo siguiente:


Ruta del SDK
Ruta de las Tools de Sign (SignApk)
Instalar los archivos de Registro
Signar Archivos Manualmente

Recomendaciones: Extraed el archivo signing.zip en el mismo lugar donde tengais el SDK (en la carpeta tools donde esta lo del adb, fastboot... etc).


http://i31.tinypic.com/2rh41z5.jpg
1) Le indicamos si utilizamos XP o Vista (en minusculas)
2) Pulsamos 1 y Enter. Nos dira si el DIrectorio actual es donde esta el SDK, le decimos que yes. Enter. Esperamos y escribimos no
3) Pulsamos 2 y Enter. Le volvemos a decir que yes. Pulsamos enter. Volvemos a decir no
4) Pulsamos 3 y Enter. Escribira los datoas en el registro. Le decimos yes. Al final otra vez yes.

Listo. Ahora si os fijais, cuando hagais click derecho en archivos ZIP y APK, arriba del todo os saldra una opcion llamada: RESIGN ZIP. X-DX-DX-D


http://i32.tinypic.com/5zkzrn.jpg
:-):-)

Ya no tendremos que copiar y pegar el macro comando de signado xD


Un :elmejor: a JesusFrek por su curro :risitas:

<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>

Creo que me falta un fichero porque no me sale la opcion RESIGN cuando le doy al botón derecho y el enlace esta roto o estoy haciendo algo mal.
Me podes aclara este punto..?

Gracias.