web-dev-qa-db-ja.com

AndroidでOAuth 2.0用の署名証明書フィンガープリント(SHA1)を取得する方法

私は https://developers.google.com/console/help/#installed_applications の手順に従って自分のAndroidアプリを登録しようとしています従う http://developer.Android.com/tools/publishing/app-signing.html

しかし、署名証明書のフィンガープリント(SHA1)を取得する方法がわかりません。

私は最初にEclipse ADTプラグインを使用してキーストア/キーをエクスポートおよび作成しました。それから、私はkeytool -list keystore mykeystore.keystoreをやってみました、そしてそれは私にMD5証明書の指紋を与えます。署名をやり直す必要がありますか(つまり、Eclipseのエクスポートウィザードを使用できません)。

最初にデバッグ証明書を使用できますか?

144
Alex

アプリのapkを作成してプロダクションキーを使用するためのエクスポートプロセスを開始します。最後のページに、SHA1とMD5の両方の証明書のフィンガープリントが表示されます。 enter image description here

173

私はこの質問に答えたことを知っていますが、これが私がデフォルトキーストアのための私の署名を見つけた方法です。 Eclipseでは、Windows - > Preferences - > Android - > Buildの順に選択します。

enter image description here

138
Nick

これは完璧に機能すると思います。私は同じを使った:

Android Studioの場合:

  1. ビルド> 署名付きAPKの生成をクリックします。
  2. メッセージボックスが表示されたら、[OK]をクリックします。
  3. 今コピーする別のウィンドウがあるでしょうキーストアパス
  4. 今すぐコマンドプロンプトを開き、C:¥Program Files¥Java¥jdk1.6.0_39¥bin>(またはインストールされている任意のjdkバージョン)に移動します。
  5. keytool -list -v -keystoreと入力してから、Key Store Path(C:\ Program Files\Java\jdk1.6.0_39\bin> keytool -listを貼り付けます) -v -keystore "E:¥My Projects¥Android¥android studio¥署名済みapks¥Hello World¥HelloWorld.jks")。
  6. 今、それは尋ねるでしょうキーストアパスワード、あなたのものを提供しそして押す Enter SHA1およびMD5証明書キーを入手する.
86
Ravi

コマンドラインでこれを使う

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
66
Dan Jurgen

あなたがMacあるいはLinuxさえ使っているのなら、これをTerminalアプリケーションにコピー&ペーストするだけですぐにSHA1キーが手に入ります。何も変更する必要はありません。

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

出力例

Alias name: androiddebugkey
Creation date: 17 Feb 12
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
     MD5:  11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
     SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
     Signature algorithm name: SHA1withRSA
     Version: 3
63

ターミナルを開く(inUnix、inMAC)、(cmdこの(あなたのJava)パスにWindows)とcdで:

C:\Program Files\Java\jdk1.6.0_43\bin>

このコマンドを実行してください。

keytool -list -v -keystore C:\Users\leon\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

パスをdebug.keystoreに変更するだけで、MD5とSHA-1の両方のフィンガープリントが得られます。

57
gurkan
keytool -list -v -keystore "keyStoreName"

アプリのキーストアが存在するディレクトリからこのコマンドを実行します。

38
Manmohan Soni

Android Studioで、次の手順に従います。

  1. Android Studio IDEの右側にある[Gradleのプロパティ]メニューをクリックします。
  2. タスクツリーを展開します。
  3. SigningReportをクリックしてくださいあなたは一番下のコンソールにあなたのSHA1を見ることができます

enter image description here

16
Harunduet

あなたがあなたのAndroidアプリケーションでグーグルマップを使うためのGoogle Mapを生成するためにMD5指紋が必要である時にあなたがその時にapi kayを使いたいかどうか確かめてください。

Keytoolコマンドは、MD5を使用するとJDK 1.6フィンガープリントを生成し、SHA1を使用するとJDK 1.7フィンガープリントを生成します。

ですから、あなたが公開用にあなたのアプリケーションに署名したいのであれば、これを読んでください これ

そしてgoogle-map read を使いたいのであれば、これ を使ってください。

13
Akshay

IntelliJ(12+?)を使用している場合は、メニューに移動してください署名付きApiの作成/生成

