Android: Публікація додатка в Google Play

  1. Крок перший. Він найскладніший
  2. v2 Full APK
  3. Крок другий. Треба, Федя, надо
  4. Крок третій. Зі щасливим кінцем
  5. Шукає міліція, шукають пожежні
  6. Де гроші, Зін
  7. Відкрити сторінку додатка в Google Play
  8. просування
  9. автоматичне оновлення
  10. Стежимо за відгуками
  11. Міняємо паролі сховища і псевдоніма ключа
  12. Підписуємо готове додаток
  13. Зберігання ключів у Гугла
  14. додаткове читання

Стаття проплачена кішками - всесвітньо відомими виробниками кошенят.

Якщо стаття вам сподобалася, то можете підтримати проект .

Відкрити сторінку додатка в Google Play

У статті присутні скріншоти, коли магазин додатків називався "Android Market". Вже виросло покоління котів, які ніколи не чули про цю назву. Але загальний принцип не змінився. Залишив для історії. Я не можу заново пройти реєстрацію, щоб зробити нові скріншоти.

Отже, за 30 днів ви навчилися створювати власні додатки. Пора поділитися ними з усім світом і отримати заповітний мільйон на блюдечку з блакитною облямівкою.

Так як ми хвилюємося, то потренуємося на кішках. Візьмемо, наприклад, приклад зі статті пишемо довідник і спробуємо викласти його в Google Play. Якщо все вийде, то далі буде простіше.

Перш ніж приступати до подальших операцій, переконайтеся, що у вас готові власні значки для додатків і назва програми. Буде дуже дивно побачити в магазині додатків програму зі стандартним позначкою і назвою "HelloWorld". А також перевірте всі записи у файлі маніфесту.

Крок перший. Він найскладніший

Будь-який додаток, викладаємо в магазин, повинно мати підписаний сертифікат. Сертифікат дозволяє ідентифікувати вас як автора програми. І якщо хтось спробує викласти програму з таким же ім'ям як у вас, то йому буде відмовлено через конфлікт імен. Під ім'ям програми мається на увазі повна назва пакета.

Коли ви запускали свої додатки на емуляторі або своєму телефоні, то середовище розробки автоматично підписувала програму налагоджувальний сертифікатом. Для поширення через магазин оцінний сертифікат не підходить, і вам потрібно підписати додаток своїм унікальним сертифікатом. Це безкоштовно, без реєстрації та смс.

Створимо підписаний APK-файл, який є щось типу виконуваним файлом як notepad.exe в Windows. Якщо у вас відкрита середовище розробки Android Studio, то виберіть в меню Build | Generate Signed APK ....

З'явиться діалогове вікно майстра, яке необхідно заповнити даними.

З'явиться діалогове вікно майстра, яке необхідно заповнити даними

У першому полі слід вказати шлях до сховища ключів. Якщо вам раніше доводилося створювати програми раніше, в тому числі і в Eclipse, то можете вказати вже існуюче сховище через кнопку Choose existing .... Якщо ви створюєте сховище перший раз, то вибирайте кнопку Create new .... З'явиться нове діалогове вікно.

У першому полі Key store path потрібно вибрати папку через кнопку ... і ввести ім'я для файлу з сховищем, яким буде присвоєно розширення jks.

Далі ви повернетеся назад і продовжуєте заповнювати поля. Поля Password і Confirm в поясненні не потребують.

Тепер створюєте ключ для програми. В поле Alias (Псевдонім) вводите зрозуміле вам і котам назву ключа. Не обов'язково створювати псевдонім для кожної програми, можете використовувати один псевдонім для своїх додатків і окремих псевдонімів для додатків під замовлення.

Для ключа також потрібно створити пароль і підтвердити його.

Ключ розрахований на 25 років. Поле Validity (years) залишаємо без змін (якщо у вас немає вагомих причин в зворотному).

Наостанок заповнюєте дані про себе.

Заповнивши поля, ви повернемося до самого першого вікна майстра.

Натискаємо на кнопку Next і в наступному вікні вводимо ще один пароль для доступу до бази паролів.

Можливо, цього кроку у вас не буде. Він може з'явитися, якщо ви ставите галочку напроти опцію "Запам'ятати пароль". Подробиць не пам'ятаю, розберетеся самі.

Останній крок - натиснути кнопку Finish.

Останній крок - натиснути кнопку Finish

Раніше це був останній крок. Зараз з'явилися нові прапорці V1 (Jar Signature) і V2 (Full APK Signature). Відзначте як мінімум перший варіант V1 - це відповідає старому способу. Другий спосіб вважається більш надійним в плані злому і його можна використовувати для пізніх API, на ваш розсуд (див. Нижче).

