如何在 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 文件中进行验证。

    当我们谈论versionCodeversionName 时,这些信息是从Flutter 的pubspec.yaml 文件中获得的,带有version 属性。该属性的形式为0.3.2+3,其中0.3.2 对应versionName3+ 符号后面的数字)对应versionCode。是的,versionCode 必须大于之前发布应用的versionCode

最后,用于签署 Android Flutter 版本的keystore-password-alias必须与用于签署 Android 原生版本的相同。

考虑到所有这些,您可以顺利进行更新。

【讨论】:

以上是关于如何在 Play 控制台中使用 Java 应用更新已发布的原生 android 上的颤振应用的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Play 商店上传更新的 apk

如何在新的 Google Play 控制台版本中添加消耗品应用内产品

Android应用不会在Play商店中更新

如何在 Google Play 控制台中创建不可更新订阅

使用 Intellij 15 创建新 Play 应用程序时的控制器问题

Google Play 游戏统计信息未在开发者控制台中更新