当我尝试构建签名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'.
这是我的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'
}
答案 0 :(得分:86)
我找到了解决方案。我错放了keystore.jks
文件的路径。
搜索我的计算机上使用该路径的文件,一切都很棒!!
答案 1 :(得分:34)
答案 2 :(得分:13)
这是一个问题,可能是在生成.jks文件时写下“文件名”而不是路径。生成一个新的,将其放在桌面(或任何其他真实路径)上并重新生成APK。
答案 3 :(得分:2)
我遇到了同样的问题,因为我没有密钥库路径,因此我看到了Waffles.inc解决方案,并遇到了一个新问题。在我的Android Studio 3.1 for mac中,尝试创建新的密钥库时出现了Windows对话框问题路径,就像这样
如果您遇到相同的问题,请不要担心黑色的窗口,只需输入新的密钥库然后保存即可。
答案 4 :(得分:2)
文件路径是我的罪魁祸首
更改了 app/build.gradle
storeFile file('upload-keystore.jks')
答案 5 :(得分:1)
答案 6 :(得分:0)
打开key.properties并检查您的路径是否正确。 (从\替换为/)
示例:-
替换 “ storeFile = D:\ Projects \ Flutter \ Key \ key.jks” 至 “ storeFile = D:/Projects/Flutter/Key/key.jks”
答案 7 :(得分:0)
对于尝试过上述操作的人,请尝试使用 -keypass 和 -storepass 选项生成密钥,因为我在运行密码时仅输入了其中一个密码,例如React Native文档拥有您。这导致它在尝试构建时出错。
keytool -keypass PASSWORD1 -storepass PASSWORD2 -genkeypair -v -keystore release2.keystore -alias release2 -keyalg RSA -keysize 2048 -validity 10000
答案 8 :(得分:0)
TL; DR:检查您的keystore.jks
文件的路径
就我而言,这是发生的事情:
我将整个应用程序的项目文件夹移动到了PC上的另一个位置。后来,我想生成一个签名的apk文件。 我不知道,我的keystore.jks
的路径的默认位置已重置为错误的位置,并且单击了“确定”。由于它在我选择的路径中找不到密钥库,我遇到了错误。
解决方案是检查我的keystore.jks
文件的路径是否正确。
我希望这会有所帮助。快活的编码!
答案 9 :(得分:0)
在Linux或Ubuntu上,您需要使用完整路径。
例如
/home/ubuntu/.android/keystorname.keystore
就我而言,我使用的是~
而不是/home/user/
。使用如下速记键不起作用
~/.android/keystorname.keystore
./keystorename.keystore
答案 10 :(得分:0)
编辑密钥库文件的路径解决了我的问题。
答案 11 :(得分:0)