Настройка Eclipse для использования подписанного хранилища ключей

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

Теперь я полностью осведомлен о требовании экспортировать подписанный APK для выпуска, но что после этого? Мои мысли таковы, что для дальнейшей разработки и тестирования было бы проще всего, если бы я мог настроить Eclipse на использование моего конечного хранилища ключей вместо хранилища отладки... но я не нашел способа сделать это? Это позволяет мне настраивать "альтернативный" отладочный ключ, но я думаю, что это не то же самое.

Извините, если я слишком смущен, если я полностью ничего не понял.

Ответ 1

Мне удалось использовать свое хранилище ключей для Google Play в качестве моего настраиваемого хранилища отладки, чтобы помочь в отладке функциональных возможностей покупки приложений. То же самое, без сомнения, можно было бы применить и для отладки данных Google Maps.

Как Devunwired упомянул, есть оговорки. Но мое решение было следующим:

  • Скопируйте свой ключ релиза где-нибудь.
  • Измените пароль пароля ключа/ключа и ключевой псевдоним инструкции здесь (также, следуя рекомендациям Devunwired, чтобы они выглядели как отладка хранилище ключей).
  • Измените настройки Eclipse > Android > Сборкa > Пользовательская настройка хранилища ключей на путь копии, сделанной на шаге 1.
  • Готово!

Ответ 2

Вы можете настроить настраиваемое хранилище ключей для использования в своих отладочных сборках (те, которые происходят при нажатии кнопки "Выполнить..." ) в Eclipse, выбрав "Настройки" → Android → "Сборка" и введите имя файла в "Custom debug keystore".

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

  • Пароль хранилища ключей должен быть "андроид"
  • Он должен содержать ключ с именем "androiddebugkey"
  • Этот пароль должен быть "андроид"

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

НТН

Ответ 3

Для того, чтобы Eclipse автоматически подписывался для вас при развертывании, вам необходимо настроить хранилище ключей, которое ведет себя как хранилище отладки. Это означает, что должен быть "androiddebugkey", и оба ключа и пароль хранилища ключей должны быть "android" . Поэтому я бы рекомендовал следующее:

  • Сделайте копию своего хранилища ключей, я скопировал мой файл под названием iap.keystore
  • Откройте окно терминала/команды с помощью keytool на пути (для меня путь D:\NVPACK\jdk1.6.0_45\bin\keytool.exe) или используйте полный путь к keystore в приведенных ниже командах
  • Измените пароль своего хранилища ключей на "android" :
    • keytool -storepasswd -keystore iap.keystore
    • Следуйте инструкциям, чтобы ввести свой старый пароль хранилища ключей
    • Следуйте приглашению ввести android в качестве нового пароля
    • Следуйте подсказке, чтобы подтвердить android как пароль
  • Переименуйте свой ключ в androiddebugkey ( замените Old_Key_Store_Name на ваше текущее имя ключа в следующей команде)
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • Следуйте подсказке, чтобы ввести свой пароль хранилища ключей (который теперь находится andorid)
    • Следуйте подсказкам, чтобы ввести пароль Old_Key_Store_Name (это то, к чему у вас ранее был установлен пароль для ключа)
  • Измените пароль для androiddebugkey
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • Следуйте подсказке, чтобы ввести свой пароль хранилища ключей (который теперь находится andorid)
    • Следуйте инструкциям, чтобы ввести пароль androiddebugkey (это то, что вы ранее установили для своего пароля)
    • Следуйте приглашению ввести android в качестве нового пароля ключа
    • Следуйте подсказке для подтверждения android в качестве ключевого пароля
  • Теперь у вас есть хранилище ключей (с ключом), которое Eclipse может использовать для автоматического подписи строителей.
  • Загрузите Eclipse.
  • Окно → Настройки → Android → Сборка
  • Следуйте "Custom debug keystore", перейдите к файлу iap.keystore, который мы ранее создали.
  • OK

Теперь, когда вы запускаете/отлаживаете свой проект, он будет использовать хранилище ключей, которое мы только что создали, чтобы подписать ваш проект. Это позволит работать как IAP.

BEWARE: это удобно, но, конечно, если кто-то завладеет вашим iap.keystore, они смогут подписывать такие вещи, как вы, используя "android" в качестве пароля хранилища ключей/ключей. Надеюсь, это очевидно из перечисленных выше шагов, но просто возьмите секунду, чтобы оценить, что это означает для вас (или вашей компании). Затем, основываясь на этом, решайте, приемлемы ли риски, и если вам нужно предпринять какие-либо дополнительные меры для обеспечения безопасности этого файла.

Ответ 4

Мы устанавливаем пользовательское хранилище ключей для использования в наших отладочных сборках. Eclipse Перейти к настройкам → Android → Построить и ввести имя файла в "Пользовательское хранилище отладки".

Важно, когда мы создаем наше хранилище ключей для таможни eclipse.:

Пароль хранилища ключей должен быть "android" Он должен содержать ключ с именем "androiddebugkey" Этот ключевой пароль должен быть "андроид" Поэтому, несмотря на то, что вы можете подписать свои приложения в отладке с тем же хранилищем ключей, что и вы экспортируете, это требует, чтобы производственное хранилище ключей выглядело как хранилище отладки, что делает его менее безопасным, если кто-то получил чек, если файл (было бы проще для проверки и угадывания паролей).

если мы хотим изменить пароль хранилища ключей: $ keytool -storepasswd -keystore my.keystore

если мы хотим изменить пароль псевдонима keystore: $ keytool -keypasswd -keystore my.keystore -alias my_name

если мы хотим изменить псевдоним хранилища ключей: $ keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name

Vkj enter image description here

Ответ 5

Здесь приведены инструкции по преобразованию регулярного хранилища ключей в хранилище отладки: fooobar.com/questions/31936/...

Ответ 6

Вы можете ввести оба отладки и ваш выпуск SHA1 для одного и того же ключа Google API с помощью Google Developers Console (console.developers.google.com).

Таким образом, у вас будет тот же ключ API для обоих и больше не придется его менять в AndroidManifest.xml.

Ответ 7

У нас та же проблема некоторое время назад в нашем офисе. Поскольку нам это нужно довольно часто, мы написали простой script, чтобы упростить преобразование хранилищ ключей для отладки.

script доступен на https://github.com/IntellexApps/key2debug

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

ура!