В результаті складних маніпуляцій з діалоговими вікнами у вас з'явиться довгоочікуваний APK - ваша краса, яка відкриє двері у світ багатства і щастя.

Натиснувши кнопку Show in Explorer, ви запустите Провідник на вашому комп'ютері з папкою, в якій знаходиться підписаний файл.

Будьте обережні зі створеним ключем. Саме він є гарантією, що нова версія програми написана вами. Тому, якщо ви втратите створений ключ, вам доведеться викладати програму під іншим ім'ям з новим ключем.

У студії передбачений режим автоматичного створення підписаного додатки. Клацніть правою кнопкою миші на папці app і в контекстом меню виберіть пункт Open Module Settings. Виберіть розділ app в секції Modules. Виберіть вкладку Signing. Натискаєте на кнопку з плюсом і заповнюєте поля.

Переходьте на вкладку Build Types і вибираєте збірку release. У випадаючому списку Signing Config вибираєте тільки що створену конфігурацію. За умовчанням вона має ім'я config.

Натискаємо OK для збереження результатів.

Підписувати додатки можна і через командний рядок без участі студії, якщо ви збоченець. Можете почитати в документацію на цю тему .

v2 Full APK

У 2017 році Google трохи змінила процес підписання. Тепер існують дві схеми отримання підпису APK: v1 JAR і v2 Full APK.

Підпис v1 (який існував з самого початку) не захищає деякі частини APK, такі як метадані ZIP. Верификатор APK повинен обробляти безліч ненадійних структур даних, а потім відкидати дані, які не підписані, що надає великий простір для атаки. Крім того, верифікатор APK повинен розпакувати всі стислі записи, що витрачає багато часу і пам'яті. Для вирішення проблем була розроблена нова версія v2 Full APK, яку ви зустрінете під час підписання вашої програми.

Схема v2 працює в Android 7.0 Nougat (API 25). Схема забезпечує швидшу установку програми та хороший захист від несанкціонованих змін в APK. Вміст APK хешіруется і підписується, потім отриманий блок підпису APK вставляється в APK.

Новий формат сумісний, тому APK, підписані новою схемою, можуть бути встановлені на попередніх моделях пристроїв (які будуть просто ігнорувати нову підпис), якщо ці APK також підписані схемою v1.

У старих додатках я залишаю прапорець у першій версії. Можливо, пізніше змусять переходити на другу версію примусово. Важливо враховувати, що підписувати схемою v1 потрібно до підписання схемою v2, оскільки APK не пройде перевірку за схемою v2, якщо він буде підписаний додатковими сертифікатами після підписання схемою v2.

Строго кажучи, ви можете apk-файл викласти у себе на сайті, і всі ваші відвідувачі можуть його скачати і встановити на телефон. Але це якось несолідно в наше століття нанотехнологій. Тому переходимо до наступного кроку.

Крок другий. Треба, Федя, надо

Наступний крок дуже неприємний. Вам потрібно подарувати 25 вічнозелених чужій людині. Щоб вам було не так прикро, дану операцію назвали реєстраційним внеском. Вам знадобиться кредитна картка з вказаною сумою. Врахуйте, що Visa Electron, а вже тим більше дисконтна картка мережі магазинів "Перекресток" вам не підійдуть. Якщо у вас вже є потрібна картка, то пропускаєте цей абзац. Іншим можу порадити завести QIWI-гаманець і там завести віртуальну картку. Саме так я і вчинив, так як йти в банк і писати всякі заяви було неохота.

йдемо на сторінку розробників , Заповнюємо необхідні поля і розлучаємося з потрібною сумою. Якщо операція пройде успішно, то ви зможете просунутися далі. У моєму випадку мені двічі відмовляли, тому що я поскупився і поклав на картку меншу суму, ніж було потрібно (не врахував комісію). Якщо ви пізніше доповіли необхідну суму, то не чекайте, що її автоматично у вас спишуть. Знову зайдіть на сторінку розробника і відредагуйте дані про картку (потрібно ще раз написати код безпеки).

Знову зайдіть на сторінку розробника і відредагуйте дані про картку (потрібно ще раз написати код безпеки)

Крок третій. Зі щасливим кінцем

Якщо платіж пройшов успішно, то посилання на наступний крок буде доступна і ви потрапляєте в спеціальний особистий кабінет, де можете додавати свої додатки.

Весь інтерфейс російською. Тому труднощів у вас не виникне. Заливаємо підготовлений APK-файл, а також необхідні картинки-скріншоти і значок.

Для свого першого додатка я не став заморочуватися, а зробив все на швидку руку.



