英文:
Flutter app not able to update on Google Play Store (Android)
问题
我的Flutter应用无法从Google Play商店更新
复现错误的步骤:
-
我从Android Studio以发布模式构建了一个带有较低版本号和版本代码的已签名APK (版本1.0.2+1)
-
安装已签名APK后,它将提示更新弹窗并将我重定向到Play商店。但是,在更新完成后,我收到了错误消息 无法安装 AppName。请参考下面附上的
图像1
。我的应用在Play商店上的版本是 (版本1.0.3+24)
注意:
-
用于Android Studio构建的APK和我提交到Play商店的AAB文件都使用相同的keystore.jks进行签名。
-
在运行Android 11和Android 12的设备上进行了测试
以下是提到相同问题的几个实例,但没有提供解决方案。
是否有人知道此错误的原因?任何帮助将不胜感激。谢谢。
在卸载从Android Studio生成的已签名APK之后,我成功地从Play商店安装了应用程序。不幸的是,我还没有找到其他解决方法来解决这个问题。
[信息].[编辑于20230711]<br>
[上午6:17,2023年7月11日,世界协调时间(UTC)]<br>
[目的] 增加有关构建APK和.abb文件上传到Play商店时签名的信息<br>
在上传.abb文件到Play商店之前,我确实使用上传密钥(keystore.jks)对应用进行了签名。
[信息].[编辑于20230711]<br>
[下午3:04,2023年7月11日,世界协调时间(UTC)]<br>
[目的] 更新答案<br>
我已在答案部分添加了解决方案。
英文:
My flutter app not able to update from Google Play Store
Step to reproduce the error:
-
I build a signed APK in release mode from Android studio which has lower version number and version code (version 1.0.2+1)
-
When install the signed APK, it will prompt the update pop up and direct me to Play Store. However, after it finish updating, i got error Can't install AppName. Refer
image 1
attached below. My app on Play Store have a version of (version 1.0.3+24)
note:
-
The APK that was build for Android studio and AAB files that I submitted to the Play Store have been signed using the identical keystore.jks.
-
Tested on device with Android 11 and Android 12
Listed below are several instances of the same issue that have been mentioned, yet without any provided solutions.
Would anyone happen to know the cause of this error? Any assistance would be greatly appreciated. Thank you.
After uninstalling the signed APK generated from Android Studio, I successfully installed the app from the Play Store. Unfortunately, I haven't found any other solutions to address the issue.
[INFO].[Edited on 20230711]<br>
[6:17 am, Tuesday, 11 July 2023, Coordinated Universal Time (UTC)]<br>
[Purpose] Added info about upload signing when building APK and .abb file for Play Store<br>
Before upload the .abb file to Play Store, i did sign the app with an upload key (keystore.jks)
Releases signed by Google Play
[INFO].[Edited on 20230711]<br>
[3:04 pm Tuesday, 11 July 2023, Coordinated Universal Time (UTC)]<br>
[Purpose] Update Answer<br>
I have added the solution at the Answer section
答案1
得分: 1
问题
问题是我使用了本地生成的已签名APK,当我尝试从Play商店更新应用时,导致了错误。
解决方案
从Google Play控制台下载通用APK,然后应用就可以正常从Play商店更新了。
获取通用APK的步骤
Google Play控制台 > 选择您的应用 > 侧边栏选择Production
标签 > 发布 > 查看发布详细信息 > 在App捆绑包部分,选择右侧的箭头 > 选择下载标签 > 已签名的通用APK(下载此APK)
感谢@Alexander Hoffmann的帮助,解决了这个问题,谢谢。
英文:
Issue
The problem is that I used a locally generated signed APK, and when I tried to update the app from the Play Store, it caused an error.
Solution
Download the universal APK from Google Play Console and the app is able to update normally from Play Store.
Step to get the Universal APK from Google Play Console
Google Play Console > Select your App > select Production
tab on the side bar > Releases > View release details > Under App bundle section, select the arrow on the right end > select Download tab > Signed, universal APK (download this APK)
Credit and Thanks to @Alexander Hoffmann for helping to solve this issue, thank you
答案2
得分: 0
我认为你这里存在签名密钥不匹配的问题。
据我了解,你在本地生成了一个发布的 APK,并使用你的签名密钥对其进行签名。
然后,你在本地安装了这个 APK。之后,你访问你的应用在 Google Play 商店的页面,并尝试下载新的应用更新,这个更新也是你使用相同的密钥签名并上传为 Android 应用捆绑包的。
我认为问题可能在于当你启用了 Play 应用签名时,你没有将你自己的签名密钥提供给 Play 商店作为签名密钥。
通常情况下,Google Play 商店会自动生成它自己的签名密钥,除非你明确告诉它不要这样做。它只会将你之前的密钥用作上传密钥,上传密钥的目的是验证你上传的 AAB 来自你。但是,当 Play 控制台从 AAB 生成 APK 时,它将使用自己的签名密钥。
你可以在 Google Play 控制台中查看实际使用的密钥。转到你的应用的 Play 控制台页面,在“设置”类别中选择“应用完整性”。在右侧,选择“应用签名”选项卡。
现在你将看到 Google Play 控制台实际使用的签名密钥的签名。
英文:
I think you have a signing key mismatch here.
As I understand it, you generate a release APK locally and sign it with your signing key.
You then install the APK locally. Afterwards you go to your app's Google Play Store page and try to download the newer app update which you also signed with the same key and uploaded as an Android App Bundle.
I believe the problem is that when you enabled Play App Signing, you did not provide your own signing key as the signing key for Play Store.
Usually, Google Play Store will automatically generate it's own signing key unless you explicitly tell it not to do so. It will use your previous key only as an upload key. The goal of the upload key is to verfiy that your uploaded AAB is from you. When the Play Console generates APKs from the AAB it will however use it's own signing key.
You can check which key is actually used in the Google Play Console. Go to your app's Play Console page, select "App Integrity" in the "Setup" category. On the right side, select the "App Signing" tab.
Now you will see the signatures of the actually signing key that is used by Google Play Console.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论