Подтвердить что ты не робот

Почему я должен подписывать APK приложения до выпуска

Кто-нибудь может сообщить, какая именно важность подписания APK перед выпуском.

4b9b3361

Ответ 1

Из Android-документации для подписки на приложения:

Система Android требует, чтобы все установленные приложения были с цифровой подписью с сертификатом, чей закрытый ключ хранится в разработчик приложений. Система Android использует сертификат как средства идентификации автора заявки и установления доверительные отношения между приложениями. Сертификат не используется для управления приложениями, которые пользователь может установить. Сертификат не должен подписываться центром сертификации: он отлично допустимый и типичный для приложений Android для самозавершения сертификаты.

Важные моменты для понимания подписи приложений для Android являются:

  • Все приложения должны быть подписаны. Система не будет устанавливать приложение на эмулятор или устройство, если оно не подписано.
  • Чтобы протестировать и отладить ваше приложение, инструменты сборки подписывают ваше приложение с помощью специального ключа отладки, который создается Android Инструменты сборки SDK.
  • Когда вы готовы выпустить приложение для конечных пользователей, вы должны подписать его с помощью подходящего закрытого ключа. Вы не можете публиковать приложение, подписанное с помощью отладочного ключа, сгенерированного SDK инструменты.
  • Вы можете использовать самоподписанные сертификаты для подписи своих приложений. Отсутствует сертификат.
  • Система проверяет срок действия сертификата подписчика только во время установки. Если сертификат подписывателя приложения истекает после приложение установлено, приложение будет продолжать функционировать в обычном режиме.
  • Вы можете использовать стандартные инструменты - Keytool и Jarsigner - для генерации ключей и подписывания файлов приложений .apk.
  • После того, как вы подписываете заявку на выпуск, мы рекомендуем использовать инструмент zipalign для оптимизации окончательного пакета APK.

Система Android не будет устанавливать или запускать приложение, которое не является подписанный надлежащим образом. Это применимо везде, где запущена система Android, будь то на самом устройстве или на эмуляторе. По этой причине вы необходимо настроить подписку для своего приложения, прежде чем вы сможете запустить его или отлаживать его на эмуляторе или устройстве

Почему это означает:

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

В целом рекомендуемая стратегия для всех разработчиков заключается в подписании всех ваших приложений с тем же сертификатом на протяжении всего ожидаемый срок службы ваших приложений. Существует несколько причин, почему вы должны сделать это:

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

  • Модульность приложения. Система Android позволяет приложениям, подписанным одним и тем же сертификатом, работать в одном и том же процессе, если приложения так требуют, чтобы система рассматривала их как одно приложение. Таким образом, вы можете развернуть свое приложение в модули и пользователи могут обновлять каждый из модулей независимо, если необходимо.

  • Обмен кодами/данными через разрешения. Система Android обеспечивает принудительное выполнение разрешений на основе сигнатур, чтобы приложение может предоставить функциональность другому приложению, которое подписанный с указанным сертификатом. Подписывая несколько приложений с тем же сертификатом и с использованием разрешений на основе подписи проверки, ваши приложения могут безопасно использовать код и данные.

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

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

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

  • Если вы планируете публиковать свои приложения в Google Play, ключ, который вы используете для подписания приложения (ов), должен иметь завершающий период действия после 22 октября 2033 года. Google Play применяет это требование для обеспечения пользователи могут легко обновлять приложения, когда новые версии доступны.