Android错误构建已签名的APK:未发现用于签名配置“ externalOverride”的keystore.jks


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'


}

Answers:


128

我找到了解决方案。我放错了keystore.jks文件的路径。在我的计算机上使用该路径搜索文件,一切正常。


2
在将我的.jks文件移动到另一个位置并忘记在android studio中进行更新后,我收到了此错误x)谢谢
Arbitur

53

文件->使缓存无效并重新启动...

生成->生成签名的APK->检查对话框中的路径

检查密钥存储路径


13

这是由于在生成.jks文件时写下“文件名”而不是路径可能引起的问题。生成一个新文件,将其放在桌面上(或其他任何实际路径),然后重新生成APK。


2
Android Studio允许您选择一个文件夹,这是我的问题...我选择了文件夹,而不是密钥文件... -1使得Android Studio无法选择某些内容。
路易丝


3

我有同样的问题,因为我没有密钥库路径,所以我看到了Waffles.inc解决方案,并且遇到了一个新问题。在我的Android Studio 3.1 for mac中,尝试创建新的密钥库路径时出现了Windows对话框问题,就像这样

在此处输入图片说明

如果您遇到相同的问题,请不要担心黑色的窗口,只需输入新的密钥库然后保存即可。


2

TL; DR:检查keystore.jks文件的路径

就我而言,这是发生了什么:

我将整个应用程序的项目文件夹移动到了PC上的另一个位置。后来,我想生成一个签名的apk文件。我不知道,我的路径的默认位置keystore.jks已重置为错误的位置,然后单击确定。由于它在我选择的路径上找不到密钥库,因此出现了该错误。

解决的办法是检查keystore.jks文件路径是否正确。


0

打开key.properties并检查您的路径是否正确。(从\替换为/)

例如: -

从替换 “storeFile = d:\项目\颤振\密钥\ 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

编辑密钥库文件的路径解决了我的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.