Как найти отпечаток MD5 моего приложения для Android - PullRequest
12 голосов
/ 24 июня 2011

Я пытаюсь подписаться на Android Карты Google и который запрашивает отпечаток MD5. Как получить отпечаток пальца из моего приложения ??

Я новичок в хранилище ключей и не могу понять, что я могу найти в Интернете. такие простые инструкции оценили

Заранее спасибо

Ответы [ 7 ]

24 голосов
/ 24 июня 2011

Вам понадобятся два хранилища ключей.

Один для цели отладки и Один для цели выпуска.

Пока вы разрабатываете свое приложение с помощью 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

Вывод будет похож (нажмите просто введите, когда будет запрошен пароль)

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 вашего вида.

Для выпуска

Вам необходимо создать собственный склад ключей и получить ключи Map для него.иначе вы не сможете увидеть карту при развертывании вашего apk на устройстве.

Создайте собственное новое хранилище ключей и следуйте той же процедуре для сгенерированного хранилища ключей.Также очень легко создать хранилище ключей.Я просто экспортирую свое приложение для Android через Eclipse, и оно все делает само.

Надеюсь, это поможет :)

6 голосов
/ 24 июня 2011

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

В противном случае вы можете использовать командную строку, чтобы перейти к вашему jarsigner в папке Java SDK и использовать это:

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

После выполнения инструкций, вы должны получить свой MD5

5 голосов
/ 09 октября 2012

Любой, кто приходит сюда в поисках

MD5 или SHA1 для YouTube OAuthAPI это команда:

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

Этот cmd:

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

Пароль по умолчанию для debug.keystore - android

Взято из

API YouTube

2 голосов
/ 10 августа 2011

Ничего себе, я бы никогда не получил его с ответами выше, мне пришлось бы прочитать учебное пособие, наконец, CLEAR!

Имя файла хранилища ключей отладки - debug.keystore.Это сертификат, который Eclipse использует для подписи вашего приложения, чтобы оно могло работать на эмуляторе Android или на устройствах.Используя хранилище ключей отладки, вам нужно извлечь его отпечаток MD5, используя приложение Keytool.exe, входящее в комплект установки JDK.Этот отпечаток необходим для получения бесплатного ключа Google Maps.

Обычно вы можете найти 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

0 голосов
/ 04 августа 2015

2015 Обновление:

Убедитесь, что вы находитесь в jdk/bin в своем терминале

Для Linux или OS X откройте окно терминала и введите следующее:

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

Для Windows Vista и Windows 7 запустите:

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 голосов
/ 02 августа 2013

Для пользователей Windows: если у вас есть проблемы, убедитесь, что вокруг нет никаких других файлов debug.keystore.Я следовал инструкциям, но смог заставить его работать, только когда обнаружил, что моя установка Eclipse использует другое хранилище debug.keys, расположенное здесь:

android-sdk-windows.android

(нетот, что в моем каталоге пользователя Windows)

0 голосов
/ 24 июня 2011

Вам может помочь следующее:

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

}
...