Подписываем Release APK для Cordova

20 сентября, 2015
1 минута чтения

Разрабатывая на Cordova часто всё идёт не так: то плагин неправильно поставится, то конфиг слетит, а то и обновленный node.js законфликтует, и ничего, зараза, не хочет запускать. Но так или иначе, гибридная разработка уже нашла своих приверженцев и имеет достаточно плюсов, чтобы смириться с мелочами. Ниже расскажу как подписать APK релизным ключом для публикации в маркете.

Генерация ключа

Screenshot%2Bfrom%2B2015 09 20%2B01 32 10
Подписываем приложение Android Studio Release APK

Создать ключ с помощью командной строки можно следующей командой: 

keytool -genkey -v -keystore test_key.jks -alias release -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000

Или сделать гуишно:

  • Установить Android Studio
  • Создать в ней нативный тестовый проект
  • Перейти в закладку «Build / Generate Signed APK»
  • Нажать «Create new» 
  • Заполнить все поля и сгенерировать в «release»
Screenshot%2Bfrom%2B2015 09 20%2B01 37 49
Для примера я использую ключ с именем «test_key.jks»

Сохраните созданный файл ключа в надежном месте

Если вы его потеряете ключ к опубликованному приложению — обновление в маркете сделать не сможете.

Компиляция проекта

Если вы используете Ionic или чистейшую Cordova последовательность будет выглядеть так:

1) Добавляем платформу Android (если ещё не добавили)

2) Устанавливаем cordova плагины

cordova prepare

3) Инкрементируем версию проекта в config.xml в теге widget

cordova build android --release

4) Вместо test_key.jks набираем имя своего файла ключа, вместо android — имя alias:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore test_key.jks platforms/android/build/outputs/apk/android-release-unsigned.apk android

5) Вводим пароль, указанный при генерации ключа

6) Запаковываем в новый APK: 

zipalign -v 4 platforms/android/build/outputs/apk/android-release-unsigned.apk platforms/android/build/outputs/apk/test.apk

Настройка Google Play Developer Console

Тут всё делается относительно ваших текущих задач на основе многочисленных руководств. Вкратце, я рекомендую делать следующее:

  • Создать новое приложение в разделе «All Applications»
  • Перейти в APK и залить билд, например, в Alpha

Зайти в https://console.developers.google.com/project где создать новое приложение.

  • В разделе APIs & auth включить необходимые API 

Если используете Play Services включите следующие:

Google Play Game Management, Google Play Game Services, Google+ API.

  • Теперь перейти в https://play.google.com/apps/publish в раздел Game Services
  • Прикрепить созданную прежде игру
  • В разделе Linked apps создать ссылку на Android
  • В Package name выбрать ссылку на своё творение вида: com.company.app. Сохранить
  • Кликнуть на кнопку Authorize your app now

Если SHA1 автоматически записался — все хорошо. Иначе вы где-то накосячили и придется начинать заново.

  • Нажать Confirm и ждать

Если успешно сохранилось — значит все настройки правильны и можно ставить пакет на устройство. Если произошла какая-то ошибка, лучшее что я могу подсказать — это удалить проект полностью и начать с самого сначала 🙂

Не забывайте удалять приложения с обеих консолей google. Например у меня была ошибка «An unexpected error occurred. Please try again later. (4800004)», которая возникает, если приложение было удалено на console.developers.google.com, но почему-то осталось на play.google.com/apps/publish.

На этом всё. Тратье время на решение задач, а не на войну с конфигами. 

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Добавить комментарий Отменить ответ

ubuntu
Предыдущая статья

8 месяцев на ноутбуке с Ubuntu Linux

cocos creator
Следующая статья

Поклацал Cocos Creator, делюсь впечатлениями

Exit mobile version