У процесі додавання програми ви можете видаляти картинки і файл додатка, знову їх заливати і знову видаляти. Іноді можна натискати на кнопку Зберегти. Якщо ви зробите щось не так, то на сторінці з'являться попереджувальні написи. Якщо таких написів немає, то можете сміливо натискати на кнопку Опублікувати. Усе! Ваше додаток доступний всьому світу. За вами вже виїхали.

Нещодавно в Google Play Developer Console додали можливість тестування додатків серед певних користувачів. Якщо раніше ви завантажували свій додаток і воно відразу ставало доступним всім, то тепер додані два проміжних кроку.

При завантаженні нової версії додатка вам потрібно вибрати розділ:

  • АЛЬФА-ТЕСТУВАННЯ
  • Бета-ТЕСТУВАННЯ
  • РОБОЧА ВЕРСІЯ

Якщо ви завантажили додаток до розділу Альфа-тестування, то потім можете перевести його в бета-тестування або відразу в Робочу версію. Відповідно, з бета-тестування можна перевести відразу в Робочу версію. Назад не можна.

Якщо програма знаходиться в стадії тестування, то воно є тільки тестерам, інші користувач не зможуть знайти вашу програму ні через пошук, ні за прямим посиланням.

Вам слід створити спеціальне співтовариство в Google+ (вказується в налаштуваннях програми) і запросити туди потрібних людей. Довірені особи зможуть потім перейти по посиланню play.google.com/apps/testing/com.yourdomain.package.

Шукає міліція, шукають пожежні

Коли ви публікуєте свою програму, то вона відразу потрапляє в магазин додатків без всякої модерації. Але знайти її буде там не просто. Навіть пошук по магазину вам не допоможе. Потрібно якийсь час, щоб дані в магазині оновилися і пошуковий робот помітив вашу програму. Але я допоможу вам безкоштовним радою, як швидко знайти свою програму в Google Play. А все дуже просто. Згадайте ім'я вашого пакета, який використовувався при створенні програми - він і є ключем до розгадки. Заходимо на сайт і вбиваємо потрібну адресу із зазначенням пакета в якості ID:

https://play.google.com/store/apps/details?id=ru.alexanderklimov.crib

І ви відразу опинитеся в потрібному місці і можете роздати посилання своїм друзям. Останнім часом додавання / оновлення програми відбувається досить повільно. Тому не варто відразу шукати свою програму, почекайте пару годин.

Де гроші, Зін

Який ви швидкий, однако. Є два способи заробляння грошей на своєму додатку. Або треба зареєструватися як продавець, або як учасник рекламної мережі AdMob.

Відкрити сторінку додатка в Google Play

Користувачі скачують додаток і забувають віддячити розробника. Треба акуратно йому нагадати про громадянський обов'язок - поставити вищу оцінку вашій програмі. Додаєте кнопку з текстом Оцініть наш додаток і пишете невеликий код:

Intent intent = new Intent (Intent.ACTION_VIEW); intent.setData (Uri.parse ( "market: // details? id = ru.alexanderklimov.crib")); startActivity (intent);

Врахуйте, що на емуляторі код не спрацює, тому що в ньому не встановлено програму Google Play. А поки можете зайти через телефон за вказаною адресою і подякувати мене. Коти вам скажуть Дякую! .

просування

На сторінці https://play.google.com/intl/ru_ru/badges/ на вкладці Badge Generator ви можете вказати необхідні параметри, що формують код для кнопки-банери, який потім можете використовувати в своєму блозі або інших місцях. Наприклад, так:

автоматичне оновлення

Якщо ви створили нову версію програми, виправивши різні баги і додавши нові фотографії кота, то вам потрібно в маніфесті збільшити на одиницю номер версії (атрибут versionCode) і замінити versionName для себе (буде показана на сторінці Google Play). В останніх версіях студії дані властивості знаходяться тепер не в маніфесті, а в файлі build.gradle модуля вашого застосування. Закачайте нову версію Android у Google Play і користувачі отримають оновлення в автоматичному режимі.

Стежимо за відгуками

Встановіть на своєму пристрої додаток Google Play Developer Console , Щоб не пропустити новий відгук на вашу програму. Також ви можете переглядати статистику.

Міняємо паролі сховища і псевдоніма ключа

Чи не довелося користуватися за кілька років, тому не знаю, чи є актуальною дана інформація.

Припустимо, ви продали свою програму з кодами іншої компанії. Щоб вона могла викладати поновлення програми, компанія повинна підписувати додаток тим же ключем, яким підписували ви. Інакше програма буде вважатися інший і доведеться міняти назву пакета. Але тоді старі користувачі не зможуть отримати оновлення.

