Я не могу найти Android Keytool


265

Я пытаюсь следовать руководству по сопоставлению Android и попал в эту часть, где мне нужно было получить ключ API .

Я нашел свой, debug.keystoreно keytoolв каталоге нет приложения:

C:\Documents and Settings\tward\\.android>ls
adb_usb.ini      avd       debug.keystore  repositories.cfg androidtool.cfg  ddms.cfg  default.keyset

Также нет keytoolв этом каталоге:

C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll     apkbuilder.bat       etc1tool.exe         mksdcard.exe
AdbWinUsbApi.dll  ddms.bat             fastboot.exe         source.properties
Jet               dmtracedump.exe      hierarchyviewer.bat  sqlite3.exe
NOTICE.txt        draw9patch.bat       hprof-conv.exe       traceview.bat
adb.exe           emulator.exe         layoutopt.bat        zipalign.exe
android.bat       emulator_NOTICE.txt  lib

Я использую Eclipse в качестве редактора и считаю, что я скачал все последние SDK.

Что я делаю не так?


12
Отлично. Разместил мой второй вопрос, и я получил «Tumbleweed» за мой первый значок !!! Пожалуйста, издевайтесь надо мной мягко :-)
Тим

офигенно, вы нашли способ получить релиз SHA1 на windows
Pankaj Nimgade

Ответы:


441

keytoolпоставляется с Java SDK. Вы должны найти его в каталоге, который содержит javacи т. Д.


153
Понял: C: \ Program Files \ Java \ jdk1.6.0_14 \ bin Спасибо
Тим

5
могу даже найти его в JRE ... Спасибо
Nick.T

4
Полезный трюк - сохранить вывод в файл, чтобы вы могли получить ключ. Просто добавьте это в конце:> somefilename.txt
Attaque

3
В C: \ Program Files \ Java \ jdk1.7.0_79 \ bin
Жан-Франсуа,

18
Мой был в C:\Program Files\Android\Android Studio\jre\bin(Используя Студию, не Затмение)
Тим Кринс

99

Итак, это сообщение от полугодовой давности, но я подумал, что хотел бы добавить сюда некоторую информацию для людей, которые запутались во всем бизнесе ключей API / отпечатков пальцев MD5. Мне потребовалось некоторое время, чтобы понять, поэтому я предполагаю, что у других тоже были проблемы с этим (если я не такой скучный).

Эти указания относятся к Windows XP, но я думаю, что она аналогична для других версий Windows. Похоже, пользователям Mac и Linux легче с этим, поэтому я не буду их решать.

Поэтому, чтобы использовать просмотры карт в своих приложениях для Android, Google хочет проверить их, чтобы вы могли подписать соглашение об условиях использования API Карт Google. Я думаю, что они не хотят, чтобы вы делали какие-либо пошаговые GPS-приложения, чтобы конкурировать с их или что-то в этом роде. Я действительно не читал это. К сожалению.

Так что перейдите на http://code.google.com/android/maps-api-signup.html и проверьте его. Они хотят, чтобы вы отметили поле «Я прочитал и согласен с условиями» и введите отпечаток MD5 вашего сертификата. Wtf это, вы могли бы сказать. Я не знаю, но просто делайте то, что я говорю, и ваше Android-приложение не пострадает.

Перейдите в Пуск> Выполнить и введите cmd, чтобы открыть командную строку. Вам нужно перейти к каталогу с файлом keytool.exe, который может находиться в немного другом месте в зависимости от установленной версии JDK. Мой находится в, C:\Program Files\Java\jdk1.6.0_21\binно попробуйте перейти к папке Java и посмотреть, какая у вас версия и изменить путь соответственно.

После перехода к C: \ Program Files \ Java \ <"ваша версия JDK здесь"> \ bin в командной строке введите

keytool -list -keystore "C:/Documents and Settings/<"your user name here">/.android/debug.keystore"

с цитатами. Конечно, <"ваше имя пользователя здесь"> будет вашим собственным именем пользователя Windows.

(Если у вас возникают проблемы с поиском этого пути и вы используете Eclipse, вы можете проверить «Окно»> «Настройки»> «Android»> «Сборка» и проверить «Склад ключей отладки по умолчанию»).

Нажмите ввод, и он попросит вас ввести пароль. Просто нажмите Enter. И вуаля, в нижней части находится ваш отпечаток MD5. Введите свой отпечаток пальца в текстовое поле на странице регистрации API Карт Android и нажмите «Создать ключ API».

