私は 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のエクスポートウィザードを使用できません)。
最初にデバッグ証明書を使用できますか?
アプリのapkを作成してプロダクションキーを使用するためのエクスポートプロセスを開始します。最後のページに、SHA1とMD5の両方の証明書のフィンガープリントが表示されます。
私はこの質問に答えたことを知っていますが、これが私がデフォルトキーストアのための私の署名を見つけた方法です。 Eclipseでは、Windows - > Preferences - > Android - > Buildの順に選択します。
これは完璧に機能すると思います。私は同じを使った:
Android Studioの場合:
コマンドラインでこれを使う
c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
あなたが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
ターミナルを開く(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の両方のフィンガープリントが得られます。
keytool -list -v -keystore "keyStoreName"
アプリのキーストアが存在するディレクトリからこのコマンドを実行します。
あなたがあなたのAndroidアプリケーションでグーグルマップを使うためのGoogle Map
を生成するためにMD5
指紋が必要である時にあなたがその時にapi kay
を使いたいかどうか確かめてください。
Keytoolコマンドは、MD5
を使用するとJDK 1.6
フィンガープリントを生成し、SHA1
を使用するとJDK 1.7
フィンガープリントを生成します。
ですから、あなたが公開用にあなたのアプリケーションに署名したいのであれば、これを読んでください これ 。
そしてgoogle-map
read を使いたいのであれば、これ を使ってください。
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
...
がんばろう
Androidスタジオを使用している方なら...
クリック:ビルド> APKで署名を生成新しいキーを作成します。これにより、「。jks」ファイルが生成されます。
次のコマンドを使用してデータを読みます(SHA1およびその他の情報)。
$ keytool -list -v -keystore filename.jks
OpenSSLを使用している人は、このようにしてSHA1フィンガープリントを取得できます。
OpenSSL> dgst -sha1 my-release-key.keystore
これにより、次のような出力が得られます。
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を使用しています)
これを試してみてください:ウィンドウズ----設定----アンドロイド - ビルド---ここからsh1コードのコピー
私は初めて混乱しましたが、私はあなたにWindows用の最終的なワーキングソリューションを提案します:
1)cmdを開き、Java/jdk/binディレクトリに移動します(1つ前のフォルダに移動するにはcd ..
を、1つ前のフォルダに移動するにはcd NAME_FOLDER
を押します)、私の場合はファイナルフォルダ:C:\Program Files\Java\jdk1.8.0_73\bin>
2)今このコマンドを入力してくださいkeytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android
これが私の簡単な解決策です。
Gradle
ボタンをクリックすると、右側の上部に表示されます。あなたはすべてのgradleファイルを見るでしょう。それではAndroidに行き、signingReportをダブルクリックしてください。グラドルビルドが終了すると、SHAキーが表示されます。以下の画像をステップバイステップガイドで確認してください。
Gradleをクリックしたら、下の画像を確認してください。これが誰かに役立つことを願っています。
ステップ1:
ステップ2:
Mac/Linuxをお使いの場合は、端末に次の行を書き込むことでSHA1フィンガープリントを取得できます。
keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android
これ以降2つのことが可能です
パスワードを聞いてきます
ただタイプ
アンドロイド
enterキーを押すと、SHA1キーが以下の出力に表示されます。
それはあなたに適切なプログラムをダウンロードするように頼むでしょう(そしていくつかのリストが与えられるでしょう)
ターミナルでフォローするだけで入力
Sudo apt install openjdk-8-jre-headless
その後、ターミナルで次のコマンドを実行します。keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android
今回は、ステップ1に進みます。ここでは、パスワードを次のように入力するだけです。
アンドロイド
sHA1フィンガープリントが出力の下に表示されます。
これは完璧に機能すると思います。私は同じを使った:
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スタジオのビルドバリアントをリリースモードに変更します。
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を使うことができます。
portecle を使う:
これが怠惰なコーダーのためのツールです:
1依存関係を追加します。
compile 'com.vk:androidsdk:1.6.9'
2アクティビティ/アプリケーションのどこかに次の行を追加します。
String[] fingerprints = VKUtil.getCertificateFingerprint(this, getPackageName());
Log.d("SHA1", fingerprints[0]);
3 logcatを開き、メッセージを受け取ります。
4利益!
ステップバイステップソリューション:
ディレクトリをkeytoolファイルの場所のディレクトリに変更します。コマンドcd <directory path>
を使用してディレクトリを変更します。 (注:ディレクトリ名にスペースがある場合は、追加してください。 \ 二つの言葉の間。例cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/
)
あなたのキーツールの場所を見つけるためには、Androidスタジオに行きます。あなたのプロジェクトを開きます。そしてに行く
ファイル>プロジェクト構造> SDKの場所...そしてJDKの場所を見つけます。
このコマンドでkeytoolを実行します。keytool -list -v –keystore <your jks file path>
(注:ディレクトリ名にスペースがある場合は、2つの単語の間に\を追加してください。例keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks
)
コマンドパスワードを入力するように要求します。パスワードを入力してください。結果が表示されます。
私と同じ問題を抱えている人々に通知を投稿したいと思いました。私は自分のデバッグ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サインで正しく認証されるようになりましたに!
SHA-1 for ReleaseおよびDebugモードのAndroidスタジオgradleを入手する最も簡単な方法。 これをチェックしてください