Android 0x80000103Средняя

Исправляем ошибку подписи APK на Android: пошаговое решение

Ошибка подписи APK мешает установке приложений на Android. В статье разбор причин и 4 проверенных способа решения проблемы.

Обновлено 5 сентября 2026 г.
10-20 мин
Средняя
FixPedia Team
Применимо к:Android 10+Android 11Android 12Android 13

Что означает ошибка 0x80000103

Эта ошибка появляется, когда Android не может проверить цифровую подпись приложения при попытке установить или обновить APK. Код 0x80000103 обычно означает SIGNATURE_VERIFY_FAILED — система обнаружила несоответствие между подписанным файлом и тем, что ожидает операционная система. Ошибка блокирует установку и может появляться сразу после перетасовки файлов, при переносе между устройствах или после пересборки проекта без сохранения настроек подписи.

Ошибка часто сопровождается сообщением в консоли Android Studio:

Installation failed with signature 0x80000103 error

Это означает, что подпись либо повреждена, либо не проходит проверку на соответствие версиям versionCode и versionName.

Причины возникновения

Причины ошибки подписи обычно конкретны и связаны с управлением ключами:

  1. Поврежденный keystore — файл хранилища ключей мог быть поврежден при копировании или перемещении между системами.
  2. Истек срок действия ключа — если дата validity истекла, Android отклоняет подпись как устаревшую.
  3. Несоответствие versionCode — при каждой новой сборке versionCode должен увеличиваться. Если вы попытались установить APK с тем же versionCode и другой подписью, система заблокирует установку.
  4. Неверная настройка signingConfig — в build.gradle могут быть указаны не те параметры keystore или ключа, что приведет к генерации APK с другой подписью.
  5. Перенос APK без сохранения подписи — передача APK по почте или мессенджерам часто приводит к изменению байтов файла, что ломает подпись.

Способы решения

Способ 1: Переподпись через интерфейс Android Studio

Самый простой путь для разработчиков, использующих официальный редактор. Откройте проект в Android Studio, перейдите в меню BuildGenerate Signed Bundle / APKAPK. Выберите существующий модуль и нажмите Create new key или выберите уже имеющийся keystore. Введите пароли и путь к файлу, затем нажмите Finish. Сгенерированный APK установится на устройство без ошибок проверки подписи.

Способ 2: Подписать APK через командную строку apksigner

Если вам нужно подписать файл без открытия Android Studio, используйте инструмент apksigner, который идет в комплекте с SDK. Откройте терминал в директории с вашим APK и выполните:

apksigner sign --ks my-release-key.jks --ks-pass pass:mykeystorepassword my-app.apk

Команда заменит подпись на новую, соответствующую указанному keystore. Убедитесь, что versionCode в манифесте увеличился по сравнению с предыдущей версией, иначе установка все равно будет заблокирована.

Способ 3: Пересборка проекта с исправлением signingConfig

Если ошибка повторяется, проверьте файл app/build.gradle. Убедитесь, что блок signingConfigs и buildTypes настроены верно:

android {
    signingConfigs {
        release {
            storeFile file('my-release-key.jks')
            storePassword 'mykeystorepassword'
            keyAlias 'mykeyalias'
            keyPassword 'mykeypassword'
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            // другие настройки...
        }
    }
}

После изменений выполните clean rebuild: ./gradlew clean assembleRelease. Это пересоберет APK с правильными настройками подписи, сбросив старые кэши, которые могли вызывать конфликт.

Профилактика

Чтобы избежать повторной ошибки подписи:

  • Храните keystore в надежном месте (например, в парольном менеджере или защищенном хранилище CI/CD), никогда не отправляйте его вместе с APK.
  • Всегда увеличивайте versionCode при каждой новой сборке, даже если изменения косметические.
  • Настройте автоматическую подпись в системах непрерывной интеграции (GitHub Actions, GitLab CI), чтобы ручной этап был исключен.
  • Периодически проверяйте даты validity ключа и перегенерируйте его за 30 дней до истечения срока, чтобы не попасть в ситуацию с истекшим сертификатом.
  • Используйте одни и тот же keystore для всех версий приложения (debug и release), чтобы система распознавала обновления корректно.

⚠️ Важно: Не удаляйте старый keystore после генерации новой подписи, если у вас есть пользователи, установленные на старой версии. Для обновления им потребуется новая версия с incremented versionCode и совместимой подписью.

💡 Совет: Если вы тестируете приложение на устройстве, используйте режим подписи debug — Android автоматически подписывает такие сборки, и проверку подписи проходить не требуется.

Часто задаваемые вопросы

Почему возникает ошибка подписи APK?
Можно ли избежать ошибки при повторной подписи?
Различается ли ошибка на разных версиях Android?

Полезное

Проверить причину ошибки
Переподписать APK через Android Studio
Подписать APK через командную строку apksigner
Очистить кэш и переустановить приложение

Эта статья помогла вам решить проблему?