【问题标题】:Android Error Building Signed APK: keystore.jks not found for signing config 'externalOverride'Android 错误构建签名 APK:未找到用于签名配置“externalOverride”的 keystore.jks
【发布时间】:2016-07-10 11:55:21
【问题描述】:

我在尝试构建签名 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'


}

【问题讨论】:

  • 有用的问题,谢谢!

标签: android android-studio build apk android-signing


【解决方案1】:

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

【讨论】:

  • 在将我的 .jks 文件移动到另一个位置并忘记在 android studio x 中更新后出现此错误)谢谢
【解决方案2】:

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

构建 -> 构建签名的 APK -> 在对话框中检查路径

【讨论】:

    【解决方案3】:

    点击选择现有并再次选择您的jks文件所在的位置。

    我希望这个技巧对你有用

    【讨论】:

    • 这才是正确的解决方案
    • 很简单,但这正是我所需要的。谢谢
    • 非常感谢。您的回答正确,对我有用。
    【解决方案4】:

    在生成 .jks 文件时,写下“文件名”而不是路径可能会出现此问题。生成一个新的,放在桌面(或任何其他真实路径)上,然后重新生成 APK。

    【讨论】:

    • Android Studio 让您选择一个文件夹,那是我的问题...我选择了文件夹,而不是密钥文件...-1 表示 Android Studio 让选择某些东西不起作用。
    【解决方案5】:

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

    就我而言,发生了什么:

    我将整个应用程序的项目文件夹移动到我电脑上的另一个位置。很久以后,我想生成一个签名的 apk 文件。 我不知道,我的keystore.jks 路径的默认位置已重置为错误的位置,我点击了确定。 由于它在我选择的路径上找不到密钥库,所以我得到了那个错误。

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

    【讨论】:

      【解决方案6】:

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

      如果你有同样的问题,不要担心黑窗它只是输入你的新密钥库然后保存。

      【讨论】:

        【解决方案7】:

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

        例子:-

        替换自 “storeFile=D:\Projects\Flutter\Key\key.jks” "storeFile=D:/Projects/Flutter/Key/key.jks"

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

            文件路径是我的罪魁祸首 更改了app/build.gradle中的文件路径

            storeFile file('upload-keystore.jks')
            

            【讨论】:

              【解决方案10】:

              对于上面尝试过的人,请尝试使用 -keypass-storepass 选项生成密钥,因为我在运行时只输入了其中一个密码,就像React Native 文档有你。这导致它在尝试构建时出错。

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

              【讨论】:

                【解决方案11】:

                在 Linux 或 Ubuntu 上,您需要使用完整路径。

                例如

                /home/ubuntu/.android/keystorname.keystore

                就我而言,我使用的是~ 而不是/home/user/。像下面这样使用速记是行不通的

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

                【讨论】:

                  【解决方案12】:

                  我有一个现有的jks file,我已将它放在我的桌面上。

                  在对话框中,我选择了 Choose Existing 并使用 Drag and Dropjks file 按照此图像拖放到对话框中。

                  然后自动确定路径,而不必导航到 jks file 位置

                  【讨论】:

                    【解决方案13】:

                    在我的例子中,我正在创建一个 release 构建,而 JKS 被放置在 buildTypes.gradle

                    signingConfigs {
                        release {
                            storeFilefile('<Project Path>') 
                        }
                    }
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2021-04-26
                      • 1970-01-01
                      • 2019-07-14
                      • 2020-08-17
                      • 1970-01-01
                      • 2013-05-18
                      • 2013-07-02
                      • 1970-01-01
                      相关资源
                      最近更新 更多