Введение / Зачем это нужно
Подпись APK защищает ваше приложение от модификации и позволяет устанавливать его на устройства без Google Play. В этом руководстве вы быстро научитесь подписывать APK с помощью Android Studio — даже если раньше никогда этого не делали.
Требования / Подготовка
- Android Studio (версия 2023.2 или выше)
- JDK 17 (или более новая версия)
- Android SDK Build‑Tools 34.0.0
- Файл Keystore (
.keystoreили.jks) с паролем - Текущая версия Android Gradle Plugin 8.0.0
Если у вас ещё нет Keystore, вы создадите его в первом шаге.
Шаг 1: Создайте или выберите Keystore
Если у вас ещё нет файла ключа, откройте File → Project Structure → Credentials → New Keystore и следуйте мастеру. Заполните поля: имя, пароль, срок действия, имя владельца. Сохраните файл .keystore. Если файл уже есть, просто запомните пароль.
Шаг 2: Настройте параметры подписи модуля
В Android Studio откройте app/src/main/gradle.properties и добавьте конфигурацию signing‑config. Создайте файл keystore.properties со своими данными (без указания пути к файлу). Затем проверьте, что signing‑config отображается в Build → Build Bundle(s) / APK(s) → Build APK.
Шаг 3: Соберите подписанный APK
Выберите в меню Build → Build Bundle(s) / APK(s) → Build APK. Android Studio создаст подписанный APK в app/build/outputs/apk/debug/. Файл будет содержать сертификат из вашего Keystore.
Шаг 4: Проверьте подпись с помощью apksigner
Откройте терминал в корне проекта и выполните команду:
apksigner verify -v --print-certs app/build/outputs/apk/debug/app-debug.apk
Если сертификат совпадает с вашим Keystore, подписание успешно.
Шаг 5: Установите и протестируйте APK
Переместите подписанный APK на устройство (USB‑调试 включён). При установке вы увидите название вашего сертификата. Запустите приложение — оно должно работать без ошибок подписи.
Проверка результата
- APK устанавливается без сообщения «не удаётся установить из-за ошибки подписи».
- Сертификат, показанный при установке, совпадает с тем, что вы задали в Keystore.
- Команда
apksigner verifyвозвращает статусVERIFIED.
Возможные проблемы
- Неправильный пароль Keystore – дважды проверьте
keystore.propertiesи пароль от файла. - Отсутствие файла ключа – убедитесь, что путь в
keystore.propertiesуказывает на существующий.keystore. - Устройство не принимает APK – убедитесь, что включена настройка «Устанавливать из неизвестных источников» (или «Side‑loading» для Android 10+).