it-swarm.com.de

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

Ich habe mich von Eclipse zu Android Studio verschoben. Jetzt versuche ich, an meiner Karten-App zu arbeiten. Also brauche ich meine SHA-1-Fingerabdruckzertifikatsnummer.

Als ich Eclipse verwendet habe, war es direkt unter Windows -> Einstellungen -> Android -> Erstellen . Aber in Android Studio konnte ich keine solche Option finden, damit ich den Fingerabdruck leicht finden konnte. Ich benutze Windows. Ich habe daraus gelesen link dass:

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

Deshalb habe ich versucht, dies in der Befehlszeile auszuführen, nachdem ich meinen Java bin-Pfad von dieser Link festgelegt habe. Leider konnte ich meinen Fingerabdruck nicht finden. Es heißt, dass es sich um eine illegale Option handelt .

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

Gibt es eine Möglichkeit, den SHA-1-Fingerabdruck in Android Studio zu finden, als wäre dies in Eclipse sehr einfach gewesen? Da ich in Android Studio ein Anfänger bin, wie ist der vollständige Prozess, um es zu finden?

Außerdem möchte ich hinzufügen, dass meine Eclipse den SHA-1-Fingerabdruck generiert und zuvor meine App auf diesem Fingerabdruck in der Google-Entwicklerkonsole registriert und mit diesem API-Schlüssel an dieser App in Eclipse gearbeitet hat. Kann an diesem Projekt in Android Studio derselbe API-Schlüssel bearbeitet werden?

434

Einfachster Weg aller Zeiten:

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

Hierfür gibt es zwei Möglichkeiten.

