web-dev-qa-db-ja.com

私のAndroidアプリのMD5フィンガープリントを見つける方法

Android Google Mapsにサインアップしようとしていますが、MD5フィンガープリントを要求します。アプリケーションからフィンガープリントを取得するにはどうすればよいですか?

私はキーストアの初心者で、オンラインで見つけたものを理解できませんでした。とても簡単な指示がありがたい

前もって感謝します

12
Jay Mayu

2つのキーストアが必要になります。

1つはデバッグ用、もう1つはリリース用です。

Eclipseを介してアプリケーションを開発し、シミュレーターまたはデバイスでデバッグしている間。デバッグキーストアが必要になります。そうしないと、地図を見ることができません。デバッグキーストアはすでにシステムに存在しています。

でそれらを見つけてみてください

Windows Vista: C:\Users\<user>\.Android\debug.keystore

Windows XP: C:\Documents and Settings\<user>\.Android\debug.keystore

OS X and Linux: ~/.Android/debug.keystore

Debug.keystoreファイルが存在する上記の場所でコンソール/ターミナルを開き、実行します

keytool -list -keystore debug.keystore

出力は次のようになります(パスワードを尋ねられたらEnterキーを押すだけです)

rohit@Desktop:~/.Android$ keytool -list -keystore debug.keystore
Enter keystore password:  

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: JKS
Keystore provider: Sun

Your keystore contains 1 entry

androiddebugkey, 19 Apr, 2011, PrivateKeyEntry, 
Certificate fingerprint (MD5): 00:35:C2:48:65:43:CG:55:41:11:16:F1:4C:11:82:C5
rohit@Desktop:~/.Android$ 

このMD5フィンガープリント値をコピーして、

http://code.google.com/Android/maps-api-signup.html

サインアップが成功すると、マップキーを取得します。それらをビューのMapView要素に配置します。

リリース用

独自のキーストアを生成し、そのキーストアのマップキーを取得する必要があります。そうしないと、apkをデバイスにデプロイしたときにマップを表示できなくなります。

独自の新しいキーストアを作成し、生成されたキーストアに対して同じ手順に従います。キーストアの生成も非常に簡単です。 AndroidアプリケーションをEclipse経由でエクスポートするだけで、すべてが自動的に実行されます。

それが役に立てば幸い :)

24
Javanator

http://code.google.com/Android/add-ons/google-apis/mapkey.html#getfingerprint

これに正しく従えば、MD5フィンガープリントを取得できるはずです。署名時と署名後の両方で指紋を取得するための手順があります。

すでに署名している場合:最初にコマンドプロンプトを使用して、リンクで説明されているように、自動的に作成されたプロファイルAndroidフォルダー内のデバッグキーストアに移動します。次に、これを貼り付けます(ドル記号)を実行し、コマンドプロンプトで実行します。

$ keytool -list -alias androiddebugkey -keystore <path_to_debug_keystore>.keystore \
-storepass Android -keypass Android

それ以外の場合は、コマンドプロンプトを使用して、Java SDKフォルダー内のjarsignerに移動し、次を使用できます。

$ keytool -list -alias alias_name -keystore my-release-key.keystore

プロンプトの指示に従った後、MD5を受け取るはずです

6
rawreth

ここに来て

YouTubeOAuthAPIのMD5またはSHA1これは次のコマンドです。

Windows Vista: C:\Users\<user>\.Android\debug.keystore

Windows XP: C:\Documents and Settings\<user>\.Android\debug.keystore

OS X and Linux: ~/.Android/debug.keystore

このコマンド:

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

Debug.keystoreのデフォルトのパスワードはAndroidです

から取得

YouTube API

5
Blundell

うわー、私は上記の答えでそれを得ることができなかったでしょう、最終的にクリアである本のチュートリアルを読まなければなりませんでした!

デバッグキーストアのファイル名はdebug.keystoreです。これは、Eclipseがアプリケーションに署名してAndroidエミュレーターまたはデバイスで実行できるようにするために使用する証明書です。デバッグキーストアを使用して、Keytoolを使用してMD5フィンガープリントを抽出する必要があります。 JDKインストールに含まれている.exeアプリケーション。この指紋は、無料のGoogleマップキーを申請するために必要です。

通常、Keytool.exeはC:\ Program Files\Java \\ binフォルダーにあります。

次のコマンド(図9-4を参照)を発行して、MD5フィンガープリントを抽出します。keytool.exe-list-alias androiddebugkey -keystore“ C:\ Users\.Android\debug.keystore” -storepass Android -keypass Android

2
Smints

以下はあなたを助けることができるかもしれません:

public String convert(String str){
        String a=null;
         char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 
                  'a', 'b', 'c', 'd', 'e', 'f' }; 
        try {
            a=new   String(str.getBytes("ISO8859_1"),"UTF-8");
            byte[] strTemp = str.getBytes(); 
            MessageDigest mdTemp = MessageDigest.getInstance("MD5"); 
               mdTemp.update(strTemp); 
               byte[] md = mdTemp.digest(); 
               int j = md.length; 
               char str1[] = new char[j * 2]; 
               int k = 0; 
               for (int i = 0; i < j; i++) { 
                byte b = md[i]; 
                //System.out.println((int)b);  
                str1[k++] = hexDigits[b >> 4 & 0xf]; 
                str1[k++] = hexDigits[b & 0xf]; 
               } 


        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
 return new String(str1); 

}
0
SharpT

2015年の更新:

現在、ターミナルのjdk/binにいることを確認してください

LinuxまたはOSXの場合、ターミナルウィンドウを開き、次のように入力します。

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

WindowsVistaおよびWindows7の場合、以下を実行します。

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

上記の手順で成功すると、次のようになります。

Alias name: androiddebugkey
Creation date: Jan 01, 2013
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: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
0
neferpitou

Windowsユーザーの場合:問題が発生した場合は、他にdebug.keystoreファイルがないことを確認してください。私は指示に従いましたが、Eclipseのインストールが次の場所にある別のdebug.keystoreを使用していることを発見したときにのみ、それを機能させることができました。

Android-sdk-windows.Android

(私のWindowsユーザーディレクトリにあるものではありません)

0
EPagePete