Ответ 1
keytool
поставляется с Java SDK. Вы должны найти его в каталоге, который содержит javac
и т.д.
Я пытаюсь следовать учебному руководству по картированию 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.
Что я делаю неправильно?
keytool
поставляется с Java SDK. Вы должны найти его в каталоге, который содержит javac
и т.д.
Хорошо, поэтому этот пост с шести месяцев назад, но я думал, что добавлю какую-то информацию для людей, которые запутались в отношении всего API-интерфейса API/MD5. Мне потребовалось некоторое время, чтобы понять, так что я полагаю, что у других тоже были проблемы с этим (если только я не тупой).
Эти направления предназначены для Windows XP, но я думаю, что это похоже на другие версии Windows. Похоже, пользователям Mac и Linux легче работать с этим, поэтому я не буду их решать.
Итак, чтобы использовать карты в ваших приложениях для Android, Google хочет зарегистрироваться у них, чтобы вы могли подписаться на Соглашение об Условиях обслуживания Android Maps API. Я думаю, они не хотят, чтобы вы делали пошаговые GPS-приложения, чтобы конкурировать с ними или чем-то еще. Я действительно не читал. К сожалению.
Итак, перейдите в http://code.google.com/android/maps-api-signup.html и проверьте его. Они хотят, чтобы вы проверили поле "Я прочитал и соглашусь с условиями" и введите ваш сертификат MD5. Вы можете сказать это Wtf. Я не знаю, но просто делаю то, что говорю, и ваше приложение для Android не пострадает.
Перейдите в меню "Пуск" > "Выполнить" и введите cmd, чтобы открыть командную строку. Вам нужно перейти в каталог с файлом keytool.exe, который может находиться в несколько другом месте, в зависимости от установленной вами версии JDK. Mine находится в 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", и вам будет предложено ввести пароль. Просто нажмите enter. И вуаля, внизу - ваш отпечаток MD5. Введите свой отпечаток пальца в текстовое поле на странице регистрации Android Карт и нажмите "Создать ключ API".
И там ваш ключ во всей красе, с удобным образцом xml-макета с введенным вами ключом для копирования и вставки.
Хорошо, я сделал это в 32-битной системе Windows 7.
шаг 1: перейдите к - C:\Program Files\Java\jdk1.6.0_26\bin - и сначала запустите jarsigner.exe
step2: найдите debug.keystore, в моем случае это было - C:\Users\MyPcName \.android
step3: откройте командную строку и перейдите в каталог dir - C:\Program Files\Java\jdk1.6.0_26\bin и введите следующую команду: keytool -list -keystore "C:\Users\MyPcName \.android\debug.keystore"
step4: он будет запрашивать пароль Keystore. (который я выясняю...: -?)
update: ОК в моем случае пароль был "android".
- (Я использую Eclipse для Android, поэтому нашел его здесь)
Выполните шаги в eclipse: Windows > Настройки > Android > сборкa > ..
(Посмотрите в поле Default Debug Keystore.)
Команда для изменения пароля хранилища ключей (смотрите здесь): Изменять пароли хранилища
Ответ на 4 шага выше работал у меня, но он возвращает SH1-ключ... но Google просит ключ MD5 сгенерировать ваш ключ API.
Нужно просто добавить '-v' в команду на шаге 3. - например:
Обновленный четырехэтапный ответ
Хорошо, я сделал это в 32-разрядной системе Windows 7.
шаг 1: перейдите к - C:\Program Files\Java\jdk1.7.0\bin - и сначала запустите jarsigner.exe(двойной щелчок)
step2: найдите debug.keystore(в Eclipse: Windows/Preferences/Android/build..), в моем случае это было - C:\Users\MyPcName.android
step3: откройте командную строку и перейдите в каталог - C:\Program Files\Java\jdk1.7.0\bin и введите следующую команду: keytool -v - list -keystore "C:\Users\MyPcName.android\debug.keystore"
step4: он будет запрашивать пароль Keystore. По умолчанию используется "android"
Это выглядело намного сложнее, чем для 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
.
Фактически, экспорт eclipse вызовет
java -jar android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain
а затем вызовите команду com.android.sdklib.internal.build.SignedJarBuilder.
Одна вещь, которая не упоминалась здесь (но не позволяла мне вообще запускать keytool) заключалась в том, что вам нужно запустить Командную строку в качестве администратора.
Просто хотел поделиться им...
Не нужно использовать командную строку.
Если вы FILE- > "Экспорт приложений Android" в ADK, то это позволит вам создать ключ, а затем создать файл .apk.
Если вы используете Android Studio для Windows для создания хранилища ключей и подписанного .apk, выполните следующие действия:
1) Build > Сгенерировать подписанный APK
2) Выберите "Создать новый...", выберите путь к хранилищу ключей и введите все необходимые данные
3) После того, как ваше хранилище ключей (your_keystore_name.jks) было создано, вы затем будете использовать его для создания своего первого подписанного apk в выбранном вами месте.
Я не видел необходимости использовать командный инструмент, если у вас есть IDE, например Android Studio.