1. Schneller Weg :

  1. Öffnen Sie Android Studio
  2. Öffnen Sie Ihr Projekt
  3. Klicken Sie auf Gradle (Im rechten Bereich sehen Sie Gradle Bar )
  4. Klicken Sie auf Aktualisieren (Klicken Sie auf Aktualisieren von Gradle-Leiste , Sie sehen Liste Gradle-Skripte Ihres Projekts)
  5. Klicken Sie auf Ihr Projekt (Formular Ihr Projektname Liste (root))
  6. Klicken Sie auf Aufgaben
  7. Klicken Sie auf Android
  8. Doppelklicke auf signingReport (Du erhältst SHA1 und MD5 in Run Bar (Manchmal wird es in Gradle Console sein)
  9. Wählen Sie app module aus der Dropdown-Liste module selection aus, um Ihre Anwendung auszuführen oder zu debuggen

Überprüfen Sie den Screenshot unten:

enter image description here

2. Mit Google Maps-Aktivität arbeiten :

  1. Öffnen Sie Android Studio
  2. Öffnen Sie Ihr Projekt
  3. Klicken Sie auf das Menü Datei -> Wählen Sie Neu -> Klicken Sie auf Google - > Wählen Sie Google Maps-Aktivität
  4. Es erscheint ein Dialog -> Klicken Sie auf Fertig stellen
  5. Android Studio generiert automatisch eine XML Datei mit dem Namen mit google_maps_api.xml
  6. Sie erhalten hier den SHA1 -Debug-Schlüssel (in Zeile 10 der XML-Datei).

Screenshot unten prüfen:

Enter image description here

Android Studio V 2.2 Update

Es gibt ein Problem mit Ausführung .

Lösung:

  • Klicken Sie auf Tasks ausführen/Textmodus umschalten von Leiste ausführen

Screenshot unten prüfen:

enter image description here

Fertig.

1123
Hiren Patel

Mein Problem ist dasselbe, als ich auch mein Google Maps Projekt von Eclipse nach 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 ein (CMD.EXE):

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 du bekommst den SHA1.

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

Stellen Sie sicher, dass Sie sich im Ordner BIN von jdkX.X.X_XX befinden (mein Ordnername ist jdk1.7.0_71) , Wenn Sie den Ordnernamen nicht kennen, öffnen Sie den Ordner Java und Sie sehen, wie der Ordnername lautet. Sie müssen sich jedoch in Ihrem BIN-Ordner befinden und diesen dann ausführen Befehl. Heute habe ich meinen SHA1-Wert in einem Cmd-Befehlsfenster durch die obige Prozedur erhalten.

SNAPSHOT:

Enter image description here

288
Jamil

Für Mac hat dies perfekt funktioniert:

keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android
116
JoeNCA

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

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

Und du wirst alles sehen, was du brauchst, um google_maps_key zu bekommen.

Image

112

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:

37
Ismaran Duwadi

[Aktualisiert 2017]

Schritt 1: Klicken Sie oben rechts in Android Studio auf Gradle.

Android Studio Click On Gradle option

Schritt 2:

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

- Klicken Sie auf Ihr Projekt (Ihr Projektname aus der Liste (root))

- Klicken Sie auf Aufgaben

- Klicken Sie auf Android

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

enter image description here

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

enter image description here

Schritt 4: Jetzt haben Sie die Taste SHA, können aber Ihr Projekt nicht ausführen. Deshalb ändern Sie Ihre Konfiguration in App Modus. Siehe Bild unten.

enter image description here

So was.

enter image description here

Schritt 5: Happy Coding !!

33
Dinesh Sunny

ich werde mit @Hiren Patel antworten, aber etwas ändern in Android Studio 2.2

enter image description here

21
Arpit Patel

Für Linux & Mac

keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android 
17
Vicky

Ich habe den folgenden Befehl direkt von meinem Mac aus ü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
11
Hanuman
  1. Klicken Sie im rechten Fensterbereich auf das Gradle-Symbol.
  2. Klicken Sie auf Root-Projektname.
  3. Klicken Sie auf Aufgaben
  4. Klicken Sie auf Android
  5. Klicken Sie auf signingReport
  6. im unteren Bereich wird Bericht ausführen angezeigt
  7. Klicken Sie auf "Aufgabenausführung/Textmodus umschalten".
  8. sie können die Sha-1 sehen

Android Studio SHA-1

9
Sadegh-khan

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

  1. Build -> Signierte APK generieren ...

  2. Erstellen Sie einen Keystore mit Passwort und folgen Sie den Schritten

  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 Tool keytool verwenden können. Schreiben Sie im Terminal cd (ziehen Sie die Bin hierher) und drücken Sie die Eingabetaste.

  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ösche meinen Pfad und gehe dorthin, wo du deinen Keystore gespeichert hast und ziehe deinen Keystone und lege ihn nach -keystore in der Befehlszeile ab, damit der Pfad erstellt wird.

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

  5. Drücken Sie Enter und gib 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 Enter Auch wenn Sie das Kennwort nicht sehen, wird es abgetippt.

8
fullMoon

Wenn Sie Android Studio verwenden, erhalten Sie das SHA-1- und MD5-Zertifikat ​​Fingerabdruck (Debug, Release ... alle Build-Typen !! ) schnell durch Gradle Tasks:

signingReport

Die SHA-1- und MD5-Zertifikate werden in Messages Logs 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, anfügendebug.keystore bis build.gradle. Legen Sie dazu eine Datei, debug.keystore, in einen App-Ordner und fügen Sie SigningConfigs in 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 zum Release erstellen möchten, legen Sie eine Datei, release.keystore, in einen App-Ordner. (In diesem Beispiel wird der gleiche debug.keystore verwendet.)

7
SergioLucas

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

Zuerst: - Kopieren Sie diesen Befehl

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

Zweitens: Kopieren Sie nun den Befehl in das Terminal des Android Studio enter image description here

Ergebnis!

enter image description here

Viel Glück !!

7
David Hackro

Wenn Sie Android Studio haben, ist es sehr, sehr einfach. Erstellen Sie einfach eine MapActivity mit Android Studio und rufen Sie nach dem Erstellen google_maps_api.xml auf. Dort wird in Kommentaren ein Link angegeben. Wenn Sie es in Ihren Browser einfügen, werden Sie aufgefordert, einige Details einzugeben, und anschließend wird Ihre API generiert. Es ist nicht erforderlich, keytool und all zu verwenden.

Bildschirmfoto:

Enter image description here

6
Rizwan Ahmed

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

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

Verwenden Sie den einfachen Befehl:

keytool -exportcert -keystore Pfad-zum-Debuggen-oder-Produktions-Keystore-Liste -v

und Sie erhalten den SHA1-Schlüssel.

5
Sangeeta

Für Windows 1 über das Android Studio Terminal:

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

Hinweis: Für den debug.keystore lautet das Kennwort "Android". Der Debug-Keystore befindet sich normalerweise unter "%USER_PROFILE%"/.Android/debug.keystore.

4
Javad Jafari

Ich habe mit Android Studio ein sehr einfaches Verfahren gefunden, um Sie zu finden: MD5, SHA-1-Fingerabdruck.

  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 Run-Fenster finden Sie alle Informationen.

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

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

Get_sha-1_for_release

4
Md Sufi Khan

Ich habe das so gemacht:

Schritt 1: Gehe 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 den SHA-1-Schlüssel.

4

Ich möchte eine Sache mit der Antwort von Softcoder hinzufügen. Ich habe gesehen, dass einige Leute ihren debug.keystore Pfad auf dem command line nicht korrekt angeben konnten. Sie sehen, dass sie genau den oben akzeptierten Prozess ausführen, aber er funktioniert nicht. Versuchen Sie zu diesem Zeitpunkt, die Datei debug.keystore per Drag & Drop auf die Befehlszeile zu ziehen. Es hilft, wenn die akzeptierte Antwort bei Ihnen nicht funktioniert. Machen Sie den gesamten Vorgang ohne zu zögern. Es war eine schöne Antwort.

4

Klicken Sie im rechten Fensterbereich auf das Gradle-Symbol und dann auf das (Stammverzeichnis).

Aufgaben> Android> signingReport

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

3
Balman Rawat

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 abzurufen:

keytool -list -v -keystore mystore.keystore

2
Jorgesys
  • Gehen Sie zu Datei> Projektstruktur. Wählen Sie app oder mobile aus, wie auch immer Sie den Namen von Modules angegeben haben.

  • Wählen Sie die Registerkarte Signing.

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

1
Kabir

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

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

1
Anton Smirnov

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 sich in einem Befehls- oder Terminalfenster bereits im Verzeichnis Java\jdk*\bin befinden.

Verwenden Sie dann Android als Kennwort.

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

1
Jenia

Beim Erstellen eines neuen "Google Maps-Projekts" in Android Studio V 1.5.1 wird im letzten Bildschirm die Datei google_maps_api.xml geöffnet und der Bildschirm mit den folgenden Anweisungen angezeigt:

Ressourcen:

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

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 zu einem vorhandenen Schlüssel hinzufügen, indem Sie die folgende Zeile verwenden:
IHR SHA-1: IHR PAKETNAME

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

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

Um IHREN GOOGLE MAPS-SCHLÜSSEL zu erhalten, müssen Sie nur den in Ihrem Browser angegebenen URL-Link ausschneiden und einfügen und den Anweisungen oben zum Zeitpunkt von folgen Erstellen der neuen Anwendung. Der SHA-1 und Package names befinden sich bereits in dem angegebenen Link, sodass Sie sie nicht kennen müssen. Sie befinden sich jedoch in Ihrem Projekt in der Datei resources>Values>google_maps_api.xml, die abgeschlossen wird, wenn Sie die Anweisungen zum Erstellen des Projekts befolgen.

1
Anthony

Der Pfad des Schlüsselspeichers wird in doppelte Anführungszeichen gesetzt. Es funktioniert gut.

keytool -list -v -keystore "C:\Users\App innovation\.Android\debug.keystore" -alias androiddebugkey -storepass Android -keypass Android
1
Happy Singh

Erster Schritt Öffnen Sie auf Ihrem C-Laufwerk die Datei Program -> Open Java Folder -> Open Bin und doppelklicken Sie auf jarsigner.exe

Dann öffnen Sie Cmd

Gehen Sie zu C:\Programme\Java\jdk1.8.0_191\bin und geben Sie dann C:\Programme\Java\jdk1.8.0_191\bin> keytool -list -keystore "F:\BTG UPDATE BUILD\Beyond_The_Game ein. jks "

Enter JUST Show Enter Kaystoer Password ***** Geben Sie Ihr Passwort ein Geben Sie endlich Ihr Release ein SHA key Getting you Thank YOU enter image description here

0
Rachit Mishra

Einfach, rufen Sie diese Methoden in Ihrem Begrüßungsbildschirm auf: hash () und getCertificateSHA1Fingerprint (), und dann wären Schlüssel im Protokoll sichtbar

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

Dankeschön.

0
S G

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

enter image description here

Dann können Sie den sha1-Fingerabdruck im unteren Bereich sehen, wo Sie den Debug-Bericht und den Stack-Trace sehen. NB Denken Sie daran, zur App zurückzukehren, wenn Sie Ihre App auf einem Gerät oder einem Emulator ausführen möchten.

0
The_Martian