Але якщо ви все свої програми підписуєте одним і тим же ключем і паролем, наприклад cat cat, то компанія може підписати цим же ключем і інші ваші додатки, розмістивши свої програми з таким же ім'ям пакета, і ви нікому нічого не доведете.

Тому вам потрібно подбати про зміну ключа для передачі новому власнику.

Припустимо наше сховище має структуру:

Ім'я сховища (keystore): old.keystore Пароль від сховища: cat1 Ім'я користувача: my_alias Пароль від псеводніма: cat2

Зробіть копію вашого сховища і збережіть його в іншому місці. Це треба було зробити ще при першому створенні, тому що при втраті сховища ви не зможете відновити доступ до своїх програм при оновленні.

Зробіть копію вашого сховища ще раз і перейменуйте його, наприклад, new.keystore. З ним і будемо працювати.

Далі вам потрібно змінити пароль сховища, змінити псевдонім і змінити пароль псевдоніма. Отриманий файл передати новому власнику.

Запускаємо утиліту keytool з командою:

keytool -storepasswd -keystore new.keystore

Вам буде запропоновано ввести поточний пароль, а потім ввести новий пароль та повторити його. Приблизно так:

Enter keystore password: New keystore password: Re-enter new keystore password:

Перша частина завдання виконана, пароль від сховища змінений.

Якщо ви хочете також змінити і пароль від псевдоніма, то знову запускаємо утиліту з командою:

keytool -keypasswd -keystore new.keystore -alias my_name

Вас попросять ввести поточний пароль від сховища (ваш новий пароль), потім пароль для псевдоніма. Ви можете ввести новий пароль і він замінить старий пароль.

Enter keystore password: Enter key password for <my_alias>

Пароль від псевдоніма змінений.

Якщо зміни пароля вам недостатньо і ви хочете змінити ім'я псевдоніма (може ви використовували ім'я улюбленої кішки, навіщо іншим про це знати), то продовжуємо роботу.

Запускаємо команду:

keytool -changealias -keystore new.keystore -alias my_alias -destalias my_new_alias

Вас попросять ввести пароль від сховища, потім пароль для нового псевдоніма (поточний пароль), потім новий пароль і повторити його. Ім'я псевдоніма буде змінено.

Отже, нам знадобилося три кроки, щоб створити нове сховище і псевдонім для передачі чужій людині. Новий власник повинен виконати те ж саме, щоб бути впевненим, що ви не скористаєтеся зміненим файлів в своїх цілях. Втім, це вже його проблеми.

Підписуємо готове додаток

Такий випадок може появитися, коли у вас загублені вихідні і є тільки APK. Швидше за все це актуально для піратів, які перепідписувалися інші додатка (не робіть так з чужими програмами).

Спочатку поміняйте розширення з apk на zip. В архіві видаліть папку META-INF. Відновіть розширення. Ви видалили стару підпис.

Тепер потрібно підписати додаток новим ключем. Введіть команду.

jarsigner -keystore keystore-file.jks -storepass keystore_password -keypass alias_password --signedjar signed-apk-file.apk apk-file.apk alias_name

В успішному випадку отримаєте повідомлення, що додаток підписано. Далі виконуємо ще одну команду.

ANDROID_SDK_PATH / build-tools / LAST_BUILD_TOOLS_VERSION / zipalign -v 4 signed-apk-file.apk aligned-apk-file.apk

В результаті повинен вийти APK-файл, підписаний новим ключем. Сам жодного разу не застосовував.

Зберігання ключів у Гугла

У 2017 році Google додав нову можливість зберігати ключі в хмарному храніліше. Основна відмінність полягає в тому, що ви підписуєте додаток спеціальним ключем завантаження, який Google перевіряє і видаляє, замінюючи його оригінальним ключем підпису додатка, який ви надали.

З його допомогою можна управляти ключами підпису додатків як для нових, так і для опублікованих додатків, які будуть зберігатися у Google в їх власному сховище ключів. Щоб приєднатися до цієї програми, необхідно підписатися на неї в своїй Google Play Console. Варто відзначити, що відписатися від неї вже буде неможливо.

Такий спосіб дуже корисний - при втраті сховища ключів Google Play App Signing дозволить скинути ключ для установки нового. Вам не доведеться публікувати додаток повторно з новим ім'ям пакета і ключем.

Як управляти ключами підпису додатків - Довідка - Play Console

додаткове читання

Android-keystore-password-recover by MaxCamillo - якщо ви втратили пароль, то спробуйте скористатися даним інструментом. Сам не користувався, тому розповідати не буду.

Реклама

Com/store/apps/details?
Market: // details?