И есть ваш ключ во всей красе, с удобным образцом XML-макета с введенным вами ключом для копирования и вставки.


Вы спасли меня от головной боли или двух
zabawaba99

Разве это не должно быть обратной косой чертой вместо прямой косой черты в Windows?
Райан R

К вашему сведению, если вы используете jdk1.7, добавьте модификатор-v
Ryan R

Больше людей должны объяснять, как вы!
К - Токсичность в СО растет.

@malfunction, есть ли способ получить SHA1 для сборки релиза на windows
Pankaj Nimgade

17

Хорошо, я сделал это в Windows 7 32-битной системе.

Шаг 1 : перейдите в - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin - и сначала запустите jarsigner.exe (двойной щелчок)

step2 : найдите debug.keystore, в моем случае это было - C: \ Users \ MyPcName \ .android

шаг 3 : откройте командную строку и перейдите в каталог dir - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin и введите следующую команду: keytool -list -keystore "C: \ Users \ MyPcName \ .android \ debug.keystore"

Шаг 4 : он запросит пароль Keystore сейчас. (что я выясняю ...: -?)

обновление: ОК, в моем случае пароль был «android». - (Я использую Eclipse для Android, поэтому я нашел его здесь) Следуйте инструкциям в eclipse : Windows> настройки> android> build> ..
(посмотрите в поле `default Debug Keystore´ .)



Команда для изменения пароля хранилища ключей (смотрите здесь): хранилище ключей меняет пароли




10

Приведенный выше четырехэтапный ответ сработал для меня, но он возвращает ключ SH1 ... но Google запрашивает ключ MD5 для генерации ключа API.

Нужно просто добавить '-v' в команду на шаге 3. -подобно так:

Обновленный 4-х шаговый ответ

Хорошо, я сделал это в Windows 7 32-битной системе.

Шаг 1 : перейдите в - C: \ Program Files \ Java \ jdk1.7.0 \ bin - и сначала запустите jarsigner.exe (двойной щелчок)

Шаг 2 : найдите debug.keystore (в Eclipse: Windows / Preferences / Android / build ..), в моем случае это было - C: \ Users \ MyPcName.android

шаг 3 : откройте командную строку и перейдите в каталог dir - C: \ Program Files \ Java \ jdk1.7.0 \ bin и введите следующую команду: keytool -v -list -keystore "C: \ Users \ MyPcName.android \ debug.keystore"

Шаг 4 : он запросит пароль Keystore сейчас. По умолчанию используется Android


6

Я никогда не устанавливал Java, но когда вы устанавливаете Android Studio, она имеет свою собственную версию в каталоге Android. Здесь находится моя шахта. Ваш путь может быть похожим. После этого вы можете поместить keytool в свой путь или просто запустить его из этого каталога.

C:\Program Files\Android\Android Studio\jre\bin

2

Это казалось гораздо труднее найти, чем нужно для OSX. Слишком много противоречивых постов

Для MAC OSX Mavericks Java JDK 7 выполните следующие действия, чтобы найти 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.


2

Если вы используете Android Studio для Windows для создания хранилища ключей релиза и подписанного .apk, просто выполните следующие действия:

1) Построить> Создать подписанный APK

2) Выберите «Создать новый ...», выберите путь к хранилищу ключей и введите все необходимые данные.

3) После того, как ваше хранилище ключей (your_keystore_name.jks) было создано, вы будете использовать его для создания вашего первого подписанного apk в месте назначения по вашему выбору

Я не видел необходимости использовать командный инструмент, если у вас есть IDE, такая как Android Studio.


возможно для использования, чтобы обнаружить отпечаток пальца SHA1?
Iyas

0

На самом деле, экспорт затмения вызовет

java -jar android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain

и затем вызовите com.android.sdklib.internal.build.SignedJarBuilder.


0

Одна вещь, которая здесь не упоминалась (но не позволяла мне запускать keytool в целом), заключалась в том, что вам нужно запустить командную строку от имени администратора.

Просто хотел поделиться этим ...


Вероятно, это должен быть комментарий, а не ответ.
Ян Р. О'Брайен

1
Я согласен, что должен быть комментарий, хотя это неудача, у вас недостаточно представителя, чтобы комментировать!
Джоэл Балмер

0

Не нужно использовать командную строку.

Если вы запустите FILE-> «Экспорт приложения Android» в ADK, то это позволит вам создать ключ, а затем создать файл .apk.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.