ポップアップを埋めた後、「キーストアパス」のフィールドのデータを取得します(例:C:\ Users\user\Documents\store\store)

そしてコマンドラインで実行します。

>keytool -list -v -keystore "C:\Users\user\Documents\store\store"

....
         MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
    -->  SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
         SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...

がんばろう

12
user1183098

Androidスタジオを使用している方なら...

クリック:ビルド> APKで署名を生成新しいキーを作成します。これにより、「。jks」ファイルが生成されます。

次のコマンドを使用してデータを読みます(SHA1およびその他の情報)。

$ keytool -list -v -keystore filename.jks

12
Vinod Joshi

OpenSSLを使用している人は、このようにしてSHA1フィンガープリントを取得できます。

OpenSSL> dgst -sha1 my-release-key.keystore

これにより、次のような出力が得られます。

enter image description here

4
TaeKwonJoe

Android Studioを使用している場合あなたはすぐにSHA1証明書フィンガープリント(debug、release ...すべてのビルドタイプ!!)からGradleタスク

signingReport

SHA1は、メッセージログに表示されます。

Androidプラグイン(gradleアプリで設定)はデフォルトでデバッグモードを作成します。

com.Android.application

キーストアへのファイルルート:

HOME/.Android/debug.keystore

Debug.keystoreをbuild.gradleにattachすることをお勧めします。これを行うには、ファイルdebug.keystoreをアプリフォルダに配置してから、GradleアプリにSigningConfigsを追加します。

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:リリース用に作成したい場合は、ファイルrelease.keystoreをアプリフォルダに置きます。 (この例では同じdebug.keystoreを使用しています)

3
SergioLucas

これを試してみてください:ウィンドウズ----設定----アンドロイド - ビルド---ここからsh1コードのコピー

3
Ravind Maurya

Android Studioを使用している場合cmd Promptを使ってSHA1フィンガープリントを生成する必要はありません。 Android StudioのデフォルトのMaps Activityを使用してプロジェクトを作成するだけで済みます。このプロジェクトでは、google_maps_api.xmlのValuesフォルダーの下に指紋を取得できます。これがお役に立てば幸いです。 :)

enter image description here

3
Poras Bhardwaj

私は初めて混乱しましたが、私はあなたにWindows用の最終的なワーキングソリューションを提案します:

1)cmdを開き、Java/jdk/binディレクトリに移動します(1つ前のフォルダに移動するにはcd ..を、1つ前のフォルダに移動するにはcd NAME_FOLDERを押します)、私の場合はファイナルフォルダ:C:\Program Files\Java\jdk1.8.0_73\bin>enter image description here

2)今このコマンドを入力してくださいkeytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

結果として、あなたはこのようなものを手に入れなければなりません: enter image description here

3
Choletski

これが私の簡単な解決策です。

Gradleボタンをクリックすると、右側の上部に表示されます。あなたはすべてのgradleファイルを見るでしょう。それではAndroidに行き、signingReportをダブルクリックしてください。グラドルビルドが終了すると、SHAキーが表示されます。以下の画像をステップバイステップガイドで確認してください。

Gradleをクリックしたら、下の画像を確認してください。これが誰かに役立つことを願っています。

ステップ1:

Image Step one

ステップ2:

Image Step two

3
basavaraj_gowda

Mac/Linuxをお使いの場合は、端末に次の行を書き込むことでSHA1フィンガープリントを取得できます。

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

これ以降2つのことが可能です

  1. パスワードを聞いてきます

    ただタイプ

アンドロイド

enterキーを押すと、SHA1キーが以下の出力に表示されます。

  1. それはあなたに適切なプログラムをダウンロードするように頼むでしょう(そしていくつかのリストが与えられるでしょう)

    ターミナルでフォローするだけで入力

Sudo apt install openjdk-8-jre-headless

その後、ターミナルで次のコマンドを実行します。keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android

今回は、ステップ1に進みます。ここでは、パスワードを次のように入力するだけです。

アンドロイド

sHA1フィンガープリントが出力の下に表示されます。

1
Akshay Chopra

これは完璧に機能すると思います。私は同じを使った:

Android Studioの場合:

[ビルド]> [署名付きAPKの生成]をクリックします。メッセージボックスが表示されたら、[OK]をクリックします。

