¿Cómo obtener el certificado de huella digital SHA-1 en Android Studio para el modo de depuración?

Me cambié de Eclipse a Android Studio . Ahora estoy tratando de trabajar en mi aplicación Map. Entonces necesito mi número de certificado de huella digital SHA-1.

Cuando estaba usando Eclipse estaba justo en Windows -> Preferencias -> Android -> Build . Pero en Android Studio no pude encontrar ninguna opción como esta para poder encontrar fácilmente la huella digital. Estoy usando Windows. He leído de este enlace que:

Android Studio firma su aplicación en modo de depuración automáticamente cuando ejecuta o depura su proyecto desde el IDE.

Así que traté de ejecutar esto en línea de comandos después de configurar mi ruta de contenedor de Java desde este enlace y desafortunadamente no pude encontrar mi huella digital. Está diciendo que es una opción ilegal .

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

¿Hay alguna manera de encontrar la huella digital SHA-1 de Android Studio como si fuera muy fácil en Eclipse? Como soy novato en Android Studio, ¿cuál es el proceso completo para encontrarlo?

Otra cosa que quiero agregar es que tengo mi Eclipse genera la huella digital SHA-1 y anteriormente tengo mi aplicación registrada en esa huella digital en la consola del desarrollador de Google, y trabajé en esa aplicación en Eclipse con esa clave API. ¿Se puede trabajar con la misma clave de API en este mi proyecto en Android Studio?

La forma más fácil:

Actualización agregada para Android Studio V 2.2 en el último paso

Hay dos maneras de hacer esto.

1. Forma más rápida :

  1. Abra Android Studio
  2. Abra su proyecto
  3. Haga clic en Gradle (desde el panel lateral derecho, verá Gradle Bar )
  4. Haga clic en Actualizar (haga clic en Refrescar desde la barra de Gradle , verá las secuencias de comandos de List Gradle de su proyecto)
  5. Haga clic en su proyecto (su lista de nombre de proyecto (raíz))
  6. Haga clic en Tareas
  7. Haga clic en Android
  8. Haga doble clic en signingReport (obtendrá SHA1 y MD5 en la barra de ejecución (a veces estará en la consola de Gradle))
  9. Seleccione el módulo de aplicación del menú desplegable de selección de módulo para ejecutar o depurar su aplicación

Verifique la captura de pantalla a continuación:

enter image description here

2. Trabajar con la actividad de Google Maps :

  1. Abra Android Studio
  2. Abra su proyecto
  3. Haz clic en el menú Archivo -> Seleccionar nuevo -> Hacer clic en Google -> Seleccionar actividad de Google Maps
  4. Aparecerá un cuadro de diálogo -> haga clic en Finalizar
  5. Android Studio generaría automáticamente un archivo XML con el nombre google_maps_api.xml
  6. Obtendrá la clave de depuración SHA1 aquí (en la línea número 10 del archivo XML)

Ver captura de pantalla a continuación:

Ingrese la descripción de la imagen aquí

Actualización de Android Studio V 2.2

Hay un problema con la ejecución .

Solución:

  • Haga clic en Cambiar ejecución de tareas / modo de texto desde la barra Ejecutar

Ver captura de pantalla a continuación:

enter image description here

Hecho.

Mi problema es el mismo que también cambié mi proyecto de Google Maps de Eclipse a Android Studio . He resuelto mi problema siguiendo esto:

Vaya a su directorio de bin de Java a través del comando:

 C:\Program Files\Java\jdk1.7.0_71\bin> 

Ahora escriba el siguiente comando en su ventana de comandos (CMD.EXE):

 keytool -list -v -keystore c:\users\your_user_name\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android 

Ejemplo:

 keytool -list -v -keystore c:\users\James\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android 

O simplemente puede escribir esto en cmd si no conoce el nombre de usuario:

 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

Y obtendrás el SHA1.

Luego creé una nueva clave en https://code.google.com/apis/console porque mi nombre de paquete cambió y luego uso esta clave en mi aplicación. Funciona bien.

Asegúrate de estar en la carpeta BIN de jdkX.X.X_XX (mi nombre de carpeta es jdk1.7.0_71) , o si no sabes qué nombre de carpeta tienes, encuéntrala abriendo la carpeta Java y verás cuál es el nombre de la carpeta, pero debe estar en su carpeta BIN y luego ejecutar este comando. Hoy tengo mi valor de SHA1 en una ventana de comando cmd por el procedimiento anterior.

INSTANTÁNEA:

Ingrese la descripción de la imagen aquí

