Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取密钥失败<;键>;“来自商店”/keystore.jks";:密钥库被篡改,或密码不正确_Java_Android_Gradle - Fatal编程技术网

Java 读取密钥失败<;键>;“来自商店”/keystore.jks";:密钥库被篡改,或密码不正确

Java 读取密钥失败<;键>;“来自商店”/keystore.jks";:密钥库被篡改,或密码不正确,java,android,gradle,Java,Android,Gradle,我正在尝试使用现有密钥库文件构建一个已签名的APK,这样我就可以更新已经在Play Store中的应用程序,但是gradle似乎无法识别密钥文件的密码 通常我们通过Bitrise构建应用程序,但最近出现了一些问题,所以我一直尝试使用/gradlew assembleerelease和Android Studio(使用相同的命令创建签名APK)来构建它 一切似乎都很好,直到gradle进入:app:packageRelease步骤 完整错误为:com.android.ide.common.sign

我正在尝试使用现有密钥库文件构建一个已签名的APK,这样我就可以更新已经在Play Store中的应用程序,但是gradle似乎无法识别密钥文件的密码

通常我们通过Bitrise构建应用程序,但最近出现了一些问题,所以我一直尝试使用
/gradlew assembleerelease
和Android Studio(使用相同的命令创建签名APK)来构建它

一切似乎都很好,直到gradle进入
:app:packageRelease
步骤

完整错误为:
com.android.ide.common.signing.KeytoolException:未能从存储区/Users/admin/Documents/projects//android/app/.jks读取密钥:密钥库被篡改,或密码不正确

我很确定这是密钥库文件的密码问题,因为当我尝试
keytool-list-keystore.jks
时,系统会提示我输入密码,然后会出现一个非常类似的错误:
keytool错误:java.io.IOException:密钥库被篡改,或者密码不正确

这是我的
build.gradle

        signingConfigs {
            release {
                storeFile file('<app>.jks')
                storePassword '<store_password>'
                keyAlias '<alias>'
                keyPassword '<key_password>'
            }
        }
    }
    buildTypes {
        ...
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
签名配置{
释放{
storeFile文件('.jks')
存储密码“”
keyAlias“
密钥密码“”
}
}
}
建筑类型{
...
释放{
minifyEnabled EnabledProGuardInReleaseBuilds
proguardFiles getDefaultProguardFile(“proguard android.txt”),“proguard rules.pro”
signingConfig signingConfigs.release
}
为了确保这是一个密钥库文件问题,我还生成了一个新的密钥库文件,但是使用扩展名
.keystore
,应用程序构建得很好

我花了整整一天的时间来研究这个问题,但运气不佳,不幸的是,没有一个类似的问题对我有帮助。如果有人能给我指出正确的方向,我将非常感激

谢谢。

对于遇到类似错误的人: 确保文件key.properties中的密码条目后没有空格。我在构建appbundle时遇到了问题,因为有一点空格(我想是自动格式化之类的)


我希望这能解决你的问题。

密码不正确
你确定你的密码正确吗?我尽可能确定-我没有设置初始密钥库文件,但那个向我保证密码正确的人。我认为Bitrise使用Linux,而我使用Mac OS。这可能是一个原因吗?我也有同样的问题,命令行失败,但是当我在中复制/粘贴密码时,Android Studio对应用程序的签名绝对正确