Play store invalid apk signature flutter (APK integrity check failed)
Play store invalid apk signature flutter (APK integrity check failed)
当我将 apk 上传到 google play 开发控制台时,出现此错误:
You uploaded an APK with an invalid signature (learn more about signing). Error from apksigner: ERROR (APK Signature Scheme v2 signer #0): APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <412a79e056b386dd932da2bc4dd539b8c4c91218f11732c9dc1238102f9ccdd0>, actual: <5cc9552be9c67af6a8c1f24f0cee15ef4b1305f0c5b56fbfee9f0f9c228e5828>
我在终端中尝试了 运行ning: flutter build apk
。
我还尝试在 android 工作室中打开项目进行编辑,然后转到 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 版本,但我仍然得到同样的错误。
显然,我在此之前上传了一个用另一个密钥签名的 .apk 文件,即使我删除了那个版本,google 还是注册了该密钥以供将来上传。我可以在 App Integrity 部分看到它。所以我不得不删除整个应用程序并从头开始制作另一个商店列表。因为我无法再访问那个旧密钥。
当我将 apk 上传到 google play 开发控制台时,出现此错误:
You uploaded an APK with an invalid signature (learn more about signing). Error from apksigner: ERROR (APK Signature Scheme v2 signer #0): APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <412a79e056b386dd932da2bc4dd539b8c4c91218f11732c9dc1238102f9ccdd0>, actual: <5cc9552be9c67af6a8c1f24f0cee15ef4b1305f0c5b56fbfee9f0f9c228e5828>
我在终端中尝试了 运行ning: flutter build apk
。
我还尝试在 android 工作室中打开项目进行编辑,然后转到 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 版本,但我仍然得到同样的错误。
显然,我在此之前上传了一个用另一个密钥签名的 .apk 文件,即使我删除了那个版本,google 还是注册了该密钥以供将来上传。我可以在 App Integrity 部分看到它。所以我不得不删除整个应用程序并从头开始制作另一个商店列表。因为我无法再访问那个旧密钥。