Wie erhalte ich das SHA-1-Fingerabdruckzertifikat in Android Studio für den Debug-Modus?

492

Ich habe mich von Eclipse auf Android Studio verlagert . Jetzt versuche ich an meiner Karten-App zu arbeiten. Ich benötige also meine SHA-1-Fingerabdruck-Zertifikatsnummer.

Als ich Eclipse verwendete, war es direkt unter Windows -> Einstellungen -> Android -> Erstellen . Aber in Android Studio konnte ich keine solche Option finden, so dass ich den Fingerabdruck leicht finden konnte. Ich benutze Windows. Ich habe von diesem Link gelesen , dass:

Android Studio signiert Ihre App automatisch im Debug-Modus, wenn Sie Ihr Projekt über die IDE ausführen oder debuggen.

Daher habe ich versucht, dies in der Befehlszeile auszuführen, nachdem ich meinen Java-Bin-Pfad über diesen Link festgelegt hatte, und konnte meinen Fingerabdruck leider nicht finden. Es heißt, dass dies eine illegale Option ist .

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

Gibt es eine Möglichkeit, den SHA-1-Fingerabdruck von Android Studio zu finden, wie es in Eclipse sehr einfach war? Was ist der vollständige Prozess, um es zu finden, da ich ein Neuling in Android Studio bin?

Eine andere Sache, die ich hinzufügen möchte, ist, dass meine Eclipse den SHA-1-Fingerabdruck generiert und zuvor meine App auf diesem Fingerabdruck in der Google-Entwicklerkonsole registriert hat und ich mit diesem API-Schlüssel an dieser App in Eclipse gearbeitet habe. Kann der gleiche API-Schlüssel für dieses Projekt in Android Studio verwendet werden?

Setu Kumar Basak
quelle
1
Einfachster Weg, um SHA-1 für Release- und Debug-Modus Android Studio Gradle zu bekommen. Überprüfen Sie dies
Naeem Ibrahim
Versuchen Sie Folgendes: Wie bekomme ich Sha-1-Key-in-Android-Studio?.
Himanshu itmca

Antworten:

1253

Einfachste Wege aller Zeiten:

Update für Android Studio V 2.2 im letzten Schritt hinzugefügt

Es gibt zwei Möglichkeiten, dies zu tun.

1. Schneller :

  1. Öffnen Sie Android Studio
  2. Öffnen Sie Ihr Projekt
  3. Klicken Sie auf Gradle (auf der rechten Seite sehen Sie die Gradle-Leiste )
  4. Klicken Sie auf Aktualisieren (Klicken Sie auf Aktualisieren von Gradle Bar , werden Sie sehen Liste Gradle Skripte Ihres Project)
  5. Klicken Sie auf Ihr Projekt (Projektname Form Liste (root))
  6. Klicken Sie auf Aufgaben
  7. Klicken Sie auf Android
  8. Klicken Sie doppelt auf signingReport (Sie erhalten SHA1 und MD5 in Run Bar (Manchmal wird es in Gradle Konsole sein))
  9. Wählen Sie das App- Modul aus der Dropdown-Liste zur Modulauswahl aus , um Ihre Anwendung auszuführen oder zu debuggen

Überprüfen Sie den Screenshot unten:

Geben Sie hier die Bildbeschreibung ein

2. Arbeiten mit Google Maps Aktivität :

  1. Öffnen Sie Android Studio
  2. Öffnen Sie Ihr Projekt
  3. Klicken Sie auf das Menü Datei -> Neu auswählen -> Klicken Sie auf Google -> Google Maps-Aktivität auswählen
  4. Ein Dialogfeld wird angezeigt -> Klicken Sie auf Fertig stellen
  5. Android Studio würde eine automatisch generieren XML - Datei namens mitgoogle_maps_api.xml
  6. Sie erhalten hier den Debug-SHA1- Schlüssel (in Zeile 10 der XML-Datei).

Überprüfen Sie den Screenshot unten:

Geben Sie hier die Bildbeschreibung ein

Android Studio V 2.2 Update

Es gibt ein Problem mit der Ausführung .

Lösung:

  • Klicken Sie auf Toggle Aufgaben Ausführung / Textmodus von Run - Bar

Überprüfen Sie den Screenshot unten:

