Ошибка Android при создании подписанного APK: keystore.jks не найден для подписи конфигурации externalOverride

89

Я получаю эту ошибку, когда пытаюсь создать подписанный APK. Недавно я обновился до API 23, но после этого успешно сгенерировал APK. Я не совсем понимаю. Прошу помощи и посоветуйте, как решить эту проблему. Вот ошибка

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not 
found for signing config 'externalOverride'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --  
debug option to get more log output.

И журнал

Information:Gradle tasks [:app:assembleRelease]
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl UP-TO-DATE
:app:compileReleaseRenderscript UP-TO-DATE
:app:generateReleaseBuildConfig UP-TO-DATE
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets UP-TO-DATE
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources UP-TO-DATE
:app:mergeReleaseResources UP-TO-DATE
:app:processReleaseManifest UP-TO-DATE
:app:processReleaseResources UP-TO-DATE
:app:generateReleaseSources UP-TO-DATE
:app:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders
:app:transformNative_libsWithMergeJniLibsForRelease
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:validateExternalOverrideSigning FAILED
Error:Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not found for
signing config 'externalOverride'. 

Вот мой Gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"


defaultConfig {
    applicationId "com.waffles.vatsandbats"
    minSdkVersion 14
    targetSdkVersion 23
}

buildTypes {
    release {
        minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt'     
    }
}
}

dependencies {

compile files('libs/acra-4.7.0-javadoc.jar')
compile files('libs/acra-4.7.0-sources.jar')
compile files('libs/acra-4.7.0.jar')
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
compile files('libs/activation.jar')
compile files('libs/mail.jar')
compile files('libs/additionnal.jar')
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'


}
Waffles.Inc
источник

Ответы:

130

Я нашел решение. Я потерял путь к keystore.jksфайлу. Искал файл на моем компьютере, использовал этот путь, и все отлично работало.

Waffles.Inc
источник
2
Я получил эту ошибку после перемещения моего файла .jks в другое место и забыл обновить его в студии android x) Спасибо
Arbitur
54

Файл -> Недействительные кеши и перезапуск ...

Сборка -> Сборка подписанного APK -> проверьте путь в диалоговом окне

Проверьте путь к хранилищу ключей

Мартин Пфеффер
источник
13

Это проблема, которая может возникнуть из-за записи «имени файла» вместо пути при создании файла .jks. Создайте новый, поместите его на рабочий стол (или на любой другой реальный путь) и заново сгенерируйте APK.

Якобо Кениг
источник
2
Студия Android позволила вам выбрать папку, и это была моя проблема ... Я выбрал папку, а не ключевой файл ... -1 для Android Studio, чтобы позволить выбрать что-то, не сработает.
Луисми
13

Нажмите « Выбрать существующий» и снова выберите место, где находится ваш файл jks .

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

Надеюсь, этот трюк сработает для вас .

Музаммил
источник
1
именно это и есть точное решение
ТАХА СУЛТАН ТЕМУРИ
3

У меня такая же проблема, потому что у меня нет пути к хранилищу ключей, тогда я вижу решения Waffles.inc и у меня возникла новая проблема. В моей Android Studio 3.1 для Mac возникла проблема с диалоговым окном Windows при попытке создать новый путь к хранилищу ключей , это примерно так

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

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

Урай Фебри
источник
2

TL; DR: проверьте путь к вашему keystore.jksфайлу .

В моем случае произошло вот что:

Я переместил папку проекта всего моего приложения в другое место на моем ПК. Гораздо позже я захотел создать подписанный файл apk. Мне неизвестно, местоположение по умолчанию пути к моему keystore.jksбыло сброшено на неправильное место, и я нажал кнопку ОК. Поскольку он не смог найти хранилище ключей по выбранному мной пути, я получил эту ошибку.

Решением было проверить правильность пути к моему keystore.jksфайлу.

Таслим Осени
источник
0

откройте key.properties и убедитесь, что ваш путь правильный. (заменить с \ на /)

пример: -

замените storeFile = D: \ Projects \ Flutter \ Key \ key.jks на "storeFile = D: /Projects/Flutter/Key/key.jks"

Потеря крови
источник
0

Для людей, которые пробовали выше, попробуйте сгенерировать ключ с помощью -keypass и -storepass , поскольку я только один из паролей при запуске, как это есть в документации React Native. Это привело к ошибке при попытке сборки.

keytool -keypass PASSWORD1 -storepass PASSWORD2 -genkeypair -v -keystore release2.keystore -alias release2 -keyalg RSA -keysize 2048 -validity 10000

МэттФиц
источник
0

В Linux или Ubuntu вам нужно использовать полный путь.

Например

/home/ubuntu/.android/keystorname.keystore

В моем случае я использовал ~вместо /home/user/. Использование сокращений, подобных приведенным ниже, не работает

~/.android/keystorname.keystore
./keystorename.keystore
Дирадж М. Пай
источник
0

Редактирование пути к файлу хранилища ключей решило мою проблему.

рыцарь
источник