Acabo de encontrar el caso para obtener SHA-1 en Android Studio:

  1. Haga clic en su paquete y seleccione Nuevo -> Google -> Actividad de Google Maps
  2. Android Studio te redirecciona a google_maps_api.xml

Y verá todo lo que necesita para obtener google_maps_key .

Imagen

Para Mac, esto funcionó perfectamente:

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

La mejor solución para generar una clave SHA-1 para Android es Android Studio .

Haga clic en Gradle en el extremo derecho:

Haga clic en el ícono de actualización y verá el nombre de la aplicación:

Haga clic en Tareas -> Informe -> Informe de firma :

Encuentre la clave SHA-1 en la parte inferior de la consola:

[Actualizado en 2017]

Paso 1: En la parte superior derecha de Android Studio, haga clic en la opción Gradle.

Android Studio Haga clic en la opción Gradle

Paso 2:

– Haga clic en Actualizar (haga clic en Actualizar de Gradle Bar, verá las secuencias de comandos de List Gradle de su Proyecto)

– Haga clic en su proyecto (su lista de nombre de proyecto (raíz))

– Haz clic en Tareas

– Haz clic en Android

– Haz doble clic en signingReport (Obtendrás SHA1 y MD5 en la consola de Gradle / Barra de ejecución)

enter image description here

Paso 3: Haga clic en la opción Gradle Console presente en la parte inferior de Android Studio para ver su clave SHA1.

enter image description here

Paso 4: Ahora tienes la clave SHA pero no puedes ejecutar tu proyecto. Por eso cambia tu configuración al modo aplicación. Ver la imagen a continuación.

enter image description here

Me gusta esto.

enter image description here

Paso 5: ¡Feliz encoding!

Voy con la respuesta de @Hiren Patel, pero un poco cambio en Android Studio 2.2

enter image description here

Para Linux

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

Utilicé directamente el siguiente comando de mi Mac usando la terminal. Tengo SHA1 Finger. Este es el comando:

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

Para obtener SHA1 para un almacén de claves de producción:

  1. Generar -> Generar APK firmado …

  2. Crea un almacén de claves con contraseña y sigue los pasos

  3. Vaya a su Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin y arrastre la carpeta bin a la terminal después del comando cd para señalarla y poder usar la herramienta keytool. Por lo tanto, en el terminal escriba el cd (arrastre el cubo aquí) y luego presione enter.

  4. Luego, copia y pega esto en la terminal:

     keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v 

    Borre mi ruta e ir a donde almacenó su almacén de claves y arrastre su piedra angular y suéltela después de -keystore en la línea de comando para que se cree la ruta.

    Además, borre Your_keystore_AliaseName para poner su nombre de keystone de alias que utilizó cuando lo creó.

  5. Presione Entrar e ingrese la contraseña 🙂

  6. Cuando ingrese la contraseña, el terminal no mostrará que recibe entradas del teclado, pero en realidad sí lo hace, así que ingrese la contraseña y presione Entrar incluso si no ve que la contraseña está escrita.

Es muy fácil en Gnu / LinuxMacWindows

Primero: – copia este comando

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

Segundo: ahora copie y pegue el comando en la terminal, el Android Studio enter image description here

¡Resultado!

enter image description here

¡¡Buena suerte!!

Si está utilizando Android Studio, puede obtener rápidamente la huella digital del certificado SHA-1 y MD5 (depuración, lanzamiento … ¡ todos los tipos de comstackción !) A través de las Tareas de Gradle :

signingReport

Los certificados SHA-1 y MD5 se muestran en Registros de mensajes .

El complemento de Android (configurado en la aplicación Gradle) crea un modo de depuración para el valor predeterminado.

com.android.application

Ruta del archivo al almacén de claves:

 HOME/.android/debug.keystore 

