android - studio - key store path
Android: después de crear la fuente de la plataforma, ¿cómo firmar APK arbitrario con la clave de la plataforma? (2)
Si tiene su par de clave / certificado de plataforma (.pk8 + x509.pem). Que se puede encontrar en build / target / product / security en el sdk pulbic.
Puedes usar el SignApk.jar desde la línea de comando
java -jar SignApk.jar platform.x509.pem platform.pk8 Application.apk Application_signed.apk
O para hacer que la automatización sea más fácil, puede importar el par clave / certificado en su archivo de almacén de claves java, con keytool-importkeypair , y usar un archivo de keytool-importkeypair o eclipse para firmar.
keytool-importkeypair -k ~ / .android / debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
Como experimento, me gustaría usar la clave de plataforma de mi plataforma Android personalizada para firmar un APK arbitrario, que se crea a través del NDK. ¿Cuál es el proceso para hacer esto?
El archivo signapk.jar (todo en minúsculas) mencionado en aprock ''respuesta se puede encontrar en prebuilts/sdk/tools/lib/signapk.jar
(o out/host/linux-x86/framework/signapk.jar
).
A continuación, describiré cómo administrar el almacén de claves utilizado por Eclipse y la ant release
.
El siguiente comando toma el archivo de claves platform.pk8 y X509 certificate platform.x509.pem y genera el material de clave descifrado en tmp.p12 . El nombre platformkey se usa para
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 | / openssl pkcs12 -export -in platform.x509.pem -inkey /dev/stdin / -name platformkey -password pass: -out tmp.p12
Eclipse y ant debug
utilizan el almacén de claves en ~ / .android / debug.keystore que está bloqueado con la contraseña de android
. (También puede especificar otro archivo de almacén de claves si lo desea, por ejemplo, ~/.android/mykeys.keystore
). El siguiente comando almacena el material de clave de tmp.p12 en el almacén de claves (sin una contraseña para las claves, si lo desea) uno, edita -srcstorepass ''''
continuación):
keytool -importkeystore -deststorepass android -srckeystore tmp.p12 / -srcstoretype PKCS12 -srcstorepass '''' -destkeystore ~/.android/debug.keystore
En este punto, puede eliminar el archivo tmp.p12 porque ya no es necesario.
Para verificar lo que está en su almacén de claves, puede ejecutar el siguiente comando keytool
(la salida que se muestra en la línea posterior):
$ keytool -list -keystore ~/.android/debug.keystore -storepass android ... platformkey, Nov 23, 2013, PrivateKeyEntry, Certificate fingerprint (SHA1): 12:34:56:(stripped):AB:CD:EF
Cuando ya no necesite la clave, puede eliminarse con:
keytool -delete -keystore ~/.android/debug.keystore -storepass android -alias platformkey
En su archivo local.properties
, coloque (si omite la key.*.password
Opciones de key.*.password
, debe ingresarla cada vez que firme el APK):
key.store=${user.home}/.android/debug.keystore
key.alias=platformkey
key.store.password=android
key.alias.password=
Ahora puede ejecutar la ant release
para firmar su APK utilizando la clave de plataforma que almacenó en un almacén de claves.