如何在 Play 控制台中使用 Java 应用更新已发布的原生 android 上的颤振应用
Posted
技术标签:
【中文标题】如何在 Play 控制台中使用 Java 应用更新已发布的原生 android 上的颤振应用【英文标题】:How to Update a flutter app on already published native android using java app in play console 【发布时间】:2021-01-08 08:03:03 【问题描述】:我已经在 Google Playstore 中发布了一个带有包名的原生应用程序,例如 (com.hamzamuazzam.foo),我想更新我现在在 flutter 中制作的应用程序,并且对我的代码进行了所有必要的更改。
使用与已在 google playstore 中发布的旧原生应用相同的包名 (com.hamzamuazzam.foo) 制作的新 Flutter 应用。
现在,我的主要问题是,我可以在不更改 Google Play 商店中的包名称的情况下使用 Native 应用程序更新我的新 Flutter 应用程序吗?
Google Play 控制台是否允许我在同一个原生应用上更新具有相同包名的 Flutter 应用?
【问题讨论】:
【参考方案1】:是的,您可以更新您的应用。一般来说,只有三个规则适用于更新:
-
包名必须相同。
versionCode
必须大于之前发布的应用的versionCode
。
应用必须使用与以前相同的签名密钥进行签名。
除此之外,使用 Kotlin/Java、Flutter、Xamarin、React Native、Cordova 或任何其他技术创建 APK 或 android App Bundle 都没有关系。
【讨论】:
【参考方案2】:@Alex 的回答很完美,但我想详细说明以下信息(针对 Flutter 场景):
是的,包名必须相同,这可以在 Android(Flutter 版本)AndroidManifest.xml
文件中进行验证。
当我们谈论versionCode
和versionName
时,这些信息是从Flutter 的pubspec.yaml
文件中获得的,带有version
属性。该属性的形式为0.3.2+3
,其中0.3.2
对应versionName
,3
(+
符号后面的数字)对应versionCode
。是的,versionCode
必须大于之前发布应用的versionCode
最后,用于签署 Android Flutter 版本的keystore-password-alias
必须与用于签署 Android 原生版本的相同。
考虑到所有这些,您可以顺利进行更新。
【讨论】:
以上是关于如何在 Play 控制台中使用 Java 应用更新已发布的原生 android 上的颤振应用的主要内容,如果未能解决你的问题,请参考以下文章
如何在新的 Google Play 控制台版本中添加消耗品应用内产品