¿Ya has hecho algo o estás buscando recomendaciones para comenzar?
atk
2
Esos son los siguientes pasos que hice: 1-instalar eclipse 2- instalar jdk 3- instalar sdk 4- instalar el complemento de Android. no logré ejecutar el comando en win cmd, el comando: $ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 (que genera una clave privada). gracias
user482762
@ user482762: ¿le funcionó la respuesta de CommonsWare? ¿Por qué no lograste ejecutar el cmd win?
atk
La respuesta de CommonsWare no funciona para mí. Cuando intento ejecutar los comandos en el cmd, recibo un mensaje de error: "$ no se reconoce como un comando interno o externo, un programa operable o un archivo por lotes". gracias por su ayuda
user482762
Ah! No desea escribir realmente el $. En Windows, cuando usa la línea de comando (la aplicación cmd), el indicador de entrada generalmente se ve como DRIVE: / DIRECTORY>, como "c: \". En Unix, el mensaje a menudo se ve como "$" o simplemente ">". El "$" en el comando está destinado a representar la solicitud de entrada, no es parte del comando. Intente ejecutar keytool con todos los argumentos, sin el $.
atk
Respuestas:
545
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 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.
Buen saludo para definir -keysize 2048 en lugar del predeterminado 1024 personalmente, ahora estoy usando 4096
scottyab
99
para obtener información, en mi caso, necesito abrir la ventana de comandos con derechos de administrador
Intuitisoft
Esto me da: E / TokenRequestor: tiene configuraciones relacionadas con OAuth2 incorrectas, por favor verifique. Error detallado: UNREGISSTEM_ON_API_CONSOLE Ya he creado una credencial al ingresar mi SHA1 en la consola API.
He usado este comando que establece las 2 contraseñas para que se salta algunas de las indicaciones: 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
Albert Vila Calvo el
158
Firmando su aplicación en Android Studio
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.
Si bien esta respuesta es correcta, solo es conveniente si ya tiene instalado Android Studio.
Seph Reed
98
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
cn el nombre completo de la persona u organización que genera el .keystore
La unidad organizativa que crea el proyecto, es una subdivisión de la organización que lo crea. Ex. android.google.com
o Organización propietaria de todo el proyecto. Es un alcance mayor que ou . Ej .: google.com
c El código corto del país. Ej: Para Estados Unidos es "EE. UU."
alias Identificador de la aplicación como una entidad única dentro del .keystore (puede tener muchos)
keypass contraseña para la protección específica que alias.
keytore Ruta donde se creará el archivo .keystore (la extensión estándar es en realidad .ks)
storepass Contraseña para proteger todo el contenido de .keystore .
validez En unos días la aplicación será válida con este .keystore
@eliasbagley eso se debe a que el comando -storepass como se escribió anteriormente comenzó en otra línea. Escribe todo en una sola línea y estará bien.
tormuto
82
Crear archivo de almacén de claves desde la línea de comandos:
Abrir línea de comando:
MicrosoftWindows[Version6.1.7601]Copyright(c)2009MicrosoftCorporation.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.
Whatis your first andlast name?[Unknown]:{AB}// [Your Name / Name of Signer] Whatis the name of your organizational unit?[Unknown]:{Self}// [Your Unit Name] Whatis the name of your organization?[Unknown]:{Self}// [Your Organization Name] Whatis the name of your CityorLocality?[Unknown]:{INDORE}// [Your City Name] Whatis the name of your StateorProvince?[Unknown]:{MP}//[Your State] Whatis the two-letter country code forthis 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.
Generating2,048 bit RSA key pair andself-signed certificate (SHA256withRSA)with a validity of10,000 daysfor: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91Enter key password for<index>(RETURN if same as keystore password):Re-enter new password:
[Almacenamiento de C: /index.keystore]
¡Y estás HECHO!
Exportar en Eclipse:
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
Seleccione Alias> ingrese contraseña> Siguiente
Buscar APK Destino> Finalizar
En Android Studio:
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/keystorearchivo
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
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á.
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:
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íaC:\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 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
fuente
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
Firmando su aplicación en Android Studio
Para firmar su aplicación en modo de lanzamiento en Android Studio, siga estos pasos:
referencia
http://developer.android.com/tools/publishing/app-signing.html
fuente
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:
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 .
fuente
/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, perokeystore
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:
Intro> Le pedirá la contraseña> ingrese la contraseña (será invisible)
Ingrese> Le pedirá sus detalles.
Enter> Enter Y
Ingresar> Ingresar contraseña nuevamente.
Exportar en Eclipse:
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
Seleccione Alias> ingrese contraseña> Siguiente
Buscar APK Destino> Finalizar
En Android Studio:
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
archivopró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
Haga clic en Finalizar
Hecho !!!
fuente
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á.
fuente
Seguí esta guía para crear el almacén de claves de depuración.
El comando es:
fuente
Use este comando para crear debug.keystore
fuente
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:
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.
fuente
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.
¿Cómo exporto un proyecto en el estudio de Android?
fuente
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'
**Esto generará un almacén de claves en la sincronización y compilación del proyecto
fuente
Si no quiere o no puede usar Android Studio, puede usar la herramienta NPM create-android-keystore:
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
fuente