Android

Как подписать APK-файл вручную в Android Studio и с помощью jarsigner

В этой статье объясняется, как вручную подписать APK-файл Android с помощью Android Studio и командной строки с помощью jarsigner. После выполнения инструкции у вас будет подписанный APK, готовый к установке на устройство или загрузке из Play Store.

Обновлено 3 августа 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Android Studio 2023.2+JDK 11+Android SDK Build-Tools 34.0+

Введение / Зачем это нужно

Подпись APK — обязательный шаг перед установкой приложения на устройство или публикацией в Google Play. Подписанный APK подтверждает авторство разработчика и гарантирует целостность бинарного файла. В этой статье вы узнаете два способа подписания APK: встроенный в Android Studio и консольный с помощью jarsigner. После выполнения инструкции у вас будет подписанный APK, готовый к установке.

Требования / Подготовка

  • Android Studio версии 2023.2 или выше.
  • JDK 11 или более новая версия (для jarsigner).
  • Android SDK Build‑Tools 34.0+.
  • Созданный keystore (сертификат). Если у вас его нет, сгенерируйте его в Android Studio (см. шаг 1).
  • Доступ к командной строке (Terminal на macOS/Linux, Command Prompt или PowerShell на Windows).

Пошаговая инструкция

Шаг 1: Создать подписной сертификат в Android Studio

  1. Запустите Android Studio и создайте новый проект (File > New > New Project).
  2. На экране настройки проекта нажмите кнопку «Add a sign‑in certificate».
  3. Выберите «Create a new keystore».
  4. Укажите:
    • Keystore path – путь к файлу .jks (рекомендуется хранить его вне репозитория).
    • Keystore password – надёжный пароль.
    • Alias – имя ключа (например, my-key-alias).
    • Key password – пароль для приватного ключа (может совпадать с keystore password).
    • Valid for – срок действия (10 лет — стандартный вариант).
  5. Нажмите OK. Android Studio сгенерирует keystore и покажет путь к нему.

💡 Совет: Сохраните keystore в безопасном месте (например, в зашифрованном контейнере). Без него вы не сможете подписать будущие APK.

Шаг 2: Подписать APK через Android Studio

  1. В Android Studio перейдите к модулю проекта (app).
  2. Выберите Build > Generate Signed Bundle / APK.
  3. В мастере выберите APK и нажмите Next.
  4. Выберите Create new → укажите созданный keystore (.jks файл) и введите пароли.
  5. Установите папку для сохранения подписанного APK (например, app/build/outputs/apk/debug).
  6. Нажмите Finish. Android Studio соберёт и подпишет APK в указанной директории.

Шаг 3: Подписать APK с помощью jarsigner из командной строки

  1. Откройте терминал (или Command Prompt).
  2. Перейдите к папке с исходным APK, который нужно подписать (обычно app/build/outputs/apk/debug).
    cd /path/to/your/project/app/build/outputs/apk/debug
    
  3. Выполните команду jarsigner. Замените пулевые значения на реальные:
    jarsigner -keystore /full/path/to/your/keystore.jks \
              -storepass YOUR_STORE_PASSWORD \
              -keypass YOUR_KEY_PASSWORD \
              -signedjar MySigned.apk app-debug.apk my-key-alias
    
    • -keystore — путь к файлу .jks.
    • -storepass — пароль keystore.
    • -keypass — пароль ключа.
    • -signedjar — имя выходного подписанного APK.
    • app-debug.apk — исходный файл.
    • my-key-alias — псевдоним ключа, созданный ранее.
  4. Если всё прошло успешно, вы увидите сообщение jar подписан.

⚠️ Важно: Не указывайте -storepass и -keypass в командной строке через переменные окружения, если только вы не уверены в безопасности среды.

Шаг 4: Проверить подпись APK

Для подтверждения корректности подписи используйте apksigner (входит в состав Android SDK Build‑Tools).

apksigner verify MySigned.apk

Вы должны увидеть что-то вроде:

Verified using v1 scheme (SHA256 with RSA signature).
Verified using v2 scheme (APK Signature Scheme v2).
Verified using v3 scheme (APK Signature Scheme v3).

Если какие-то схемы отсутствуют, это может означать, что APK подписан не полностью.

Проверка результата

  1. Скопируйте подписанный APK (MySigned.apk) на устройство.
  2. Установите его через ADB (adb install MySigned.apk) или перетащите в эмулятор.
  3. Проверьте, что приложение запускается без предупреждений о «неустановленных источниках» (если вы разрешили установку из неизвестных источников).
  4. Для публикации в Google Play убедитесь, что APK подписан тем же сертификатом, что и ранее опубликованные версии — Play Console автоматически проверит подпись при загрузке.

Возможные проблемы

  • Ошибка «Keystore was tampered with, modified, or corrupted»
    • Причина: файл keystore повреждён или изменён.
    • Решение: восстановите оригинальный keystore из резервной копии или сгенерируйте новый.
  • «Не удалось проверить подпись» в apksigner
    • Причина: использован неправильный keystore или пароль.
    • Решение: проверьте пароли, убедитесь, что псевдоним ключа совпадает, и переподпишите APK.
  • APK всё равно отмечается как «неизвестный источник»
    • Причина: на устройстве отключена установка из неизвестных источников.
    • Решение: разрешите установку в настройках безопасности (Settings > Security > Install unknown apps).
  • Размер APK увеличился неожиданно
    • Причина: подпись добавляет несколько килобайт.
    • Это нормально; размер не влияет на функциональность приложения.

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

Зачем вручную подписывать APK, если Android Studio делает это автоматически?
Можно ли подписать APK без Android Studio?
Что делать, если сертификат истёк или утерян?
Влияет ли подписание на размер APK?

Полезное

Создать подписной сертификат в Android Studio
Подписать APK через Android Studio
Подписать APK с помощью jarsigner из командной строки
Проверить подпись APK

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