开发者

How to find the MD5 fingerprint of my Android App

I'm trying to sign up for Android Google Maps and which requests MD5 fingerprint. How to get the fingerprint out of my application??

I开发者_如何学C'm newbie to keystore and couldn't understand a thing i find online. so simple instructions appreciated

Thanks in advance


You will be needing two keystores.

One for debug purpose and One for release purpose.

While you are developing your application via eclipse and debugging it on simulator or device. You will be needing debug keystores. Otherwise you will not be able to see the map. debug keystore is already present into your system.

Try finding them at

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

Open console/terminal on to the above location where debug.keystore file is present and execute

keytool -list -keystore debug.keystore

Output will be like (press simply enter when password is asked)

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$ 

Copy this MD5 fingerprint value and go to

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

You will get Map Keys On successful signup. Put those in the MapView Element of your view.

For release

You need to generate your own keystore and need to get Map keys for the same. else you will not be able to see map on deployment of your apk onto the device.

Create a new keystore of your own and follow the same procedure for the generated keystore. Its very easy to generate keystore also. I simply export my android application via eclipse and it then do everything by itself.

Hope it helps :)


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

If you follow this correctly, you should be able to get your MD5 fingerprint. There are instructions to both get your fingerprint at the time of signing as well as afterwards.

If you've signed already: You would first use your command prompt to navigate to your debug keystore in your automatically made profile android folder as described in the link. You would then paste this (without the dollar sign) and run it in your command prompt:

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

Otherwise, you can use your command prompt to navigate to your jarsigner in your Java SDK folder and use this:

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

After following the on prompt instructions, you should receive your MD5


Anyone coming here looking for the

MD5 or SHA1 for the YouTube OAuthAPI this is the command:

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

This cmd:

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

The default password for the debug.keystore is android

Taken from

YouTube API


Wow I would have never gotten it with the answers above, had to read a book tutorial which is CLEAR finally!

The filename of the debug keystore is debug.keystore. This is the certifi cate that Eclipse uses to sign your application so that it may be run on the Android Emulator or devices. Using the debug keystore, you need to extract its MD5 fi ngerprint using the Keytool.exe application included with your JDK installation. This fi ngerprint is needed to apply for the free Google Maps key.

You can usually find the Keytool.exe in the C:\Program Files\Java\\bin folder.

Issue the following command (see Figure 9-4) to extract the MD5 fi ngerprint: keytool.exe -list -alias androiddebugkey -keystore “C:\Users\.android\debug.keystore” -storepass android -keypass android


2015 Update:

Make sure your are currently in jdk/bin in your terminal

For Linux or OS X, open a terminal window and enter the following:

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

For Windows Vista and Windows 7, run:

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

If you are successful in above step you will get:

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


The following may be able to help you:

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

}


For Windows Users: If you have problems, make sure there are no other debug.keystore files around. I followed the instructions, but only managed to get it to work when I discovered my Eclipse installation was using a different debug.keystore located here:

android-sdk-windows.android

(not the one in my Windows User directory)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