Подписание APK

уроки, мануалы, советы по Construct 2

Сообщение Подписание APK
» 25 апр 2013, 08:29

Доброго времени суток, господа :bye:
Наверное каждый из нас когда-либо задумывался о том, как неплохо было бы запилить свою собственную игру на Андроид и опубликовать её в Google Play, срубить миллионы и уехать доживать свои дни куда-нибудь на острова с блэкджеком и ... :mocking:

Владельцы персональных/бизнес лицензий Construct 2 имеют возможность экспортировать свои проекты для компиляции через CocoonJS - бесплатный конвертер HTML5 -> APK (подробнее об этом можно прочитать в этой теме: http://c2community.ru/forum/viewtopic.php?f=4&t=444)

На выходе, после компиляции, к нам на почту приходит архив. в архиве содержаться 2 APK файла:

1) gamename_debug_signed.apk - файл подписаный стандартной отладочной лицензией, действующий ровно год (спустя год установить его на устройства не получится, но уже установленная до того момента игра работать все равно будет). Его можно устанавливать на свои аппараты, давать друзьям, раскидать по торрентам, но в Google Play опубликовать не получится.

2) gamename_release_unsigned.apk - это релизный, не подписанный файл для публикации в Google Play. Но без подписи оного, его нельзя ни установить, ни загрузить в маркет, ни похвастаться перед бабушкой.

1) ПО для работы:
Для процедуры подписи APK файла нам понадобится: ANDROID SDK, Java Development Kit и командная строка(консоль)

2) Подготовка:
Подготовим поле боя, дабы в дальнейшем не отвлекаться на мелочи и заниматься делом:

- Создайте папку Android в корневом каталоге диска С (C:\Android\)
- Поместите в эту папку ваш gamename_release_unsigned.apk
- Переименуйте его: gamename_release.akp (так будет проще и понятней)

3) Создание ключа для подписи:
Чтобы подписать приложение, для начала нам нужно создать собственно сам ключ, которым мы и будем его(приложение) подписывать. В этом нам поможет утилита keytool в составе пакета JDK.
Посему находим папку Java\jdkx.xx.xx\bin (по умолчанию находится в Program Files). Удерживая SHIFT, правой кнопкой мыши кликаем на папку BIN и выбераем "Открыть окно команд"

Командной строке вводим следующее(по аналогии, не в тупую):
keytool -genkey -v -keystore C:\Android\gamename.keystore -alias gamename -keyalg RSA -keysize 2048 -validity 10000 жмем Enter, вводим пароль, и свои данные по запросу.
 
Изображение


Чего это мы собствонно наделали? Мы создали уникальный ключ для подписи нашего приложения, длительностью на 25 лет(поправте, если ошибаюсь), который теперь находится в папке C:\Android\

4) Подписываем нашим ключем готовое приложение:

Итак, у нас есть Готовый ключ и в папке лежит готовое приложение, которое нужно им подписать. В этом нам поможет так же встроенная в JDK утилита jarsigner
В очередной раз(если вышли с консоли) зажав SHIFT, правой кнопкой мыши кликаем по папке BIN и вызываем консоль. Вводим команду jarsigner -verbose -keystore C:\Android\gamename.keystore C:\Android\gamename_release.apk gamename
 
Для JDK7
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore path.keystore patch.apk name

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

Если все прошло без ошибок - принимайте мои поздравления - приложение успешно подписано! Но Для загрузки в Google Play его нужно еще и выровнять.

5) Выравнивание вашего приложения:
Для сего действия нам понадобится Android SDK. А точнее утилита zipalign, идущая в его составе.
Находим папку: SDK\tools\(в новых версиях Android SDK файл zipalign может лежать в ином месте - ищите через поиск и дальнейшие действия совершайте с папкой в которой находится zipalign), с зажатым SHIFT кликаем по ней правой кнопкой мыши, чем вновь вызываем консоль.
Вводим команду: zipalign -v 4 C:\Android\gamename_release.apk C:\Android\gamename_release001.apk
 
Изображение
Изображение


Если все прошло без ошибок(сравнитесь со скриншотами), значит выравнивание протекло успешно и в папке C:\Android\ создано новое, выровненное приложение gamename_release001.apk, которое можно закидывать на Google Play. Но для начала нужно проверить, все ли прошло успешно.

6) Проверка вашего приложения:
Для проверки нам понадобится все та же утилита JDK - jarsigner в папке Java\jdkx.xx.xx\BIN
Вызываем консоль и вписываем команду: jarsigner -verify -verbose C:\Android\gamename_release001.apk , жмем ENTER и, если все хорошо, лицезреем:
 
Изображение
Изображение


Поздравляю! Можно отправлять прямиком в Google Play. :good2:
 
Изображение



Весь материал собран по кускам с кучи разных источников, так что это полу-перевод, полу-додумал сам, но в конечном итоге большую лепту внес stevo301103 с форума Scirra.com, за что ему большие спасибы :bye:
Последний раз редактировалось mef1sto 29 сен 2014, 06:59, всего редактировалось 6 раз(а).
Изображение
Аватара пользователя

