Введение / Зачем это нужно
Подпись APK — обязательный этап подготовки Android-приложения к публикации. Подпись подтверждает авторство, обеспечивает целостность бинарного файла и требуется Google Play для распространения. После выполнения этого руководства у вас будет готовый подписанный APK, соответствующий всем требованиям магазина.
Требования / Подготовка
- Android Studio (версия 2021.2.1 или выше)
- JDK 11 (или более новая версия)
- Android SDK и инструменты платформы (включены в Android Studio)
- Доступ к файловой системе для сохранения
*.keystore - Базовые знания работы с терминалом (
keytool,apksigner)
💡 Совет: Храните Keystore в надёжном месте, дублируйте его и используйте менеджер паролей.
Пошаговая инструкция
Шаг 1: Создайте подписной ключ (Keystore)
Для подписи вам нужен приватный ключ. Используйте keytool из командной строки:
keytool -genkeypair -v \
-keystore my-release-key.keystore \
-alias mykey \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass <password> \
-keypass <password> \
-dname "CN=YourName, OU=YourOrg, O=YourOrg, L=City, S=State, C=US"
Замените <password> на надёжный пароль. Файл my-release-key.keystore сохраните в проекте (лучше вне репозитория). Этот ключ будет использоваться для всех релизных сборок.
Шаг 2: Настройте конфигурацию подписи в Android Studio
- В меню выберите Build → Generate Signed Bundle / APK.
- Выберите APK и нажмите Next.
- Если у вас уже есть конфигурация подписи, выберите её. В противном случае нажмите New и укажите ранее созданный Keystore (
my-release-key.keystore), псевдоним (mykey) и пароли. - Нажмите Next, затем Finish.
⚠️ Важно: Используйте одни и те же пароли для Keystore и ключа, иначе сборка завершится ошибкой.
Шаг 3: Сгенерируйте подписанный APK
После настройки Android Studio автоматически соберёт подписанный APK. Файл появится в папке:
app/build/outputs/apk/release/app-release.apk
Откройте эту папку, чтобы получить готовый к распространению APK.
Шаг 4: Проверьте подпись APK
Убедитесь, что подпись корректна, с помощью apksigner:
apksigner verify app-release.apk
Корректный результат:
Verified
Signer #1 certificate DN: CN=YourName, OU=YourOrg, O=YourOrg, L=City, S=State, C=US
...
Если есть ошибки, исправьте Keystore или повторите процесс подписи.
Шаг 5: Подготовьте и отправьте приложение в Google Play
- Перейдите в Google Play Console → Мои приложения → Создать приложение.
- Укажите название, описание и скриншоты.
- Загрузите подписанный APK в раздел «Версии приложения» → «Добавить новую версию».
- Следуйте инструкциям по заполнению метаданных, юридической информации и настройкам распространения.
Проверка результата
- APK открывается на устройстве и устанавливается без ошибок.
- В Play Console версия отмечена как «Подписанная» с указанным сертификатом.
- Обновления будут корректно подписаны тем же ключом.
Возможные проблемы
- Not enough entropy при создании Keystore. Повторите команду из терминала с достаточным количеством случайных данных. На Windows можно использовать графический инструмент
certmgr. - Key password incorrect при сборке. Проверьте, что пароли для Keystore и ключа совпадают.
- APK already signed при повторной подписи. Удалите старые подписи:
apksigner sign --remove-all-signatures app-release.apk. - Invalid signature после проверки. Убедитесь, что Keystore не повреждён и пароль верен. При необходимости восстановите Keystore из резервной копии.