PDA

Ver la Versión Completa : Modificar archivos .apk y firmarlos para poder instalarlos


motes
27/07/10, 08:00:50
Bueno pues eso ayer estuve fisgoneando archivos .apk para modificar los iconos k traen los programas por defecto sin tener k instalar otros programas en el mobil para hacerlo, pero no me dejava instalarlos una vez modificados, ya ke se tienen ke firmar otra vez. Pues bien encontre una manera muy sencilla de hacerlo con java. Despues por la tarde cuando tenga un momento hare un mini tutorial para ver como firmar con java aplicaciones o updates, para quien le interese.
Nos vemos!!

pablormago
27/07/10, 15:33:18
estaria muuuuuuuuuuy interesante

c.martinez.lozano
27/07/10, 16:10:49
Si estaría genial, xq estoy traduciendo el Apanda y hay algunos apk's que hay que modificar a mano, eso es un paso que me ayudaría:P
Por ahora llevo el Browser Calendario Calculadora y Gestor de cuentas traducido:P, pero poco más puedo hacer

motes
27/07/10, 16:42:05
Pues bien el archivo .apk que he estado modificando es el del widget APNonoff ya que los dos iconos de las flechitas en verde y rojo no me gustavan y queria cambiarlos. Lo que hize fue abrir el archivo APNoo.apk con el programa WinRar (ay que poner abrir con y buscar el winrar). Una vez abierto entre en la carpeta "res" y dentro de esta en la carpeta "drawable" (por lo que he estado viendo los iconos de las aplicaciones siempre estan en la carpeta drawable). Dentro de la carpeta cambie los archivos on.png y off.png por los iconos que me gustavan a 70x70 pixeles. y al guardarlo probe a instalarlo pero no me dejava. Buscando por internet descubri que los archivos modificados deven volver a firmarse para que funcionen y encontre una web donde te explicavan como hacerlo. Es muy sencillo:

Primero entrad en esta web http://androidapps.es/2010/01/23/firmar-archivos-android/#more-4231 y descargaros el archivo Windows-firmaAndroid.zip (http://androidapps.es/wp-content/uploads/2010/01/Windows-firmaAndroid.zip) y descomprimimos lo que hay dentro de la carpeta Android-Firma-Windows en una carpeta que tengais localizada. Despues teneis que descargaros el Java Devolpers Kit (JDK) para poder usar el comando java para firmar, lo podeis descargari aqui. (http://java.sun.com/javase/downloads/index.jsp) Una vez instalado devemos introducir en el path de windows las funciones del JDK, en windows 7 tenemos que ir a "Panel de control/Sistema y seguridad/Sistema" en el panel izquierdo clicamos en configuracion avanzada, y buscamos el boton "variables de entorno..." y entramos en el cuadro de "variables del sistema" buscamos la variable "path" la seleccionamos y le damos al boton "editar". En el cuadro de valor de la variable nos desplazamos hasta el final del texto y ponemos un ";" y esta direccion si tenemos win7 64bit "C:\Program Files (x86)\Java\jdk1.6.0_21\bin" o esta si tenemos win7 32bit "C:\Program Files\Java\jdk1.6.0_21\bin" (IMPORTANTE las comillas NO se deven poner).Una vez echo esto ya no deveremos hacerlo nunca mas, es el engorro de la primera vez despues firmar archivos es muy sencillo.

Bueno ahora ya tenemos lo mas dificil echo. Ahora ponemos el archivo modificado .apk dentro de la carpeta donde hemos descomprimido el archivo windows-firmaAndroid, y ya solo nos queda un paso, pulsamos las teclas Win(la de la banderita de windows)+R y escrivimos CMD i le damos al enter. En la ventana que nos saldra escrivmos cd y luego arrastramos la carpeta donde hemos descomprimido los archivos windows-firmaAndroid dentro la ventana negra, y nos tiene que quedar escrito cd y la ruta de la carpeta, le damos a enter y ya estamos dentro de la carpeta. Aqui solo tenemos que escrivir: java -jar signapk.jar testkey.x509.pem testkey.pk8 [archivo_sin_firmar] [archivo_firmado], donde [archivo_sin_firmar] seria el archivo que quieras firmar (en mi caso APNoo.apk) y [archivo_firmado] es el nombre del nuevo archivo que se creara ya firmado (en mi caso le puse WidgetAPNonoff.apk). En mi caso me quedo asi: " java -jar signapk.jar testkey.x509.pem testkey.pk8 APNoo.apk WidgetAPNonoff.apk" le dais al enter y os aparecera un nuevo archivo con el nombre que hayais elegido, y ya està listo para instalar!!!!!

Segun el creador del post este metodo tambien sirve para firmar archivos de update.zip o Actualizacion.zip por si alguien lo necesita.

Recordad que el archivo que queremos firmar tiene que estar dentro de la carpeta donde estan los archivos "signapk.jar", "testkey.x509.pem" y "testkey.pk8"
Aseguraros de que desinstaleis antes del mobil el programa que queremos instalar modificado si no tampoco os lo dejara instalar

No soy muy buen redactor (siempre he sido de ciencias yo jejeje) si hay algo que no se entiende bien decidmelo!!

Todo el merito de este metodo de firmar es del creador del post de la web AndroidApps.es en el link que os puse mas arriva, donde podreis encontrar mas informacion y los archivos necesarios para firmar desde Mac OSX o Linux.
Si teneis algun problema intentare ayudaros pero no soy un gran experto solo voy siguiendo tutoriales con un poco de maña e intento compartir lo que voy aprendiendo....
Venga gente Nos Vemos!!!!!!

