¿Cuáles son los pasos para crear un almacén de claves para Android?
Necesito usar Google Maps en mi aplicación y no sé qué pasos me perdí. Proporcione los pasos detallados específicos (no lo entendí de las guías).
¿Cuáles son los pasos para crear un almacén de claves para Android?
Necesito usar Google Maps en mi aplicación y no sé qué pasos me perdí. Proporcione los pasos detallados específicos (no lo entendí de las guías).
Respuestas:
Para responder la pregunta en el título, cree un almacén de claves con la utilidad Java Keytool que viene con cualquier distribución JDK estándar y se puede ubicar en %JAVA_HOME%\bin
. En Windows esto normalmente sería C:\Program Files\Java\jre7\bin
.
Entonces, en Windows, abra una ventana de comandos y cambie a ese directorio e ingrese un comando como este
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool le solicita que proporcione contraseñas para el almacén de claves, proporcione los campos de Nombre distinguido y luego la contraseña de su clave. Luego genera el almacén de claves como un archivo llamado my-release-key.keystore en el directorio en el que se encuentra. El almacén de claves y la clave están protegidos por las contraseñas que ingresó. El almacén de claves contiene una única clave, válida por 10000 días. El alias es un nombre que usted usará más adelante para referirse a este almacén de claves cuando firme su aplicación.
Para obtener más información sobre Keytool, consulte la documentación en: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
y para obtener más información sobre la firma de aplicaciones de Android, vaya a: http://developer.android.com/tools/publishing/app-signing.html
keytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000
. Luego, para generar el SHA-1 que debe poner en Firebase, haga:keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
Para firmar su aplicación en modo de lanzamiento en Android Studio, siga estos pasos:
1- En la barra de menú, haz clic en Crear> Generar APK firmado.
2-En la ventana Asistente para generar APK firmado, haga clic en Crear nuevo para crear un nuevo almacén de claves. Si ya tiene un almacén de claves, vaya al paso 4.
3- En la ventana Nuevo almacén de claves, proporcione la información requerida como se muestra en la figura Su clave debe ser válida por al menos 25 años, para que pueda firmar actualizaciones de la aplicación con la misma clave durante toda la vida útil de su aplicación.
4- En la ventana Asistente para generar APK firmado, seleccione un almacén de claves, una clave privada e ingrese las contraseñas para ambos. Luego haga clic en Siguiente.
5- En la siguiente ventana, seleccione un destino para el APK firmado y haga clic en Finalizar.
http://developer.android.com/tools/publishing/app-signing.html
Estaba loco buscando cómo generar un .keystore usando en el shell un comando de una sola línea , para poder ejecutarlo desde otra aplicación. Esta es la forma:
echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
dname es un identificador único para la aplicación en el .keystore
alias Identificador de la aplicación como una entidad única dentro del .keystore (puede tener muchos)
.ks
)Funcionó realmente bien para mí, no pide nada más en la consola, solo crea el archivo. Para obtener más información, consulte keytool: herramienta de administración de claves y certificados .
/path/file.keystore
y señalarlo con el parámetro storepass.
jks
es la extensión oficial del almacén de claves para java en general, pero keystore
es la recomendada para las aplicaciones de Android .
Crear archivo de almacén de claves desde la línea de comandos:
Abrir línea de comando:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved
// (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
Intro> Le pedirá la contraseña> ingrese la contraseña (será invisible)
Enter keystore password:
Re-enter new password:
Ingrese> Le pedirá sus detalles.
What is your first and last name?
[Unknown]: {AB} // [Your Name / Name of Signer]
What is the name of your organizational unit?
[Unknown]: {Self} // [Your Unit Name]
What is the name of your organization?
[Unknown]: {Self} // [Your Organization Name]
What is the name of your City or Locality?
[Unknown]: {INDORE} // [Your City Name]
What is the name of your State or Province?
[Unknown]: {MP} //[Your State]
What is the two-letter country code for this unit?
[Unknown]: 91
Enter> Enter Y
Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
[no]: Y
Ingresar> Ingresar contraseña nuevamente.
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
Enter key password for <index> (RETURN if same as keystore password):
Re-enter new password:
[Almacenamiento de C: /index.keystore]
Exporte su paquete de Android a .apk con su archivo de almacén de claves creado
Haga clic derecho en el paquete que desea exportar y seleccione exportar
Seleccione Exportar aplicación de Android> Siguiente
próximo
Seleccione Usar el almacén de claves existente> Buscar archivo .keystore> ingrese la contraseña> Siguiente
Crear almacén [.keystore/.jks]
de claves en estudio ...
Haga clic en Compilar (ALT + B) > Generar APK firmado ...
Haga clic en Crear nuevo .. (ALT + C)
Examinar la ruta del almacén de claves (MAYÚS + ENTRAR)> Seleccionar ruta> Introducir nombre> Aceptar
Rellene los detalles sobre su .jks/keystore
archivo
próximo
Tu archivo
Ingrese la contraseña maestra de Studio (puede RESTABLECER si no lo sabe) > Aceptar
Seleccione * Carpeta de destino *> Tipo de compilación
release : for publish on app store
debug : for debugging your application
Haga clic en Finalizar
Hecho !!!
Este tutorial:
http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html
fue muy útil para mí la primera vez que tuve que crear un almacén de claves. Es simple, pero las instrucciones en developer.android.com son demasiado breves.
La parte de la que no estaba seguro era dónde guardar y qué nombre asignarle al archivo de almacén de claves .
Parece que no importa dónde lo coloques, solo asegúrate de mantenerlo seguro y de realizar una serie de copias de seguridad. Solo lo puse en mi directorio de aplicaciones
Nombra el archivo "something.keystore" donde algo puede ser lo que quieras. Solía app_name.keystore , donde nombre_apl era el nombre de mi aplicación.
La siguiente parte fue cómo nombrar el alias. Una vez más, no parece importar, así que nuevamente utilicé el nombre_aplicación nuevamente. Mantenga las contraseñas igual que las que usó antes. Rellene el resto de los campos y ya está.
Seguí esta guía para crear el almacén de claves de depuración.
El comando es:
keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
Lo primero que debe saber es si está en modo de depuración o versión. Desde el sitio del desarrollador "Hay dos modos de compilación: modo de depuración y modo de lanzamiento. Usas el modo de depuración cuando estás desarrollando y probando tu aplicación. Usas el modo de lanzamiento cuando quieres construir una versión de lanzamiento de tu aplicación que puedes distribuir directamente a los usuarios o publicar en un mercado de aplicaciones como Google Play ".
Si está en modo de depuración, haga lo siguiente ...
A. Abra la terminal y escriba:
keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v
Nota: Para Eclipse, el almacén de claves de depuración generalmente se encuentra en ~ / .android / debug.keystore ...
B. cuando se le solicite una contraseña, simplemente ingrese "android" ...
C. Si está en modo Release, siga las instrucciones en ...
http://developer.android.com/tools/publishing/app-signing.html <- este enlace explica prácticamente todo lo que necesita saber.
Puede crear su almacén de claves exportando un APK firmado. Cuando intente exportar / compilar un APK firmado, le pedirá un almacén de claves.
Puede elegir su almacén de claves existente o puede crear fácilmente uno nuevo haciendo clic en crear nuevo almacén de claves
Aquí un enlace muy útil y bien explicado sobre cómo crear su almacén de claves y generar un APK firmado
Este enlace explica cómo hacerlo con Android Studio, pero si mal no recuerdo, es bastante similar en Eclipse
CUIDADO
Una vez que genere su almacén de claves, guárdelo en un lugar seguro porque lo necesitará para regenerar un nuevo APK firmado.
Me gustaría sugerir forma automática solo con gradle
** Definir también al menos un parámetro adicional para el almacén de claves en el último comando, por ejemplo, país '-dname', 'c=RU'
**
apply plugin: 'com.android.application'
// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'
android {
...
signingConfigs {
release {
storeFile file("keystore/release.jks")
storePassword sPassword
keyAlias kAlias
keyPassword kPassword
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
shrinkResources true
minifyEnabled true
useProguard true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
...
task generateKeystore() {
exec {
workingDir projectDir
commandLine 'mkdir', '-p', 'keystore'
}
exec {
workingDir projectDir
commandLine 'rm', '-f', 'keystore/release.jks'
}
exec {
workingDir projectDir
commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
'-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
'-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
}
}
project.afterEvaluate {
preBuild.dependsOn generateKeystore
}
Esto generará un almacén de claves en la sincronización y compilación del proyecto
> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
Si no quiere o no puede usar Android Studio, puede usar la herramienta NPM create-android-keystore:
$ create-android-keystore quick
Lo que da como resultado un almacén de claves recién generado en el directorio actual.
Más información: https://www.npmjs.com/package/create-android-keystore