Модератор
Сообщений: 2957
Я тут с 19 дек 2012
Откуда: Новый Уренгой
Репутация 301 [ ? ]

Сообщение Re: Подписание APK для Google Play (Туториал)
» 25 апр 2013, 09:31

Молодцом! Тоже в своем уроке сделал ссылку сюда=)
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 893
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 127 [ ? ]

Сообщение Re: Подписание APK для Google Play (Туториал)
» 25 апр 2013, 11:40

virusfun писал(а):Молодцом!


Я до последнего пальцы скрещеными держал, опять ждал ошибку ключа при заброске в Google Play (после 7 неудачных попыток то) :shok: :shok: :shok: :shout:

За то теперь и на душе полегчало и дальше работать можно спокойничком :scratch_one-s_head:
Изображение
Аватара пользователя

Модератор
Сообщений: 2957
Я тут с 19 дек 2012
Откуда: Новый Уренгой
Репутация 301 [ ? ]

Сообщение Re: Подписание APK для Google Play (Туториал)
» 25 апр 2013, 15:12

mef1sto, маладцом!
Аватара пользователя

Администратор
Сообщений: 5642
Я тут с 05 сен 2012
Двиг: Construct2
Лицензия: Personal
Skype: c2community
VK: gabrielsailergray
Репутация 374 [ ? ]


Сообщение Re: Подписание APK для Google Play (По запросу в ЛС)
» 27 апр 2013, 18:24

mef1sto писал(а):Из-за наплыва нищебродов с крякнутыми версиями статья любезно предоставляется по запросу в ЛС :help:

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

но дело твое конечно
Аватара пользователя

Администратор
Сообщений: 5642
Я тут с 05 сен 2012
Двиг: Construct2
Лицензия: Personal
Skype: c2community
VK: gabrielsailergray
Репутация 374 [ ? ]

Сообщение Re: Подписание APK
» 28 апр 2013, 02:27

Sailer писал(а):Из-за наплыва нищебродов с крякнутыми версиями

А я не понял. Что случилось-то? Кого крякнули?
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 893
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 127 [ ? ]

Сообщение Re: Подписание APK
» 28 апр 2013, 09:49

virusfun писал(а):А я не понял. Что случилось-то? Кого крякнули?


Да, на 4пда увидел комменты в обсуждении С2:

Всегда есть... так сказать "незаконные методы", которые и рекламку уберут, и логотипы, и т.п.

Кстати, как убрать логотип Cocoon при загрузке на Android'е? (да, я сейчас скачал ломаную, для ознакомления)

Я скряга и мне жалко тратит 3к...

А вот статья про подписывания для маркета. (Ура-ура и все дела. Без лицензии.)

это для пиратов была статья.


Нищебродный наш народ... вот и подчтстил статейку, ну да ладно - пусть пользуются на свой страх и риск, все-равно до маркета дойдет 1% из всех попыток и то из того процента навряд ли у кого-то будет больше 100 скачиваний. Ибо если человеку жалко 3р на лицензию, то он не потратится ни на графику, ни на музыку, ни на свое время, чтоб сделать качественную игру, не говоря уже о лицензии гугл-разработчика :bye: .
Изображение
Аватара пользователя

Модератор
Сообщений: 2957
Я тут с 19 дек 2012
Откуда: Новый Уренгой
Репутация 301 [ ? ]

Сообщение Re: Подписание APK
» 28 апр 2013, 09:59

mef1sto писал(а):Ибо если человеку жалко 3р на лицензию, то он не потратится ни на графику, ни на музыку, ни на свое время, чтоб сделать качественную игру, не говоря уже о лицензии гугл-разработчика .

Ну вот и правильно, вот и забей и не парься))) а статейку чистить не стоит! Вон, я же тоже сделал статью о том, как взломать CocoonJS логотипы, но это ни чем не поможет халявщикам.
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 893
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 127 [ ? ]

Сообщение Re: Подписание APK
» 28 апр 2013, 12:19

mef1sto писал(а):пусть пользуются на свой страх и риск, все-равно до маркета дойдет 1% из всех попыток и то из того процента навряд ли у кого-то будет больше 100 скачиваний. Ибо если человеку жалко 3р на лицензию, то он не потратится ни на графику, ни на музыку, ни на свое время, чтоб сделать качественную игру, не говоря уже о лицензии гугл-разработчика :bye: .

virusfun писал(а):я же тоже сделал статью о том, как взломать CocoonJS логотипы, но это ни чем не поможет халявщикам.

все правильно :good:
по плюсу вам за здравомыслие))
Аватара пользователя

Администратор
Сообщений: 5642
Я тут с 05 сен 2012
Двиг: Construct2
Лицензия: Personal
Skype: c2community
VK: gabrielsailergray
Репутация 374 [ ? ]



Вернуться в Уроки по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх