Android Помилка побудови підписаного APK: keystore.jks не знайдено для підписання конфігурації 'externalOverride'


85

Я отримую цю помилку під час спроби створити підписаний файл .apk. Нещодавно я перейшов на API 23, але після цього згенерував APK: s. Я збентежений. Просимо допомоги та поради, як вирішити цю проблему. Ось помилка

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'. 

Ось мій Градле

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'


}

Відповіді:


128

Я знайшов рішення. Я втратив шлях до keystore.jksфайлу. Шуканий файл на моєму комп’ютері використовував цей шлях, і все працювало чудово.


2
Я отримав цю помилку після переміщення мого .jks-файлу в інше місце і забув оновити в android studio x) Дякую
Arbitur

53

Файл -> Недійсні кеші та перезапуск ...

Збірка -> Побудувати підписаний APK -> перевірити шлях у діалоговому вікні

Перевірте шлях зберігання ключів


13

Це проблема, яка може виникнути внаслідок запису "імені файлу" замість шляху під час генерації файлу .jks. Створіть новий, поставте його на робочий стіл (або будь-який інший реальний шлях) і повторно сформуйте APK.


2
Студія Android дозволила вам вибрати папку, і це була моя проблема ... Я вибрав папку, а не ключовий файл ... -1 для Android Studio, дозволяючи вибрати щось, не працює.
Луїсмі

11

Клацніть на вибрати існуючий і знову виберіть місце, де знаходиться ваш файл jks .

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

Сподіваюся, цей трюк спрацює на вас .


1
саме це є точним рішенням
TAHA SULTAN TEMURI

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 docs. Це спричинило помилку при спробі побудови.

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


0

У Linux або Ubuntu потрібно використовувати повний шлях.

Наприклад

/home/ubuntu/.android/keystorname.keystore

У моєму випадку я використовував ~замість /home/user/. Використання таких скорочень, як показано нижче, не працює

~/.android/keystorname.keystore
./keystorename.keystore

0

Редагування шляху до файлу магазину ключів вирішило мою проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.