Как создать сертификат для моего Android Market APK?

Я хочу загрузить свой первый APK/app в Android Market, но я получил эту ошибку (что, кстати, не привело меня к правильной ссылке при поиске в stackoverflow).

Рынок не принимает apks, подписанный с сертификатом отладки. Создайте новый сертификат, действительный не менее 50 лет. Рынок требует, чтобы сертификат, используемый для подписи apk, действителен до 22 октября 2033 года. Создайте новый сертификат.

Хотя получается этот вопрос, парень просто говорит: "О, ты напомнил мне, как это сделать", не объясняя это. Я просмотрел веб-сайт, упомянутый в "ответе", но здесь моя проблема:

  • Я не знаю, где мой инструмент keytool. Android-сайт довольно расплывчато; Я не вижу "keytool" любого типа в моем каталоге.. \android-sdk-windows\tools.
  • Я думаю, что сделал это раньше, но мне жаль, что у меня не было такого набора шагов, как "Открой командную строку, перейдите в каталог, где keytool, введите команду" xyz -flagsforxyz ", а затем укажите на хранилище ключей из опции" export release apk "в Eclipse"... или что-то подобное.

Надеюсь, вы можете сказать, что я уже пробовал несколько вещей! Я мог бы просто игнорировать что-то простое - так что время для шагов записываться в stackoverflow! Спасибо за вашу помощь.

Ответ 1

Если вы используете Eclipse for Development, просто щелкните правой кнопкой мыши на своем проекте и нажмите "Экспорт". Теперь выберите Android, а затем Export Android Application. На следующем шаге подтвердите проект, который вы хотите экспортировать. Затем нажмите кнопку "Далее", и теперь вы сможете выбрать создание нового хранилища ключей. Теперь заполните необходимые поля, и вы должны будете подписать свое приложение. Обязательно создайте резервную копию файла хранилища ключей и запомните свой пароль. Потеря этого приведет к невозможности обновления вашего приложения.

Если вы используете терминал для создания хранилища ключей и у вас установлен Java SDK, должна быть программа под названием keytool в /usr/bin (в системе на основе unix). В Windows SDK также должен поставляться с keytool, но место установки может отличаться от поиска keytool.exe на вашем компьютере, если keytool уже не в вашем пути. С помощью этого инструмента вы сможете создать ключ следующим образом:

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

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

Ответ 2

Да, janusz объяснил это очень красиво, но я хотел бы сказать еще несколько шагов, прежде чем обедать App на рынок. поэтому первый шаг - подписать приложение с помощью jarsigner

jarsigner -verbose -keystore pkg_name apk_file_name key_name

а второй шаг - использовать zipalign, чтобы убедиться, что вы не теряете места.

zipalign -v 4 apk_file_name zipped_apk_file_name(newfile)

он, несомненно, поможет вам запустить приложение.