pablormago
27/07/10, 17:00:22
Chinchetazo al canto! este metodo ya lo conocia, hay otra forma mas rapida que es con el autosign, aunq juraria que c.n.lozano m habia dicho que esas keys no funcionaban. En fin, sabiendo que si rulan, podemos currarnos las Rom como update.zip y flashear desde el recovery... que buena noticiA

c.martinez.lozano
27/07/10, 17:09:48
los certificados no valen, pero se pueden coger de cualquier apk de la rom ;)

motes
27/07/10, 17:12:14
a mi para firmar algo tan sencillo como el APNoo.apk modificado me ha funcionado a la perfección para firmar todo un update no se si sera lo mismo... en fin esperemos que si! jejej

pablormago
27/07/10, 17:16:00
Aquí os dejo el autosign http://www.DroidBin.com/Androidstuff/signing.zip

c.n.lozano postea los certificados please o dime como sacarlos please

c.martinez.lozano
27/07/10, 17:34:29
adb pull /system/app/Calendar.apk
Abres en tu pc el apk y hay una carpeta META-INF con las firmas, pero claro no vale pare el autosing, yo por ahora lo que hago es modificar directamente el apk con muxo cuidadito :P

pablormago
27/07/10, 17:53:18
Aqui os dejo la plantilla con los certificados http://www.megaupload.com/?d=3MW7P0ZH y aqui el tutorial del autosign http://www.tuandroid.com/crear-themes-para-android/

motes
27/07/10, 19:29:12
buff el autosign este parece mucho mas sencillo de usar que el metodo de firmar con el JDK voi a probarlo Gracias!!!!!

c.martinez.lozano
27/07/10, 22:18:46
Podríais firmar el GoogleSubscribedFeedsProvider.apk?
Es lo que hace falta para sincronizar cuentas, y yo no consigo firmarlo correctamente.

pablormago
27/07/10, 22:28:52
postealo y lo hacemos.

alexir
27/07/10, 22:33:20
con el autosign acabas mucho antes xD
y por cierto , jrsoft tiene una aplicacion llamada data onoff ke es el apndroid pero con el widget cambiado al estuilo eclair xD

c.martinez.lozano
27/07/10, 22:50:53
postealo y lo hacemos.

Es un apk firmado que me gustaría cambiar, no se si es posible hacerlo.
En realidad solo cambiar la firma para que la pille la 2.1 de apanda :P

pablormago
27/07/10, 23:00:24
sobre las 12 t lo firmo, ok?

c.martinez.lozano
27/07/10, 23:04:00
sobre las 12 t lo firmo, ok?

Okis yo estaŕe por aquí que sigo cambiando cosillas:risitas:

Lo de español que dije antes aunq no consigo traducir más y luego he quitado el launcher metiendo el de adw por defecto que está en español y alguna cosa más.

Poco a poco va cogiendo forma:risitas:

pablormago
27/07/10, 23:08:20
m tienes k ayudar con lo del recovery, k no lo consigo...

c.martinez.lozano
27/07/10, 23:18:39
m tienes k ayudar con lo del recovery, k no lo consigo...

El tema es que el recovery de la 2.1 al reempaquetarlo por lo menos a mi me falla aún sin cambiar nada.

pablormago
28/07/10, 00:32:12
Aquí la tienes firmada....

c.martinez.lozano
28/07/10, 01:41:56
Aquí la tienes firmada....

No vale la firma:cry:, pero bueno ya he visto que puedes sincronizar los contactos de otra forma así que colgaré una nueva ROM que no dé FC's de sincronización:risitas:

pablormago
28/07/10, 13:51:53
No vale la firma:cry:, pero bueno ya he visto que puedes sincronizar los contactos de otra forma así que colgaré una nueva ROM que no dé FC's de sincronización:risitas:

No te rompas mas la olla , aquí tienes las Google Apps listas para flashear como update.zip . Las he flasheado con el recovery original y rulan: http://www.megaupload.com/?d=7E3MW850

c.martinez.lozano
28/07/10, 15:25:57
No te rompas mas la olla , aquí tienes las Google Apps listas para flashear como update.zip . Las he flasheado con el recovery original y rulan: http://www.megaupload.com/?d=7E3MW850

Pero si las Gapps ya las tengo metidas.
Además no lo flashea desde el recovery. da error de firma...

pablormago
28/07/10, 16:35:39
Pos será con el recovery 2.1 porque con el 1.6 se lo traga enterito....

c.martinez.lozano
28/07/10, 16:41:02
Claro, yo uso la 2.1
Además para que ese zip si con la 1.6 ya vienen instaladas?

pablormago
28/07/10, 18:41:53
Eran para tu Rom nueva, pero m extraña mazo lo de las firmas. Con esas firmas se firma todo, hero,nexus, etc...

c.martinez.lozano
28/07/10, 19:59:49
Eran para tu Rom nueva, pero m extraña mazo lo de las firmas. Con esas firmas se firma todo, hero,nexus, etc...

ya.. pero el RSA y SF de apanda son especiales :P

Si un apk no utiliza un "usuario compartido" del sistema, las firmas genéricas valen, en caso de usarlo no valen, ya que la ROM está hecha con una firma propia de apanda.
Es decir, no usan los certifcados normales, sino que crean un certificado propio y firman con el...
Hay que tener mala leche:risitas:

motes
28/07/10, 20:07:45
CML y el proyecto que tenias al principio de crear el update de 2.2 froyo como ha terminado??? no ha avanzado mas??

c.martinez.lozano
28/07/10, 20:19:53
CML y el proyecto que tenias al principio de crear el update de 2.2 froyo como ha terminado??? no ha avanzado mas??

Lo veo complicado, así que me he ceñido a hacer osas posible, para que sean más completas las ROM y vayan un poco mejor.