Geben Sie hier die Bildbeschreibung ein

Erledigt.

Hiren Patel
quelle
6
Großartig :) Aber kann ich dieses SHA1 (wie von Ihnen beschrieben erstellt) in meiner Google Developer Console verwenden, um Anmeldeinformationen für meine Anwendung zu erstellen? Weil im Fenster (Signing Report) steht (config: debug) nicht Release-Modus?
Ashraf Alshahawy
2
Schön, einen Weg zu finden, der die Befehlszeile nicht betrifft.
Androidcoder
2
Sie sind der Scheißkerl, das funktioniert perfekt, da ich debug.keystore nicht in meinem .android-Ordner @HirenPatel
Manny265
2
Informationen zur Veröffentlichung von SHA1 für den Keystore finden Sie unter stackoverflow.com/questions/15727912/… one
Hiren Patel
12
Ab Android Studio 2.2 wird es in der Gradle-Konsole nicht ausgeführt
adsamcik
296

Mein Problem ist dasselbe, da ich auch mein Google Maps- Projekt von Eclipse auf Android Studio verschoben habe . Ich habe mein Problem folgendermaßen gelöst:

Wechseln Sie mit dem folgenden Befehl in Ihr Java-Bin-Verzeichnis:

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

Geben Sie nun den folgenden Befehl in Ihr Befehlsfenster (CMD.EXE) ein:

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

Beispiel:

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

Oder Sie können dies einfach in cmd schreiben, wenn Sie den Benutzernamen nicht kennen:

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

Und Sie erhalten die SHA1.

Dann habe ich einen neuen Schlüssel von https://code.google.com/apis/console erstellt, weil mein Paketname geändert wurde, und diesen Schlüssel dann in meiner Anwendung verwendet. Es funktioniert gut.

Stellen Sie sicher, dass Sie sich im BIN- Ordner von jdkX.X.X_XX befinden (mein Ordnername ist jdk1.7.0_71) . Wenn Sie nicht wissen, welchen Ordnernamen Sie haben, finden Sie ihn, indem Sie den Java-Ordner öffnen Wie lautet der Ordnername, aber Sie müssen sich in Ihrem BIN-Ordner befinden und dann diesen Befehl ausführen. Heute habe ich meinen SHA1-Wert in einem cmd-Befehlsfenster durch das obige Verfahren erhalten.

SCHNAPPSCHUSS:

Geben Sie hier die Bildbeschreibung ein

Jamil
quelle
1
keytool -list -v -keystore "% USERPROFILE% \. android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android Anstatt deinen eigenen Benutzernamen einzugeben
Ja, aber als "keytool -list -v -keystore"% USERPROFILE% \. Android \ debug.keystore "-alias androiddebugkey -storepass android -keypass android" wird bereits in vielen Beispielen im Stapelüberlauf gezeigt ... ich möchte nur um ein anderes Beispiel zu geben.
Jamil
1
Ich konnte den SHA1 nicht vom CMD kopieren, daher habe ich die gesamte Ausgabe Ihres angegebenen Befehls in eine Datei verschoben, indem ich Folgendes hinzugefügt habe: > output.txthinter Ihrem Befehl. Sie können auch | cliphinter dem Befehl hinzufügen . Sie erhalten die Ausgabe des Befehls in Ihrer Windows-Zwischenablage. Ich hoffe es spart auch Zeit für andere. Weitere Informationen zur Verwendung von | Clip
Sjoerd Pottuit
1
@SPottuit: Interessanter Tipp für clip.exe, ich weiß nicht, dass es ihn gibt, danke. -v| find "SHA1" | clip
Wenn
131

Für Mac funktionierte dies perfekt:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
JoeNCA
quelle
gut für mich auch
Ranjith Kumar
112

Ich habe gerade den Fall gefunden, SHA-1 in Android Studio zu bekommen:

  1. Klicken Sie auf Ihr Paket und wählen Sie Neu -> Google -> Google Maps-Aktivität
  2. Android Studio leitet Sie zu google_maps_api.xml weiter

Und Sie werden alles sehen, was Sie brauchen, um zu bekommen google_maps_key.

Bild

