1

是否可以将 Flavors 添加到已发布的 App 的新版本中?如果是,假设以下情景:我在 Play 商店中有一个已发布的应用程序(例如com.example.android)。在新版本的应用程序中,我添加(例如freepaid)风味。此添加将应用程序的包名称更改为com.example.android.freecom.example.android.paid。假设我只发布com.example.android.freeFlavor。Play 商店的链接是什么样的?

https://play.google.com/store/apps/details?id=com.android.example(因为它已经是)或者它将被重命名为 https://play.google.com/store/apps/details ?id=com.android.example.free

4

2 回答 2

3

只是为了清楚marmor的答案:

您可以在发布应用程序后创建风味。但是,如果您希望在 Play Store 上保持应用程序的发布和更新,那么同一个应用程序必须具有原始包名称,这意味着它必须是创建的风格之一,并且其包名称保持不变。

例如,假设您有一个已发布的应用程序,然后您决定要免费和专业版。您将 build.gradle 文件更改为具有两种风格:

defaultConfig {
    applicationId "com.mycompany.awesomeapp"
    minSdkVersion 21
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
}
flavorDimensions "feature"
productFlavors {
    free{

    }
    pro{
        applicationIdSuffix ".pro"
    }
}

现在这意味着商店中的原始应用程序现在是免费的产品风格,您可以对其进行签名并将其更新到 Play 商店。您甚至可以更改其名称。重要的是它的包名保持不变,在这种情况下

com.mycompany.awesomeapp

这是默认定义的并且唯一标识您的应用程序。

PRO 版本是一个不同的应用程序,现在您可以作为新应用程序发布和更新。它的包名现在是

com.mycompany.awesomeapp.pro

这意味着它是一个新的、不同的应用程序,即使它共享一些代码库。

于 2017-08-30T20:06:37.860 回答
2

您不能更改已发布应用程序的包名称,但是您可以有两种风格free/ paid,但其中一种应该具有原始包名称:例如

free = com.example.android
paid = com.example.android.paid

这意味着免费应用程序将更新当前现有的应用程序,而付费应用程序将是一个新应用程序Google Play(统计和下载量为零)。

两个应用程序的链接将如预期的那样:https: //play.google.com/store/apps/details? id=com.android.example 和 https://play.google.com/store/apps/details ?id=com.android.example.paid

如果您想享受两全其美,请考虑[in-app-billing][1]允许您的用户免费下载该应用程序,并在应用程序内付费以解锁高级功能。

于 2016-11-03T12:17:57.700 回答