2012-06-06 16 views
17

Actualmente estoy obteniendo el apk firmado con el archivo de keystore privado pero quiero firmar ese apk con un archivo de keystore diferente. ¿Cómo puedo renunciar a ese apk ..?Resigno apk con diferentes keystore

+1

sin amigo, no lo creo – Trikaldarshi

+0

por favor explique ..1- es que desea firmar el mismo apk o nuevo apk firmado del mismo proyecto ...... –

+0

Quiero renunciar al mismo apk – Rookie

Respuesta

24

Puede renunciar a su apk con diferentes claves.

siga estos pasos:

de firma para la liberación: $1.apk -> $1_release.apk"

Paso 1: la eliminación de cualquier firma anterior

  • Cambiar la extensión de su .apk-.zip.
  • abierto y elimine la carpeta META-INF
  • cambiar la extensión a .apk
    O
    Comando: zip [originalapk]
    Ejemplo: zip "$1".apk -d

Paso 2: Firma con la liberación.almacén de claves:

de comandos:

jarsigner –verbose –keystore [keystorefile] –signedjar [unalignedapk] [originalapk] alias_name 

Ejemplo:

C:\Program Files\Java\jdk1.6.0_43\bin> jarsigner -verbose -keystore release.keystore -signedjar "$1"_unaligned.apk "$1".apk release 

Paso 3: Alineación de

de comandos: zipalign -f 4 [unalignedapk] [releaseapk]

Ejemplo:

C:\Users\Downloads\adt-bundle-windows-x86\adt-bundle-windows-x86\sdk\too ls>zipalign -f 4 "$1"_unaligned.apk "$1"_release.apk 

Paso 4: de limpieza hasta

de comandos: rm 4 [unalignedapk]
Ejemplo: rm "$1"_unaligned.apk


Comandos adicionales podrían ayudar:

  1. Para generar nueva clave con herramienta de claves
keytool -genkey -alias -keystore
  1. lista Para llaves
keytool -list -keystore

Nota:

Para firmar nuestros apks, hemos bajado de categoría JDK de 1.7 a 1.6.0_43 actualización.

Motivo:

A partir del JDK 7, el algorithim firmas predeterminado ha cambiado, lo que requiere que especifique la firma y digerir algorithims (-sigalg y -digestalg) cuando se registra un APK.

Comando:

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile] [originalapk] alias_name 
7

También puede utilizar el script apk-résigner de código abierto, lo que es muy fácil de usar.

APK-résigner: https://github.com/onbiron/apk-resigner

./signapk.sh calculator.apk ~/.android/debug.keystore android androiddebugkey 

También si desea firmar el archivo APK con su clave de depuración, es posible utilizar.

./signapk.sh calculator.apk 
6
  1. quitar la vieja señal de

    xxxx postal -d.APK (el archivo apk) META-INF/*

  2. signo apk

    jarsigner -verbose -keystore xxxx.keystore (el almacén de claves) -signedjar out_sign.apk (archivo_salida) unsign.apk (unsign apk) xxxxxalias (su alias)

  3. si apk señal no funciona y JDK> = 1,7

    añadir params -digestalg SHA1 -sigalg MD5withRSA
    jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore xxxx.keystore (el almacén de claves) -signedjar out_sign.apk (archivo_salida) unsign.apk (unsign apk) xxxxxalias (su alias)

Cuestiones relacionadas