Stanislav Bondar
quelle
1
Ich habe das Sha1 gefunden, aber es hat mich durcheinander gebracht. Es sagte "Fehler: Ausnahme bei der Arbeit mit einem externen System:" und änderte die gesamte Struktur meines Projekts. Danke !!! für nichts!!! Ich denke, es gibt keine Möglichkeit, zurück zu kommen.
user3050757
41

Die beste Lösung zum Generieren eines SHA-1- Schlüssels für Android ist Android Studio .

Klicken Sie ganz rechts auf Gradle:

Klicken Sie auf das Aktualisierungssymbol und Sie sehen den Namen der App:

Klicken Sie auf Aufgaben -> Bericht -> Unterzeichnungsbericht :

Suchen Sie den SHA-1-Schlüssel im unteren Teil der Konsole:

Ismaran Duwadi
quelle
Danke dafür! Keine der anderen Alternativen funktionierte, und das war sowieso noch einfacher.
Kebman
Vielen Dank Kumpel!
Hanish Sharma
Auf Android 3.1.4: Aufgaben -> Android -> SigningReport
Mete
die beste Antwort
Nurseyit Tursunkulov
36

[Aktualisiert 2017]

Schritt 1: Oben rechts in Android Studio Klicken Sie auf die Option Gradle.

Android Studio Klicken Sie auf Gradle

Schritt 2:

- Klicken Sie auf Aktualisieren (Klicken Sie in der Gradle-Leiste auf Aktualisieren, um Gradle-Skripte Ihres Projekts aufzulisten.)

- Klicken Sie auf Ihr Projekt (Formularliste Ihres Projektnamens (root))

- Klicken Sie auf Aufgaben

- Klicken Sie auf Android

- Doppelklicken Sie auf signierenReport (Sie erhalten SHA1 und MD5 in der Gradle Console / Run Bar)

Geben Sie hier die Bildbeschreibung ein

Schritt 3: Klicken Sie unten in Android Studio auf die Option Gradle Console, um Ihren SHA1-Schlüssel anzuzeigen.

Geben Sie hier die Bildbeschreibung ein

Schritt 4: Jetzt haben Sie den SHA-Schlüssel, können Ihr Projekt jedoch nicht ausführen. Ändern Sie daher Ihre Konfiguration in den App-Modus. Siehe Bild unten.

Geben Sie hier die Bildbeschreibung ein

So was.

Geben Sie hier die Bildbeschreibung ein

Schritt 5: Happy Coding !!

Dinesh Sunny
quelle
21

Ich gehe mit @ Hiren Patel Antwort, aber leicht ändern in Android Studio 2.2

Geben Sie hier die Bildbeschreibung ein

Arpit Patel
quelle
Ich bin nicht in der Lage, diesen Schalter in Android Studio 2.2.2
Zeeshan Shabbir
Folgen Sie der Antwort von @hiren Patel Schritt für Schritt?
Arpit Patel
20

Für Linux & Mac

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 
Vicky
quelle
@ Vicky Beispiel bitte .. /home/desktop/././. , abc.jks, welches Passwort n all, brauchen wir all diese Details?
Prabs
@ Prabs, ich kann dich nicht bekommen. Kannst du etwas mehr erklären?
Vicky
@ Vicky Müssen wir den Befehl bearbeiten, bevor wir ihn ausführen? Wenn ja, welche Details sollten wir dann angeben. Das ist meine Frage.
Prabs
1
@prabs, Sie müssen keine zusätzlichen Informationen für den Debug-Schlüssel angeben. Sie führen einfach den obigen Befehl in Ihrem Linux-Terminal aus.
Vicky
14
  1. Klicken Sie im rechten Bereich auf das Gradle-Symbol.
  2. Klicken Sie auf Root-Projektname.
  3. Klicken Sie auf Aufgaben
  4. Klicken Sie auf Android
  5. Klicken Sie auf signierenReport
  6. Im unteren Bereich sehen Sie Bericht ausführen
  7. Klicken Sie auf "Aufgabenausführung / Textmodus umschalten".
  8. Sie können die sha-1 sehen

Android Studio SHA-1

Sadegh-Khan
quelle
1
Vielen Dank. hat super funktioniert. / Ich wusste nicht, dass ich es umschalten musste.
Raul
12

Ich habe es so gemacht:

Schritt 1: Gehen Sie zu diesem Ordner

