Flutter:无法从存储中读取密钥:无法恢复密钥

Posted

技术标签:

【中文标题】Flutter:无法从存储中读取密钥:无法恢复密钥【英文标题】:Flutter: Failed to read key from store: cannot recover key 【发布时间】:2021-07-26 10:38:20 【问题描述】:

当我尝试从 android Studio 签署我的 Flutter 应用程序时,他们给了我一个错误

FAILURE: Build failed with an exception.                                
                                                                        
* What went wrong:                                                      
Execution failed for task ':app:packageRelease'.                        
> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
   > com.android.ide.common.signing.KeytoolException: Failed to read key myapp from store "/Volumes/PKData/Project/myapp/android/key.jks": Cannot recover key
                                                                    
Try:                                                                  
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

我遇到了这个问题,在应用了许多解决方案后没有一个解决方案有效,但在我的情况下它现在仍然给出这个错误

关于如何修复它的任何想法以及如何发现密码必须相同?

【问题讨论】:

您是否尝试过从 Android Studio 生成签名的 apk? 其实我是在android studio做的 在 Android Studio 中打开你的 Flutter 项目的 android 文件夹。转到构建 > 生成签名的 apk。希望它会有所帮助。 【参考方案1】:

确保密钥库和私钥的密码匹配,并在 key.properties 文件中指定。

并确保新的密钥密码密钥库密码相同。验证 key.properties 文件中是否也指定了相同的密码。

在我的情况下,问题是 Key store 密码Key password 不正确。所以生成一个新的密钥就可以了(只要确保新的 key passwordkey-store password 相同)

【讨论】:

以上是关于Flutter:无法从存储中读取密钥:无法恢复密钥的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Java 读取 OpenSSL 生成的 ECDSA 密钥:InvalidKeySpecException

无法使用 boto 从 S3 读取密钥,但可以使用 aws cli

重置Windows时被Bitlocker锁的解决方案

即使在 Flutter 中使用正确的 SHA1 密钥,Google 地图也无法在发布版本中工作

无法从 Gradle 脚本中找到 signingReport 以在 android studio 中找到 SHA-1 指纹密钥 [重复]

解决BitLocker反复提示恢复密钥正确而无法进入系统的问题