2010-06-05 6 views
5

Soy nuevo en el desarrollo de Android. Estoy usando una herramienta de desarrollo de plataforma x que construye y firma el APK por mí. Esta herramienta tiene un error y no genera APK con el código de versión que especifico, todos los APK generados son la versión 1.0.¿Cómo puedo actualizar la versión de una APK que no creé yo mismo?

Me gustaría desempaquetar el APK, editar el código de la versión, y luego renunciar y reempaquetarlo. Fue firmado usando mi keystore originalmente, así que tengo las claves necesarias para volver a firmarlo.

¿Cómo se puede hacer esto?

Respuesta

3

Debe ser posible; anteriormente cambié el nombre de un paquete de APK existente sin acceso a la fuente.

Sin embargo, es probable que necesite (y no tengo ninguna de las guías más específicas a mano):

  • un editor hexadecimal
  • una guía para el formato de archivo APK
  • una forma de el cálculo de la suma de comprobación APK

Necesitas descomprimir el archivo APK, altera el (embalado binario) AndroidManifest.xml, altera la suma de comprobación en el resources.arsc (creo) y luego re-zip el APK.

En realidad, al buscar algunos de estos recursos, me encontré con apktool, que suena prometedor.

+0

Todavía tengo que probarlo, pero creo que tu respuesta es exactamente lo que estaba buscando. – sylvanaar

0

No creo que pueda cambiar la APK una vez que esté empaquetada y firmada, ya que el canto está ahí, por lo que no podrá volver a cambiarlo después de la firma.

¿Qué IDE estás usando? P.ej. Eclipse también puede firmar y crear archivos APK y nunca he visto un problema con el número de versión.

+0

No estoy usando un IDE – sylvanaar

+0

en absoluto? Nunca pensé que esto fuera posible –

+0

Es posible. –

0

No, si está firmado.

Solo el propietario de la clave puede cambiar el contenido de .apk.

+0

Eso no es verdad. La firma del APK está separada de la firma del código (suma de comprobación). Puede volver a firmar un APK de terceros con su propia clave, si lo desea. –

+0

Es mi clave que se utilizó para firmarlo. Un tercero hizo la firma por mí. – sylvanaar

Cuestiones relacionadas