On Mac: /Users/<username>/.android/

On Windows: C:\Documents and Settings\<username>\.android\

On Linux: ~/.android/

Schritt 2: Führen Sie diese Befehlszeile aus:

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

Sie sehen die SHA-1-Taste.

Sohn Nguyen Thanh
quelle
/Users/<username>für Mac ist der Home-Ordner des Benutzers, so dass die ~Verknüpfung verwendet werden kann, genau wie fürLinux
user28434
Danke für deine Hilfe.
Aoun
11

Ich habe den folgenden Befehl direkt von meinem Mac über das Terminal verwendet. Ich habe SHA1 Finger. Dies ist der Befehl:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Hanuman
quelle
es wird auch für Windows funktionieren cmd ist: keytool -list -v -keystore% USERPROFILE% \. android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
Hanuman
9

So erhalten Sie SHA1 für einen Produktionsschlüsselspeicher:

  1. Build -> Signierte APK generieren ...

  2. Erstellen Sie einen Keystore mit Passwort und befolgen Sie die Schritte

  3. Gehen Sie zu Ihrem Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin und ziehen Sie den Ordner bin nach dem Befehl cd auf das Terminal, um darauf zu zeigen, damit Sie das Keytool-Tool verwenden können. Also, im Terminal schreiben cd(Bin hier ziehen) und dann die Eingabetaste drücken.

  4. Kopieren Sie diese dann und fügen Sie sie in das Terminal ein:

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

    Löschen Sie meinen Pfad und gehen Sie dorthin, wo Sie Ihren Keystore gespeichert haben. Ziehen Sie Ihren Keystone und legen Sie ihn anschließend ab -keystore in der Befehlszeile ab, damit der Pfad erstellt wird.

    Löschen Sie außerdem Your_keystore_AliaseName, um Ihren Alias-Keystone-Namen zu verwenden, den Sie beim Erstellen verwendet haben.

  5. Drücken Sie Enterund geben Sie das Passwort ein :)

  6. Wenn Sie das Passwort eingeben, zeigt das Terminal nicht an, dass es Tastatureingaben empfängt, aber tatsächlich. Geben Sie das Passwort ein und drücken Sie, Enterauch wenn Sie nicht sehen, dass das Passwort eingegeben wurde.

Badr
quelle
Du hast meine THANK SO MUCHAuszeichnung für When you enter the password, the terminal won't show that it receives keyboard entries, but it actually does.
Farid
7

Es ist sehr, sehr einfach in Gnu / Linux - Mac - Windows

Erstens: - Kopieren Sie diesen Befehl

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

Zweitens: Kopieren Sie nun den Befehl und fügen Sie ihn in das Terminal des Android Studio ein Geben Sie hier die Bildbeschreibung ein

Ergebnis!

Geben Sie hier die Bildbeschreibung ein

Viel Glück!!

David Hackro
quelle
7

Wenn Sie Android Studio verwenden, können Sie den Fingerabdruck des SHA-1- und MD5-Zertifikats (Debuggen, Freigeben ... aller Build-Typen !!) schnell über Gradle-Aufgaben abrufen :

Unterzeichnungsbericht

Die SHA-1- und MD5-Zertifikate werden in Nachrichtenprotokollen angezeigt .

Das Android-Plugin (in der Gradle-App konfiguriert) erstellt standardmäßig einen Debug-Modus.

com.android.application

Dateiroute zum Keystore:

HOME/.android/debug.keystore

Ich empfehle befestigen debug.keystore zu build.gradle. debug.keystoreLegen Sie dazu eine Datei in einen App-Ordner und fügen Sie dann SigningConfigs in der Gradle- App hinzu:

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: Wenn Sie zur Veröffentlichung erstellen möchten, legen Sie eine Datei release.keystorein einem App-Ordner ab. (In diesem Beispiel wird dasselbe verwendet debug.keystore.)

SergioLucas
quelle
1
Ich habe getan, was Sie oben gesagt haben, aber ich bekomme die Veröffentlichung SHA1 nicht, für die Veröffentlichung gibt sie mich zurück: Variante: Veröffentlichung Konfiguration: keine
Ashraf Alshahawy
Menü AndroidStudio: signierte apk erstellen / generieren und neue Datei erstellen. Nach Änderung signierenConfig> Release auf build.gradle (oben)
SergioLucas
6

