Play store 无效的 apk 签名颤动(APK 完整性检查失败)

Posted

技术标签:

【中文标题】Play store 无效的 apk 签名颤动(APK 完整性检查失败)【英文标题】:Play store invalid apk signature flutter (APK integrity check failed) 【发布时间】:2021-08-29 14:04:58 【问题描述】:

当我将 apk 上传到 google play 开发控制台时,我收到此错误:

您上传的 APK 签名无效(详细了解签名)。来自 apksigner 的错误:错误(APK 签名方案 v2 签名者 #0):APK 完整性检查失败。 CHUNKED_SHA256 摘要不匹配。预期:,实际:

我尝试在终端中运行:flutter build apk。 我还尝试在 android studio 中打开项目进行编辑并转到Build >> Generate signed bundle(s) / apk(s)。并选择了 V1 和 V2。

我创建了一个新密钥并创建了一个 key.properties 文件,其中包含:

storePassword=********
keyPassword=********
keyAlias=upload
storeFile=D:\\projects\\keys\\upload-keystore.jks

我没有在这里输入密码,但它是直接写的,没有引号。如果它是错误的,我会得到一个错误。

我在build.gradle 应用级文件中有这个:

...
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) 
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

...
..
...
signingConfigs 
        release 
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        
    
buildTypes 
        release 
            signingConfig signingConfigs.release
        
    
...

我在应用中使用 AdMob。 当我运行java --version 时,我得到:

java 15.0.1 2020-10-20

但是在我的android安装路径/jre/release文件中我有:

JAVA_VERSION="11.0.8"

所以我尝试在 android studio 中创建一个新密钥并在 android studio 中创建一个新的签名 apk,以防万一它取决于所使用的 java 版本,但我仍然遇到同样的错误。

【问题讨论】:

【参考方案1】:

显然,我在此之前上传了一个使用另一个密钥签名的 .apk 文件,即使我删除了该版本,谷歌还是注册了该密钥以供将来上传。我可以在 App Integrity 部分看到它。所以我不得不删除整个应用程序并从头开始制作另一个商店列表。因为我再也无法访问那个旧密钥了。

【讨论】:

以上是关于Play store 无效的 apk 签名颤动(APK 完整性检查失败)的主要内容,如果未能解决你的问题,请参考以下文章

命令行上传apk到google play store

Google Play 控制台签名的 apk 版本代码错误

是否可以使用与 Play Store AAB 相同的密钥签署 App Center APK?

Google Play 控制台“文件格式无效”无法上传我的 apk

谷歌登录不适用于 Play Store 上的生产 apk。(在 Playstore 上发布 apk)

React Native Android生成已签名的APK