Я не могу найти 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и т. Д.

CommonsWare
источник
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

fmak114
источник
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.

wired00
источник
2

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

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

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

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

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

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

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

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

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

diyism
источник
0

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

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

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

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

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

Лоуренс Чернин
источник