Wenn Sie Android Studio haben ist es sehr, sehr einfach. Erstellen Sie einfach eine MapActivity mit Android Studio und gehen Sie nach dem Erstellen zu google_maps_api.xml. Dort wird ein Link in den Kommentaren angegeben. Wenn Sie es in Ihren Browser einfügen, werden einige Details zum Ausfüllen aufgefordert, und danach wird Ihre API generiert. Es ist nicht erforderlich, Keytool und alle zu verwenden.

Bildschirmfoto:

Geben Sie hier die Bildbeschreibung ein

Rizwan Ahmed
quelle
Dies funktioniert jedoch nur beim Debuggen. Sie müssen den Fingerabdruck des Freigabeschlüssels manuell ermitteln.
Hyndrix
@Hyndrix Wie bestimmen Sie manuell den Fingerabdruck des Freigabeschlüssels?
Micro
Dies ist ein völlig unnötiger Schritt. Sie müssen dafür keine MapActivity erstellen. Sie müssen nur in Ihren Gradle-Projekten> App> Aufgaben> Android> SigningReports nachsehen und das Ergebnis in der Gradle-Konsole unter SHA1 anzeigen.
Kebman
5

Dies funktionierte in meinem Fall: Verwenden Sie % USERPROFILE%, anstatt die in diesem Pfad automatisch gespeicherte Pfad-Keystore-Datei automatisch anzugeben. C: Benutzer / Benutzername / .android :

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

Verwenden Sie einen einfachen Befehl:

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

und Sie erhalten den SHA1-Schlüssel.

Sangeeta
quelle
4

Für Windows 10 über das Android Studio- Terminal:

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

Hinweis: Für das debug.keystoreist das Passwort "android". Der Debug-Keystore befindet sich normalerweise unter "%USER_PROFILE%"/.android/debug.keystore.

Javad Jafari
quelle
4

Ich möchte mit der Antwort von Softcoder eine Sache hinzufügen . Ich habe gesehen, dass einige Leute ihren debug.keystore- Pfad auf dem nicht korrekt angeben konnten command line. Sie sehen, dass sie genau den oben akzeptierten Prozess ausführen, aber er funktioniert nicht. Versuchen Sie an diesem Punkt, den debug.keystore zu ziehen und in der Befehlszeile abzulegen. Es hilft, wenn die akzeptierte Antwort für Sie nicht funktioniert. Führen Sie den gesamten Vorgang ohne zu zögern durch. Es war eine schöne Antwort.

Setu Kumar Basak
quelle
4

Ich fand einen sehr einfachen Prozess, um Sie MD5, SHA-1 Fingerabdruck mit Android Studio zu finden.

  1. Führen Sie Ihr Projekt aus
  2. Gehen Sie zum Gradle-Menü (Menü: Ansicht -> Werkzeugfenster -> Gradle)
  3. Gehen Sie im Gradle-Fenster zu 'signingReport'. (Ihr Projekt -> Aufgaben -> Android -> SigningReport)
  4. Starte es. (Mit Doppelklick oder Strg + Umschalt + F10)
  5. Im Fenster Ausführen finden Sie alle Informationen.

Es funktioniert nur im Debug-Modus. Im Realease-Modus kann ich sha-1 nicht sehen. Hier Ergebnis vongradlew 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
----------

Also muss ich Keytool verwenden, um sha-1 zu bekommen. Hier offizielles Firebase-Dokument:

Get_sha-1_for_release

Md Sufi Khan
quelle
3

Klicken Sie auf das Gradle-Symbol im rechten Bereich und dann auf das (root).

Aufgaben> Android> SigningReport

Dann wird das Gradle-Skript ausgeführt und Sie sehen Ihre Schlüssel.

Balman Rawat
quelle
3

Rufen Sie diese Methoden einfach in Ihrem Begrüßungsbildschirm auf: hash () und getCertificateSHA1Fingerprint (), und dann werden die Schlüssel im Protokoll angezeigt

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();
        }

Vielen Dank.

Sagar Gadani
quelle
2

Verwenden Sie die Anweisungen des API-Managers mit keytool:

