App-release-unsigned.apk не подписан

Я загрузил zip файл приложения Android в github, и я пытаюсь запустить его, но я получаю диалог с этим сообщением

app-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.

Я использую Android Studio. Что я должен делать?

Ответ 1

Если кто-то хочет отладить выпуск с помощью Android Studio, выполните следующие действия:

  • Установите вариант сборки для режима выпуска.

введите описание изображения здесь

  1. Щелкните правой кнопкой мыши на приложении в левой навигационной панели, нажмите Открыть настройки модуля.

  2. Перейдите на вкладку Подписывание. Добавьте конфигурацию подписи и заполните информацию. Также выберите свой брелок.

введите описание изображения здесь

  1. Перейдите на вкладку Тип сборки. Выберите режим выпуска и установите:

-Debuggable to true.

-Signing Config для конфигурации. (Тот, который вы только что создали).

введите описание изображения здесь

Синхронизируйте gradle. Наслаждайтесь!

Ответ 2

Убедитесь, что для варианта сборки установлено отладка (а не выпуск) в Android Studio (проверьте панель вариантов сборки).

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

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

Официальная документация, охватывающая режимы отладки и выпуска: https://developer.android.com/tools/publishing/app-signing.html

Ответ 3

Всегда подписывайте свою сборку, используя свой build.gradle DSL script следующим образом:

    android {
    signingConfigs {
        debug {
            storeFile file("debug.keystore")
        }

        myConfig {
            storeFile file("other.keystore")
            storePassword "android"
            keyAlias "androidotherkey"
            keyPassword "android"
        }
    }

    buildTypes {
        bar {
            debuggable true
            jniDebugBuild true
            signingConfig signingConfigs.debug
        }
        foo {
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.myConfig
        }
    }
}

Если вы хотите понять немного больше системы сборки Gradle, связанной с Android Studio, просто посетите:

Gradle Руководство пользователя плагина

Ответ 4

Я успешно смог отладить подписанный APK, выполните следующие действия: -

  • Выберите версию "Release" в панели инструментов "Build Variant"
  • В Build.gradle для набора модулей debuggable true для типа сборки выпуска
  • Перейдите в раздел Файл- > Структура проекта- > под подписью вкладки заполните все данные- > Под ароматами tab- > Выберите подписи Config Вы только что создали
  • Установить контрольные точки
  • Запустите приложение в режиме отладки

Ответ 5

если вы хотите запустить приложение в режиме отладки

1) Посмотрите на нижнюю левую сторону, над Избранное есть Варианты сборки

2) Нажмите "Варианты сборки". Нажмите на релиз и выберите debug

он отлично работает!!!

Ответ 6

signedConfigs должно быть до buildTypes

signingConfigs {
        debug {
            storeFile file("debug.keystore")
        }

        myConfig {
            storeFile file("other.keystore")
            storePassword "android"
            keyAlias "androidotherkey"
            keyPassword "android"
        }
    }

    buildTypes {
        bar {
            debuggable true
            jniDebugBuild true
            signingConfig signingConfigs.debug
        }
        foo {
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.myConfig
        }
    }

Ответ 7

По соображениям безопасности вы не можете установить неподписанный APK на Android. Так что, если у вас есть только неподписанный apk: вы должны его подписать. Вот как это сделать: ссылка

Обратите внимание, что вы можете подписать apk самозаверяющим сертификатом.

Альтернативой может быть:

  • скачать подписанный apk, если доступно.
  • скачать исходники, скомпилировать их (с помощью Android-Studio или Gradle или...). Он создаст несколько apks, и один из них будет подписан вашим ключом отладки (и, следовательно, вы сможете установить его)

Ответ 8

Загруженный проект приложения может включать подписанную информацию в файл build.gradle. Если вы видели такие коды:

buildTypes {
    debug {
        signingConfig signingConfigs.release
    }
    release {
        signingConfig signingConfigs.release
    }
}

вы можете удалить их и повторить попытку.

Ответ 9

Моя проблема была решена путем изменения варианта сборки, как предложил Стефан, если кто-то изо всех сил пытался найти "варианты сборки", как я сделал здесь, это скриншот, где вы можете его найти.

enter image description here

Ответ 10

Для градела Kotlin DSL

signingConfigs {
    create("releaseConfig") {
        storeFile = file("your keystore file path")
        storePassword = "storePassword"
        keyAlias = "keyAlias"
        keyPassword = "keyPassword"
    }
}
buildTypes {
    getByName("release") {
        signingConfig = signingConfigs.getByName("releaseConfig")
        isMinifyEnabled = true
        isShrinkResources = true
        proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
    }
}

Ответ 11

В панели инструментов инструмента выберите "Варианты сборки" Изменить вариант сборки от выпуска до отладки

Ответ 12

Как я решил это

Эта ошибка возникает из-за того, что вы установили варианты сборки в режим выпуска. установите его в режим сборки и снова запустите проект.

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

Ответ 13

Мое решение состояло в том, чтобы изменить имя моего скрипта подписания с "config" по умолчанию на "debug". Чтобы проверить, я изменил его на другое случайное имя и снова получил ошибку, а затем изменил его на "debug", и ошибка исчезла. Поэтому, хотя это кажется искусственным, и я склонен не верить, что это целая история, попробуйте это решение.

Ответ 14

i также появляется эта проблема, а мой код ниже

        storeFile file(properties.getProperty("filepath"))
        storePassword properties.getProperty("keypassword")
        keyAlias properties.getProperty("keyAlias")
        keyPassword properties.getProperty("keypassword")

причина - ошибка имени свойства, это должно быть keyPassword not keypassword

Ответ 15

Что в итоге сработало для меня, и я понятия не имею, почему:

  • Пошел на LastPass (сервис, которым я пользуюсь, чтобы сохранить все свои пароли)
  • Выберите мой пароль, поместив курсор поверх пароля и дважды щелкнув
  • После выбора я нажимаю cmd C для копирования
  • Пошел на Android учиться и cmd V вставить

Обратите внимание, что я много раз пытался скопировать, выбрав пароль, щелкнув в конце пароля и выбрав пароль, перемещая мышь.

Странно, но это работало только двойным щелчком по паролю, чтобы скопировать его.

Также я использовал метод Open Module Settings> Signing..., описанный @NightFury в этом посте.

Ответ 16

Позволяет ли новый выпуск Android Studio создавать apk? Они исправили ошибку в приложении? Я следовал инструкциям и получаю сообщение об ошибке: apk для выбранного на данный момент варианта (app-release.apk) не подписан. Пожалуйста, укажите конфигурацию подписи для этого варианта (выпуска). Но я подписал это. Как я могу это исправить?

Ответ 17

Если кто-то хочет отладить и выпустить отдельный вариант сборки с помощью Android Studio 3.5, выполните следующие действия: 1. Установите вариант сборки в режим выпуска.

Build Variant

  1. Перейти к >> Файл >> Структура проекта >>
  2. Выберите Конфигурация подписи 4. Нажмите значок "Плюс" в разделе "Настройка подписи"

.Signing Config

  1. Выберите раздел релиза и укажите информацию о приложении релиза, затем нажмите Применить и OK.

signin

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

final

Затем запустите свой проект. Удачного кодирования.