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 完整性检查失败)的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用与 Play Store AAB 相同的密钥签署 App Center APK?
Google Play 控制台“文件格式无效”无法上传我的 apk