Rufen Sie den Paketnamen aus Ihrer AndroidManifest.xml-Datei ab. Verwenden Sie dann den folgenden Befehl, um den Fingerabdruck zu erhalten:

keytool -list -v -keystore mystore.keystore

Jorgesys
quelle
1

Sie können den folgenden Befehl verwenden und AJAY SUNDRIYAL mit Ihrem Systemnamen ändern. Dies gilt nur für Ihren debug.keystore. Dies funktioniert für Sie.

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
SANJAY GUPTA
quelle
1

Das hat bei mir funktioniert:

keytool -exportcert -alias androiddebugkey -keystore

Fügen Sie hier den Pfad zum Debug- oder Produktions-Keystore ein, z. B. C: \ users \ youruser.android \ debug.keystore -list -v

Stellen Sie sicher, dass Sie bereits in der Java\jdk*\bin in einem Befehls- oder Terminalfenster Verzeichnis .

Verwenden Sie dann Android als Passwort.

Manchmal können Webressourcen irreführend sein. Dies sind diejenigen, die arbeiten:

Jenia
quelle
1

Der Pfad des Schlüsselspeichers steht in doppelten Anführungszeichen. Es funktioniert gut.

keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Glücklicher Singh
quelle
1

Wenn Sie SHA1 für Google Maps benötigen , sehen Sie einfach Ihr Fehlerprotokoll in LogCat .

Anton Smirnov
quelle
1

Beim Erstellen eines neuen "Google Maps-Projekts" in Android Studio V 1.5.1 öffnet der letzte Bildschirm die google_maps_api.xmlDatei und zeigt den Bildschirm mit den folgenden Anweisungen an:

Ressourcen:

TODO: Bevor Sie Ihre Anwendung ausführen, benötigen Sie einen Google Maps-API-Schlüssel.

Um eine zu erhalten, folgen Sie diesem Link, folgen Sie den Anweisungen und klicken Sie am Ende auf "Erstellen":

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r= IHR SHA-1 + IHR PAKETNAME

Sie können Ihre Anmeldeinformationen auch über diese Zeile zu einem vorhandenen Schlüssel hinzufügen:
IHR SHA-1: IHR PAKETNAME

Alternativ folgen Sie den Anweisungen hier:
https://developers.google.com/maps/documentation/android/start#get-key

Sobald Sie Ihren Schlüssel haben (er beginnt mit "AIza"), ersetzen Sie die Zeichenfolge "google_maps_key" in dieser Datei.
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>

Um IHREN GOOGLE MAPS KEY zu erhalten, schneiden Sie einfach den URL-Link aus und fügen Sie ihn in Ihren Browser ein. Befolgen Sie die obigen Anweisungen zum Zeitpunkt der Erstellung der neuen Anwendung. Die SHA-1und Package namessind bereits in dem angegebenen Link enthalten, sodass Sie sie nicht kennen müssen. Sie befinden sich jedoch in Ihrem Projekt in der resources>Values>google_maps_api.xmlDatei, die abgeschlossen ist, wenn Sie den Anweisungen zum Erstellen des Projekts folgen.

Anthony
quelle
1
  • Gehen Sie zu Datei> Projektstruktur Wählen Sie appoder mobilewas auch immer Sie den Namen gegeben habenModules

  • Wählen Sie die SigningRegisterkarte.

  • Sie können ein Zertifikat hinzufügen, indem Sie auf die +Schaltfläche klicken .

Kabir
quelle
Könnten Sie mir bitte anhand eines Beispiels einen detaillierten Schritt zeigen?
Setu Kumar Basak
0

Der einfachste Weg, um den Fingerabdruck zu erhalten, besteht darin, von der App zum signierten Bericht zu wechseln, indem Sie auf das Dropdown-Menü klicken und auf Erstellen klicken.

Geben Sie hier die Bildbeschreibung ein

Dann können Sie den sha1-Fingerabdruck im unteren Bereich sehen, in dem Sie den Debug-Bericht und die Stapelverfolgung sehen. Hinweis: Denken Sie daran, wieder zur App zu wechseln, wenn Sie Ihre App auf einem Gerät oder einem Emulator ausführen möchten.

The_Martian
quelle
Das könnte ein schöner Punkt sein, aber ich verstehe nicht, was du meinst, bitte.
Nyxee