Erro Android ao criar APK assinado: keystore.jks não encontrado para a configuração de assinatura 'externalOverride'

89

Recebo este erro quando tento criar um APK assinado. Recentemente, atualizei para a API 23, mas o APK gerado: s com sucesso depois disso. Estou confuso. Pedir ajuda e aconselhar como resolver este problema. Aqui está o erro

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 o log

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

Aqui está o meu 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
fonte

Respostas:

130

Eu encontrei a solução. Perdi o caminho para o keystore.jksarquivo. Procurei o arquivo no meu computador, usei esse caminho e tudo funcionou muito bem.

Waffles.Inc
fonte
2
Recebi este erro depois de mover meu arquivo .jks para outro local e esqueci de atualizar no android studio x) Obrigado
Arbitur
54

Arquivo -> Invalidar caches e reiniciar ...

Construir -> Construir APK assinado -> verificar o caminho na caixa de diálogo

Verifique o caminho do armazenamento de chaves

Martin Pfeffer
fonte
13

Este é um problema que pode surgir ao escrever um "nome de arquivo" em vez de um caminho, ao gerar o arquivo .jks. Gere um novo, coloque-o na área de trabalho (ou qualquer outro caminho real) e gere novamente o APK.

Jacobo Koenig
fonte
2
O Android Studio deixava você escolher uma pasta e esse era o meu problema ... Eu escolhi a pasta, não o arquivo de chave ... -1 para o Android Studio por deixar escolher algo não vai funcionar.
Luismi
13

Clique em escolher existente e novamente escolha o local onde seu arquivo jks está localizado.

insira a descrição da imagem aqui

Espero que este truque funcione para você .

Muzammil
fonte
1
exatamente esta é a solução precisa
TAHA SULTAN TEMURI
3

Eu tenho o mesmo problema, porque eu não tenho o caminho de armazenamento de chave, então vejo soluções Waffles.inc e tive um novo problema No meu Android Studio 3.1 para mac tive um problema de diálogo do Windows ao tentar criar um novo caminho de armazenamento de chave , é assim

insira a descrição da imagem aqui

se você tiver o mesmo problema, não se preocupe com as janelas pretas, é só digitar seu novo keystore e salvar.

Uray Febri
fonte
2

TL; DR: verifique o caminho para o seu keystore.jksarquivo .

No meu caso, aqui está o que aconteceu:

Mudei a pasta do projeto de todo o meu aplicativo para outro local no meu PC. Muito mais tarde, eu queria gerar um arquivo apk assinado. Desconhecido para mim, o local padrão do caminho para o meu keystore.jksfoi redefinido para um local errado e eu cliquei em ok. Como não foi possível encontrar um armazenamento de chave no caminho que selecionei, recebi esse erro.

A solução foi verificar se o caminho para o meu keystore.jksarquivo estava correto.

Taslim Oseni
fonte
0

abra key.properties e verifique se o caminho está correto. (substitua de \ para /)

exemplo: -

substitua de "storeFile = D: \ Projects \ Flutter \ Key \ key.jks" para "storeFile = D: /Projects/Flutter/Key/key.jks"

Perda de sangue
fonte
0

Para as pessoas que têm tentado acima, tente gerar a chave com o -keypass e -storepass opções como eu só estava introduzindo uma das senhas quando executá-lo como o Reagir docs nativos ter você. Isso causou um erro ao tentar construir.

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

MattFitz
fonte
0

No Linux ou Ubuntu, você precisa usar o caminho completo.

Por exemplo

/home/ubuntu/.android/keystorname.keystore

No meu caso, eu estava usando em ~vez de /home/user/. Usar abreviações como a abaixo não funciona

~/.android/keystorname.keystore
./keystorename.keystore
Dheeraj M Pai
fonte
0

Editar o caminho do arquivo keystore resolveu meu problema.

cavaleiro
fonte