Ver Mensaje Individual
  #6  
Viejo 29/09/09, 14:21:23
Array

[xs_avatar]
netizen netizen no está en línea
Miembro del foro
 
Fecha de registro: jul 2009
Localización: Ourense
Mensajes: 261

Post

 Cita: Originalmente Escrito por Yorx Ver Mensaje
Vaya... he llegado aqui buscando como firmar las modificaciones de png's en aplicaciones y rom's y me encuentro con que es mas jodido de lo que pensaba...

Hay alguna manera de poder previsualizar las modificaciones en el pc antes de firmar de nuevo los apk's? Tipo un developer's kit o algo que te permita montar los programas para previsualizarlos antes de meterlos en la magic?

Me mola lo rapido que es esto.. ayer rooteé la magic, le puse la cyanogen 4.0.4 y hoy estoy ya desmontando apk's para modificar los png's a mi antojo..
En aplicaciones es mucho más sencillo, veamos si me acuerdo.
0) Tienes que tener instalado el jdk (java).
1) Descomprimes el apk, que no es más que un jar, que no es más que un zip...
2) Borras el directorio META-INF, que basicamente es la firma
3) Generas una llave para firmar, si no la tienes ya. Esto solo lo necesitas hacer una vez, luego puedes reutilizarla (Los siguientes comandos son de mi sistema linux, pero no difieren demasiado en un Windows):
Código:
$ keytool -genkey -alias netizen -keyalg RSA -validity 20000
Enter keystore password:
What is your first and last name?
  [Unknown]:  No One
What is the name of your organizational unit?
  [Unknown]:  none
What is the name of your organization?
  [Unknown]:  not
What is the name of your City or Locality?
  [Unknown]:  Nowhere
What is the name of your State or Province?
  [Unknown]:  Noland
What is the two-letter country code for this unit?
  [Unknown]:  NO
Is CN=No One, OU=none, O=not, L=Nowhere, ST=Noland, C=NO correct?
  [no]:  y

Enter key password for <netizen>
        (RETURN if same as keystore password):
$
4) Haces las modificaciones que quieres al apk en si (como moddificar los recursos res/drawable para adaptarlo a un tema o cambiar un icono)
5) Reempaquetas el programa
6) Lo firmas asi:
Código:
$ jarsigner -verbose -signedjar programa.apk programa.zip netizen
Enter Passphrase for keystore:
adding: META-INF/MANIFEST.MF
adding: META-INF/NETIZEN.SF
adding: META-INF/NETIZEN.RSA
signing: blah blah
signing: ...
$
7) Lista para instalar:
Código:
$ adb install programa.apk
8) A probar (y a veces a repetir)

Espero que te sirva de ayuda.

NOTAS:
netizen es el alias para mi firma, debes ponerle el que quieras, y recordarlo.
Puedes usar un keystore (almacén de llaves), pero si no lo especificas, usa el del sistema y no tendras que recordar otro dato.
Lo he adaptado para mi uso personal de aqui: http://www.anddev.org/signing_your_a...ner-t3069.html
__________________
HTC Sensation
Linuxer since 0.99pl13 edit
Responder Con Cita
Los siguientes 2 usuarios han agradecido a netizen su comentario: