Как я могу создать хранилище ключей?

371

Каковы шаги по созданию хранилища ключей для android (в среде затмения)? Мне нужно использовать карты Google в моем приложении, и я не знаю, какие шаги я пропустил. Пожалуйста, предоставьте мне подробные инструкции (я не понял это из руководства).

  • 0
    Вы уже что-нибудь сделали или ищете рекомендации для начала?
  • 2
    Это следующие шаги, которые я сделал: 1 - установить eclipse 2 - установить jdk 3 - установить sdk 4 - установить плагин для Android. Мне не удалось выполнить команду в win cmd, команду: $ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 (который генерирует закрытый ключ). Спасибо
Показать ещё 6 комментариев
Теги:
keystore

10 ответов

403

Чтобы ответить на вопрос в названии, вы создаете хранилище ключей с помощью утилиты Java Keytool, которая поставляется с любым стандартным дистрибутивом JDK и может быть расположена в %JAVA_HOME%\bin. В Windows это обычно будет C:\Program Files\Java\jre7\bin.

Итак, в Windows откройте окно команд и переключитесь на этот каталог и введите команду, подобную этой

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool предлагает вам предоставить пароли для хранилища ключей, предоставить поля Distinguished Name и пароль для вашего ключа. Затем он генерирует хранилище ключей в виде файла с именем my-release-key.keystore в каталоге, в котором вы находитесь. Хранилище ключей и ключ защищены паролями, которые вы ввели. Хранилище ключей содержит один ключ, действительный в течение 10000 дней. Псевдоним - это имя, которое вы будете использовать позже, чтобы ссылаться на это хранилище ключей при подписании вашего приложения.

Дополнительные сведения о Keytool см. в документации по адресу: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

и более подробную информацию о подписании приложений для Android можно найти здесь: http://developer.android.com/tools/publishing/app-signing.html

  • 5
    Хороший крик при определении -keysize 2048, а не по умолчанию 1024 лично Я сейчас использую 4096
  • 7
    для информации, в моем случае, мне нужно открыть окно командной строки с правами администратора
Показать ещё 5 комментариев
120

Подписывание вашего приложения в Android Studio

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

1- В строке меню нажмите "Сборка" > "Сгенерировать подписанный APK".


2. В окне "Создать подпись APK" нажмите "Создать новый", чтобы создать новое хранилище ключей. Если у вас уже есть хранилище ключей, перейдите к шагу 4.


3- В окне нового хранилища ключей укажите требуемую информацию, как показано на рисунке Ваш ключ должен быть действителен в течение как минимум 25 лет, поэтому вы можете подписывать обновления приложений одним и тем же ключом на протяжении всего срока действия вашего приложения.

Изображение 3244

4- В окне Generate Signed APK Wizard выберите хранилище ключей, закрытый ключ и введите пароли для обоих. Затем нажмите "Далее". Изображение 3245

5- В следующем окне выберите пункт назначения для подписанного APK и нажмите "Готово". Изображение 3246

Referance

http://developer.android.com/tools/publishing/app-signing.html

66

Я был сумасшедшим, глядя, как генерировать.keystore, используя в оболочке одну строку, поэтому я мог запускать ее из другого приложения. Это способ:

echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
  • dname - уникальный идентификатор приложения в.keystore

    • cn полное имя человека или организации, которая генерирует.keystore
    • ou Организационная единица, которая создает проект, его подразделение Организации, которое его создает. Ex. android.google.com
    • o Владелец организации всего проекта. Ее более высокий, чем сфера НУ. Пример: google.com
    • c Короткий код страны. Пример: для Соединенных Штатов Америки "США"
  • alias Идентификатор приложения как единого объекта внутри.keystore (его может быть много)

  • keypass Пароль для защиты этого конкретного псевдонима.
  • keystore Path, где должен быть создан файл.keystore (стандартное расширение фактически .ks)
  • Храните пароль для защиты всего содержимого.
  • Действительность В течение нескольких дней приложение будет действительным с этим.keystore

Он работал очень хорошо для меня, он не просил ничего в консоли, просто создает файл. Для получения дополнительной информации см. Keytool - Инструмент управления ключами и сертификатами.

  • 0
    Я получаю -storepass команда не найдена
  • 0
    У меня никогда не было такой ошибки, но попробуйте сделать touch /path/file.keystore и указать это параметром storepass.
Показать ещё 3 комментария
48