キーストアパスをコピーするだけで別のウィンドウが表示されます。

今すぐコマンドプロンプトを開き、C:¥Program Files¥Java¥jdk1.6.0_39¥bin>(またはインストールされている任意のjdkバージョン)に移動します。

「keytool -list -v -keystore」と入力して、キーストアのパスを貼り付けます(例:C:¥Program Files¥Java¥jdk1.6.0_39¥bin> keytool -list -v - keystore "E:¥My Projects¥Android¥android studio\signed apks\Hello World\HelloWorld.jks ")。

これで、キーストアのパスワードを確認し、自分のパスワードを入力してEnterキーを押してSHA1およびMD5証明書キーを取得します。

これで、このSHA1キーをGoogleの開発者コンソールの認証情報タブに追加し、Androidスタジオのビルドバリアントをリリースモードに変更します。

1
Rishab Jain

Macでkeytoolを探している人のために。次の手順を実行します:

まずJava JDKをインストールしてください http://docs.Oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

それからこれをコマンドプロンプトに入力します。

/usr/libexec/Java_home -v 1.7

それはのようなものを吐き出すでしょう:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytoolはjavacと同じディレクトリにあります。すなわち:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

Binディレクトリからkeytoolを使うことができます。

1
wired00

portecle を使う:

  • ファイル>キーストアファイルを開く
  • キーストアのパスワードを入力してください
  • 別名を右クリック>証明書の詳細> SHA-1指紋
0
Radi

これが怠惰なコーダーのためのツールです:

1依存関係を追加します。

compile 'com.vk:androidsdk:1.6.9'

2アクティビティ/アプリケーションのどこかに次の行を追加します。

String[] fingerprints = VKUtil.getCertificateFingerprint(this, getPackageName()); 
Log.d("SHA1", fingerprints[0]);

3 logcatを開き、メッセージを受け取ります。

4利益!

0
Aleksandr

ステップバイステップソリューション:

  1. Mac用のプロンプトまたはターミナルを開く
  2. ディレクトリをkeytoolファイルの場所のディレクトリに変更します。コマンドcd <directory path>を使用してディレクトリを変更します。 (注:ディレクトリ名にスペースがある場合は、追加してください。 \ 二つの言葉の間。例cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/

    • あなたのキーツールの場所を見つけるためには、Androidスタジオに行きます。あなたのプロジェクトを開きます。そしてに行く

    • ファイル>プロジェクト構造> SDKの場所...そしてJDKの場所を見つけます。

  3. このコマンドでkeytoolを実行します。keytool -list -v –keystore <your jks file path>(注:ディレクトリ名にスペースがある場合は、2つの単語の間に\を追加してください。例keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks

  4. コマンドパスワードを入力するように要求します。パスワードを入力してください。結果が表示されます。

0
wael

私と同じ問題を抱えている人々に通知を投稿したいと思いました。私は自分のデバッグSHA-1と私のリリースSHA-1を生成するための手順を実行しました。 GoogleサインインAPIを自分のアプリに接続しようとしました。

私はdebug .apkがうまく機能し、それがGoogle Sign-Inに接続して認証するという問題に遭遇しました。私のリリースの.apkは、電話に手動でインストールされたときにも動作します。リリース.apkをGoogle Playストアに投稿しても、Googleサインインが認証されず、問題が発生します。

最も長い間、私はそれを理解することができませんでした、しかし、私は私のアプリがグーグルによって署名されていたことを発見しました、すなわち、開発者コンソールの上のメッセージは示していました:Google Play Appこのアプリでは署名が有効になっています

私は自分のRelease Managementタブに行き、そしてApp Signingまでスクロールして、そこでSHA-1を見つけました。これを自分のコードに追加した後、Googleサインインのバックエンドとして使用していた「firebase console」ですべてがうまくいったようです。リリースキーストアがGoogleの署名付き証明書に置き換えられていたようです。これがどうなっているのかよくわかりませんが、問題が解決し、Google PlayストアリリースapkがGoogleサインで正しく認証されるようになりましたに!

0
Brandon

SHA-1 for ReleaseおよびDebugモードのAndroidスタジオgradleを入手する最も簡単な方法。 これをチェックしてください

0
Naeem Ibrahim