2014-11-20 4 views
24

Я пытаюсь получить отпечаток SHA1, чтобы получить ключ API Google. Im в следующем каталоге:Файл Keystore не существует

/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin

Затем я выполнить команду с сайта Google:

keytool -list -v -keystore mystore.keystore

Но это дает эту ошибку:

keytool error: java.lang.Exception: Keystore file does not exist: mystore.keystore 
java.lang.Exception: Keystore file does not exist: mystore.keystore 
    at sun.security.tools.keytool.Main.doCommands(Main.java:742) 
    at sun.security.tools.keytool.Main.run(Main.java:340) 
    at sun.security.tools.keytool.Main.main(Main.java:333) 

Я следовал за учебники, но я могу не получится! Кто-нибудь знает, что я делаю неправильно?

BTW: Я использую Macbook Pro с Xamarin Studio 5.5.2.

+0

Проблема может быть вы просто пытаетесь запустить команду копирования откуда-то и не зная, что на самом деле есть (что случилось со мной;)), как только вы знаете, где и что он ищет, возможно, вы получите ответ. – eRaisedToX

ответ

13

Вы сказали, что вы запускаете команду ...

/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin 

Ваш файл хранилища ключей в этом каталоге, а? Если нет, вам нужно указать путь к файлу хранилища ключей, например.

keytool -list -v -keystore ~/somefolder/mystore.keystore 

Используемое хранилище ключей должно использоваться для подписания приложения. Для отладочных сборников Xamarin это будет хранилище отладки, расположенное по адресу /Users/[USERNAME]/.local/share/Xamarin/Mono\ for\ Android/debug.keystore. Команда на OSX для этого было бы ...

keytool -list -v -keystore /Users/[USERNAME]/.local/share/Xamarin/Mono\ for\ Android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

Или на Windows 7

keytool -list -v -keystore C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore -alias androiddebugkey -storepass android -keypass android 
+1

Я не могу найти свое хранилище ключей, я не уверен, в каком каталоге он находится. – Bas

+1

Отпечаток, который вам нужен для ключа API Google, должен быть создан из хранилища ключей, которое используется для подписи вашего приложения. Для сборки отладки Xamarin используется отладочное хранилище отладки. Ваша команда для этого будет «keytool -list -v -keystore/Users/[USERNAME] /. Local/share/Xamarin/Mono \ for \ Android/debug.keystore -alias androiddebugkey -storepass android -keypass android', где [ USERNAME] - ваш пользователь Mac. –

+1

Я отредактировал свой ответ, чтобы включить мой комментарий. –

4

Пожалуйста, укажите полный путь к debug.keystore. Пример: C: /Users/myusername/.android/debug.keystore вместо ~/.android/debug.keystore

48

Linux & Mac команда

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

Даст вам SHA1, SHA256, MD5 для default debug key. И он может использоваться для разработки и отладки с помощью игровых сервисов Google.

Для сертификата публикации следуйте https://developer.android.com/studio/publish/app-signing.html

1

последнего обновлению для Mac & Ubuntu

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v 
1

Для моего случая debug.keystore генерируется после первого запуска приложения на Android студия

+0

О, это хороший момент, о котором я не думал. –

0

я нашел это руководство от teamtreehouse forum. надеюсь, это поможет вам.

1) Открыть Командная строка нажатием Пуск + R и набрав cmd.exe.

2) Использование Проводник Windows, найти, где ваш JDK каталог находится (обычно Program Files >> Java) и скопировать путь.

3) В Командная строка, введите cd, а затем каталог каталога bin вашего JDK. например: cd C: \ Program Files \ Java \ jdk1.8.0_25 \ bin - это команда, которую я использую (может отличаться).

4) Используя проводник Windows, найдите, где находится ваш .android-каталог (обычно под пользователем >>[YOUR WINDOWS USERNAME]) и скопируйте путь.

5) Теперь, используйте следующую команду ниже:

keytool -exportcert -alias androiddebugkey -keystore[PATH_TO_.ANDROID_DIRECTORY] -list -v 

Замена [PATH_TO_.ANDROID_DIRECTORY] с пути, который вы скопировали. Обратите внимание, что вы должны запускать эту команду в командной строке терминала/командной строки в вашем каталоге bin JDK (это вы сделали на шаге 3).

Шахта C:\Program Files\Java\jdk1.8.0_121\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Users\HoSiLuan\.android\debug.keystore -list -v

Не забывайте использовать C:\Users\HoSiLuan\.android\debug.keystore вместо ~/.android\debug.keystore. У меня все еще есть ошибка, когда тип сокращается.

После этого вам будет предложено ввести пароль как обычный, который вы можете ввести (пароль - андроид). После этого вы увидите список сертификатов, напечатанных на экране.

+0

Я сделал именно то, что вы сказали, и я до сих пор получаю сообщение «файл не существует» ... –

1

я столкнулась с той же проблемы, но решить с помощью следующей команды:

keytool -exportcert -keystore C:\Users\<USERNAME>\.android\debug.keystore -list -v 

ОС: Windows 7