Errore Android durante la creazione dell'APK firmato: keystore.jks non trovato per la firma della configurazione "externalOverride"


89

Ricevo questo errore quando provo a creare APK firmato. Di recente ho aggiornato all'API 23 ma dopo aver generato APK: s con successo. Non ho capito bene. Chiedere aiuto e consigliare come risolvere questo problema. Ecco l'errore

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.

E il registro

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

Ecco il mio 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'


}

Risposte:


130

Ho trovato la soluzione. Ho smarrito il percorso del keystore.jksfile. Ho cercato il file sul mio computer utilizzando quel percorso e tutto ha funzionato alla grande.


2
Ho ricevuto questo errore dopo aver spostato il mio file .jks in un'altra posizione e ho dimenticato di aggiornare in Android Studio x) Grazie
Arbitur

54

File -> Invalida cache e riavvia ...

Compila -> Crea APK firmato -> controlla il percorso nella finestra di dialogo

Verificare il percorso dell'archivio chiavi


13

Questo è un problema che può derivare dall'annotare un "nome file" invece di un percorso, durante la generazione del file .jks. Generane uno nuovo, mettilo sul desktop (o qualsiasi altro percorso reale) e rigenera l'APK.


2
Android Studio ti permetteva di scegliere una cartella e questo era il mio problema ... Ho scelto la cartella, non il file chiave ... -1 per Android Studio per aver lasciato scegliere qualcosa non funzionerà.
Luismi

13

Fai clic su scegli esistente e scegli di nuovo la posizione in cui si trova il tuo file jks .

inserisci qui la descrizione dell'immagine

Spero che questo trucco funzioni per te .


1
esattamente questa è la soluzione accurata
TAHA SULTAN TEMURI

3

Ho lo stesso problema, perché non ho il percorso del keystore, quindi vedo le soluzioni Waffles.inc e ho avuto un nuovo problema Nel mio Android Studio 3.1 per mac ho avuto un problema con la finestra di dialogo di Windows durante il tentativo di creare un nuovo percorso del keystore , è così

inserisci qui la descrizione dell'immagine

se hai lo stesso problema, non preoccuparti per le finestre nere, sta solo digitando il tuo nuovo keystore e poi salva.


2

TL; DR: controlla il percorso del tuo keystore.jksfile .

Nel mio caso, ecco cosa è successo:

Ho spostato la cartella del progetto della mia intera app in un'altra posizione sul mio PC. Molto tempo dopo, volevo generare un file apk firmato. A mia insaputa, la posizione predefinita del percorso al mio keystore.jksera stata reimpostata in una posizione sbagliata e avevo fatto clic su OK. Poiché non è stato possibile trovare un keystore nel percorso selezionato, ho ricevuto quell'errore.

La soluzione era controllare se il percorso del mio keystore.jksfile era corretto.


0

apri key.properties e verifica che il percorso sia corretto. (sostituisci da \ a /)

esempio: -

sostituire da "storeFile = D: \ Projects \ Flutter \ Key \ key.jks" a "storeFile = D: /Projects/Flutter/Key/key.jks"


0

Per le persone che hanno provato sopra, prova a generare la chiave con -keypass e -storepass opzioni poiché stavo solo inserendo una delle password durante l'esecuzione come i documenti di React Native hanno te. Ciò ha causato l'errore durante il tentativo di compilazione.

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


0

Su Linux o Ubuntu è necessario utilizzare il percorso completo.

Per esempio

/home/ubuntu/.android/keystorname.keystore

Nel mio caso stavo usando al ~posto di /home/user/. L'uso di shorthands come il seguente non funziona

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

0

La modifica del percorso del file keystore ha risolto il mio problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.