Recomiendo adjuntar debug.keystore a build.gradle . Para hacer esto, coloque un archivo, debug.keystore , en una carpeta de la aplicación y luego agregue SigningConfigs en la aplicación Gradle :

 apply plugin: 'com.android.application' android { ................ signingConfigs { debug { storeFile file("../app/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } release { storeFile file("../app/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } } ........ } 

Extra: si desea crear para la versión, coloque un archivo, release.keystore , en una carpeta de aplicaciones. (Este ejemplo usa el mismo debug.keystore ).

Si tienes Android Studio, entonces es muy, muy simple. Simplemente cree una MapActivity usando Android Studio y después de crearla vaya a google_maps_api.xml. Allí habrá un enlace en los comentarios. Si lo pega en su navegador, le pedirá que complete algunos detalles y luego se generará su API. No hay necesidad de usar keytool y todo.

Captura de pantalla:

Ingrese la descripción de la imagen aquí

  1. Haga clic en el icono de Gradle en el panel derecho.
  2. Haga clic en Root Project Name.
  3. Haga clic en Tareas
  4. Haga clic en Android
  5. Haz clic en signingReport
  6. en el panel inferior donde se ve Ejecutar informe
  7. Haga clic en “Activar asignaciones de tareas / modo de texto”
  8. puedes ver el sha-1

Android Studio SHA-1

Para Windows 10 , desde la terminal de Android Studio :

 keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v 

Nota: Para el debug.keystore , la contraseña es “android”. El almacén de claves de depuración se encuentra normalmente en "%USER_PROFILE%"/.android/debug.keystore .

Quiero agregar una cosa con la respuesta dada por Softcoder . He visto que algunas personas no podían dar su ruta de debug.keystore correctamente en la command line . Ven que están haciendo el proceso exacto aceptado anteriormente, pero no está funcionando. En ese momento intente arrastrar el depurador.keystore y suéltelo en la línea de comando. Ayudará si la respuesta aceptada no está funcionando para usted. Haz todo el proceso sin ninguna duda. Fue una buena respuesta.

Use un comando simple:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

y obtendrás la clave SHA1.

Encontré un proceso muy fácil para encontrar tu huella dactilar MD5, SHA-1 usando Android Studio.

  1. Ejecute su proyecto
  2. Ir al menú de Gradle (Menú: Ver -> Herramientas de Windows -> Gradle)
  3. Vaya a ‘signingReport’ en la ventana de Gradle. (Su proyecto -> Tareas -> android -> signingReport)
  4. Ejecutarlo. (Usando doble clic o Ctrl + Shift + F10)
  5. En la ventana Ejecutar, encontrarás toda la información.

Funciona solo para el modo de depuración. En el modo de liberación, no puedo ver el sha-1. Aquí el resultado de gradlew signingReport

 Variant: release Config: none ---------- Variant: releaseUnitTest Config: none ---------- Variant: debug Config: debug Store: path\Android\avd\.android\debug.keystore Alias: AndroidDebugKey MD5: xx:xx:xx:62:86:B7:9C:BC:FB:AD:C8:C6:64:69:xx:xx SHA1: xx:xx:xx:xx:0F:B0:82:86:1D:14:0D:AF:67:99:58:1A:01:xx:xx:xx Valid until: Friday, July 19, 2047 ---------- 

Entonces debo usar keytool para obtener sha-1. Aquí el documento oficial de Firebase:

Get_sha-1_for_release

Haga clic en el icono de Gradle en el panel derecho, luego haga clic en (raíz).

Tareas> android> signingReport

Luego se ejecutará la secuencia de comandos de Gradle, y verá sus claves.

Esto funcionó en mi caso: use % USERPROFILE% en lugar de dar el archivo path .keystore almacenado en esta ruta automáticamente C: Users / user name / .android :

 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

Lo hago de esta manera:

Paso 1: ve a esta carpeta

En Mac: /Users//.android/

En Windows: C: \ Documents and Settings \ .android \

En Linux: ~ / .android /

Paso 2: ejecuta esta línea de comando:

 keytool -list -v -keystore debug.keystore -storepass android 

Verá la clave SHA-1.

Use las instrucciones del Administrador de API usando keytool:

Obtenga el nombre del paquete de su archivo AndroidManifest.xml. Luego use el siguiente comando para obtener la huella digital:

keytool -list -v -keystore mystore.keystore

Al crear un nuevo “Proyecto Google Maps”, en Android Studio V 1.5.1, la última pantalla abre el archivo google_maps_api.xml y muestra la pantalla con las instrucciones siguientes:

Recursos:

TODO: antes de ejecutar su aplicación, necesita una clave API de Google Maps.

Para obtener uno, siga este enlace, siga las instrucciones y presione “Crear” al final:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r= SU SHA-1 + SU NOMBRE DEL PAQUETE

También puede agregar sus credenciales a una clave existente, usando esta línea:
SU SHA-1: SU NOMBRE DEL PAQUETE

Alternativamente, siga las instrucciones aquí:
https://developers.google.com/maps/documentation/android/start#get-key

Una vez que tenga su clave (comienza con “AIza”), reemplace la cadena “google_maps_key” en este archivo.
YOUR GOOGLE MAPS KEY

Para obtener SU LLAVE DE GOOGLE MAPS, simplemente corte y pegue el enlace URL que se le da a su navegador y siga las instrucciones anteriores al momento de crear la nueva aplicación. Los Package names SHA-1 y del Package names ya están en el enlace proporcionado, por lo que no es necesario que los conozca. Sin embargo, estarán en su proyecto en el archivo resources>Values>google_maps_api.xml que se completa cuando sigue las instrucciones para crear el proyecto.

Puede usar el siguiente comando y cambiar AJAY SUNDRIYAL con el nombre de su sistema. Esto es solo para su debug.keystore. Esto funcionará para usted.

 C:\Program Files\Java\jdk1.8.0_91\bin>keytool -list -v -keystore "c:\users\AJAY SUNDRIYAL\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

Esto funcionó para mí:

 keytool -exportcert -alias androiddebugkey -keystore 

Coloque path-to-debug-or-production-keystore aquí como C: \ users \ youruser.android \ debug.keystore -list -v

Asegúrese de que ya se encuentra en el directorio Java\jdk*\bin en un comando o ventana de terminal.

Luego use Android como la contraseña.

A veces, los recursos web pueden ser engañosos. Estos son los que trabajan:

  • Tutorial de Huella digital SHA1

  • Aplicación de ejemplo de inicio rápido

Si necesita SHA1 para Google Maps , puede ver su registro de errores en LogCat .

Vaya a Archivo> Estructura del proyecto Seleccione ‘aplicación’ o ‘móvil’, sea lo que sea que le haya dado el nombre, desde ‘Módulos’ Seleccione ‘Firmar’.

Puede agregar un certificado haciendo clic en el botón ‘+’.

La forma más fácil de obtener la huella dactilar es cambiar de la aplicación al informe firmado haciendo clic en el menú desplegable y hacer clic en comstackr.

enter image description here

Luego podrá ver la huella digital sha1 en el panel inferior donde verá el informe de depuración y el seguimiento de la stack. NB recuerde volver a la aplicación cuando desee ejecutar su aplicación en un dispositivo o un emulador.

La ruta del almacén de claves está entre comillas dobles. Está funcionando bien.

 keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

Simple, llame a este método en su pantalla de bienvenida: hash () y getCertificateSHA1Fingerprint (), y luego las teclas estarían visibles en el registro

 private void hash() { PackageInfo info; try { info = getPackageManager().getPackageInfo( this.getPackageName(), PackageManager.GET_SIGNATURES); for (android.content.pm.Signature signature : info.signatures) { MessageDigest md; md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.e("sagar sha key", md.toString()); String something = new String(Base64.encode(md.digest(), 0)); Log.e("sagar Hash key", something); System.out.println("Hash key" + something); } } catch (PackageManager.NameNotFoundException e1) { Log.e("name not found", e1.toString()); } catch (NoSuchAlgorithmException e) { Log.e("no such an algorithm", e.toString()); } catch (Exception e) { Log.e("exception", e.toString()); } } private void getCertificateSHA1Fingerprint() { PackageManager pm = this.getPackageManager(); String packageName = this.getPackageName(); int flags = PackageManager.GET_SIGNATURES; PackageInfo packageInfo = null; try { packageInfo = pm.getPackageInfo(packageName, flags); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } Signature[] signatures = packageInfo.signatures; byte[] cert = signatures[0].toByteArray(); InputStream input = new ByteArrayInputStream(cert); CertificateFactory cf = null; try { cf = CertificateFactory.getInstance("X509"); } catch (CertificateException e) { e.printStackTrace(); } X509Certificate c = null; try { c = (X509Certificate) cf.generateCertificate(input); } catch (CertificateException e) { e.printStackTrace(); } String hexString = ""; try { MessageDigest md = MessageDigest.getInstance("SHA1"); byte[] publicKey = md.digest(c.getEncoded()); Log.e("sagar SHA",byte2HexFormatted(publicKey)); } catch (NoSuchAlgorithmException e1) { e1.printStackTrace(); } catch (CertificateEncodingException e) { e.printStackTrace(); } } public static String byte2HexFormatted(byte[] arr) { StringBuilder str = new StringBuilder(arr.length * 2); for (int i = 0; i < arr.length; i++) { String h = Integer.toHexString(arr[i]); int l = h.length(); if (l == 1) h = "0" + h; if (l > 2) h = h.substring(l - 2, l); str.append(h.toUpperCase()); if (i < (arr.length - 1)) str.append(':'); } return str.toString(); } 

Gracias.