Подписание APK

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

Подписание APK

Сообщение mef1sto » 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 раз(а).
Изображение
Аватара пользователя
mef1sto
Игродел
Игродел
 
Сообщения: 2957
Зарегистрирован: 19 дек 2012
Откуда: Новый Уренгой

Re: Подписание APK для Google Play (Туториал)

Сообщение virusfun » 25 апр 2013, 09:31

Молодцом! Тоже в своем уроке сделал ссылку сюда=)
Пути геймдева неисповедимы!
Аватара пользователя
virusfun
Игродел
Игродел
 
Сообщения: 916
Зарегистрирован: 23 сен 2012
Откуда: Хабаровск
Двиг: Construct 2/3
Лицензия: Personal
VK: vk.com/virusfun

Re: Подписание APK для Google Play (Туториал)

Сообщение mef1sto » 25 апр 2013, 11:40

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


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

За то теперь и на душе полегчало и дальше работать можно спокойничком :scratch_one-s_head:
Изображение
Аватара пользователя
mef1sto
Игродел
Игродел
 
Сообщения: 2957
Зарегистрирован: 19 дек 2012
Откуда: Новый Уренгой

Re: Подписание APK для Google Play (Туториал)

Сообщение Sailer » 25 апр 2013, 15:12

mef1sto, маладцом!
Аватара пользователя
Sailer
Администратор
Администратор
 
Сообщения: 7330
Зарегистрирован: 05 сен 2012

Re: Подписание APK для Google Play (Туториал)

Сообщение Piponga » 26 апр 2013, 07:07

Зачет! :good2:
Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение
Аватара пользователя
Piponga
Игродел
Игродел
 
Сообщения: 1141
Зарегистрирован: 14 апр 2013
Откуда: Нижний Новгород

Re: Подписание APK для Google Play (По запросу в ЛС)

Сообщение Sailer » 27 апр 2013, 18:24

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

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

но дело твое конечно
Аватара пользователя
Sailer
Администратор
Администратор
 
Сообщения: 7330
Зарегистрирован: 05 сен 2012

Re: Подписание APK

Сообщение virusfun » 28 апр 2013, 02:27

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

А я не понял. Что случилось-то? Кого крякнули?
Пути геймдева неисповедимы!
Аватара пользователя
virusfun
Игродел
Игродел
 
Сообщения: 916
Зарегистрирован: 23 сен 2012
Откуда: Хабаровск
Двиг: Construct 2/3
Лицензия: Personal
VK: vk.com/virusfun

Re: Подписание APK

Сообщение mef1sto » 28 апр 2013, 09:49

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


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

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

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

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

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

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


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

Re: Подписание APK

Сообщение virusfun » 28 апр 2013, 09:59

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

Ну вот и правильно, вот и забей и не парься))) а статейку чистить не стоит! Вон, я же тоже сделал статью о том, как взломать CocoonJS логотипы, но это ни чем не поможет халявщикам.
Пути геймдева неисповедимы!
Аватара пользователя
virusfun
Игродел
Игродел
 
Сообщения: 916
Зарегистрирован: 23 сен 2012
Откуда: Хабаровск
Двиг: Construct 2/3
Лицензия: Personal
VK: vk.com/virusfun

Re: Подписание APK

Сообщение Sailer » 28 апр 2013, 12:19

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

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

все правильно :good:
по плюсу вам за здравомыслие))
Аватара пользователя
Sailer
Администратор
Администратор
 
Сообщения: 7330
Зарегистрирован: 05 сен 2012

След.

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

Пользователи онлайн

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

cron