Создайте файл хранилища ключей из командной строки:

  1. Открыть Командная строка:

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved
    
    // (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
    
    C:\Windows\system32>keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
    
  2. Enter> Он подскажет вам пароль> введите пароль (он будет невидимым)

    Enter keystore password:
    Re-enter new password:
    
  3. Enter> Он спросит вашу деталь.

    What is your first and last name?
     [Unknown]:  [Your Name/Name of Signer] {AB}
    What is the name of your organizational unit?
     [Unknown]:  [Your Unit Name] {Self}
    What is the name of your organization?
     [Unknown]:  [Your Organisation Name] {Self}
    What is the name of your City or Locality?
     [Unknown]:  [Your City Name] {INDORE}
    What is the name of your State or Province?
     [Unknown]:  [Your State] {MP}
    What is the two-letter country code for this unit?
     [Unknown]:  91
    
  4. Enter> Enter y

    Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
    [no]:  y
    
  5. Enter> Введите пароль еще раз.

    Generating 2,048 bit RSA key pair and self-signed certificate    (SHA256withRSA) with a validity of 10,000 days
        for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
    Enter key password for <index>
        (RETURN if same as keystore password):
    Re-enter new password:
    

    [Сохранение C: /index.keystore]

  6. И ваши СОВЕРШЕНО !!!

Экспорт в Eclipse:

Экспорт вашего пакета android в.apk с созданным файлом хранилища ключей

  1. Щелкните правой кнопкой мыши Пакет, который вы хотите экспортировать, и выберите экспорт Изображение 3247

  2. Выберите "Экспорт приложений для Android"> "Далее" Изображение 3248

  3. следующий
    Изображение 3249

  4. Выберите "Использовать существующий Keystore"> "Обзор".> Файл>> введите пароль> Далее Изображение 3250

  5. Выберите "Псевдоним"> "Введите пароль"> "Следующий" Изображение 3251

  6. Обзор Назначение APK> Закончить Изображение 3252

В Android Studio:

Создайте [.keystore/.jks] в студии...

  1. Нажмите "Создать" (ALT + B)> "Создать подписанный APK...".
    Изображение 3253

  2. Нажмите "Создать новый". (ALT + C)
    Изображение 3254

  3. Просмотр пути к хранилищу ключей (SHIFT + ВВОД)> Выберите Путь> Введите имя> OK Изображение 3255

  4. Заполните подробные сведения о .jks/keystore keystore Изображение 3256

  5. следующий
    Изображение 3257

  6. Ваш файл
    Изображение 3258

  7. Введите мастер-пароль мастера (вы можете СБРОСИТЬ, если вы не знаете) > OK Изображение 3259

  8. Выберите * Папка назначения *> Тип сборки

      release : for publish on app store
      debug : for debugging your application
    

    Нажмите Готово

    Изображение 3260

Готово !!!

28

Этот учебник:

http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html

был очень полезен для меня в первый раз, когда мне пришлось создать хранилище ключей. Это просто, но инструкции на developer.android.com немного коротки.

Часть, о которой я не знал, была где сохранить и какое имя дать файл keystore.

Мне кажется, что неважно, где вы его положили, просто не забудьте сохранить его в безопасности и сохранить несколько резервных копий. Я просто поместил его в каталог приложений

Назовите файл "something.keystore", где что-то может быть любым, что вы хотите. Я использовал app_name.keystore, где имя_приложения было именем моего приложения.

В следующей части было указано имя псевдонима. Опять же, похоже, это не так важно. Я снова использовал app_name. Храните пароли такими же, как и раньше. Заполните остальные поля, и все готово.

10

Я выполнил это руководство, чтобы создать хранилище отладки.

Команда:

keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
5

Используйте эту команду для создания debug.keystore

keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
3

Прежде всего, нужно знать, что вы находитесь в режиме отладки или выпуска. С сайта разработчика "Есть два режима сборки: режим отладки и режим выпуска. Вы используете режим отладки при разработке и тестировании своего приложения. Вы используете режим выпуска, когда хотите создать версию своего приложения, которую вы можете распространять напрямую пользователям или публиковать на рынке приложений, таких как Google Play."

Если вы находитесь в режиме отладки, вы делаете следующее...
A. Откройте терминал и введите:

keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v

Примечание. Для Eclipse хранилище отладки обычно находится в ~/.android/debug.keystore...

В. при запросе пароля просто введите "android"...

С. Если вы находитесь в режиме деблокирования, следуйте инструкциям на...

http://developer.android.com/tools/publishing/app-signing.html < - эта ссылка в значительной степени объясняет все, что вам нужно знать.

1

Вы можете создать хранилище ключей, экспортировав подписанный APK. Когда вы попытаетесь экспортировать/построить подписанный APK, он попросит создать хранилище ключей.

Вы можете выбрать существующее хранилище ключей, или вы можете легко создать новый, щелкнув по созданию нового хранилища ключей

Здесь ссылка очень полезна и хорошо объясняется, как создать хранилище ключей и создать подписанный APK

В этой ссылке объясняется, как это сделать с Android Studio, но если я помню, это очень похоже на Eclipse

ПРОСМОТР

Как только вы создадите хранилище ключей, держите его где-то в безопасности, потому что он понадобится для восстановления нового подписанного APK.

Как экспортировать проект в студию Android?

0

Для создания приложения apk на студии Android следуйте ниже ссылки: http://www.techotopia.com/index.php/Generating_a_Signed_Release_APK_File_in_Android_Studio

Ещё вопросы

Сообщество Overcoder
Наверх
Меню