免费和付费应用程序签署了一个密钥库

free and paid app signed one keystore

我使用一个密钥库签署了 2 个应用程序(免费和付费),但别名不同,并且免费和付费应用程序的版本名称相同,其 1.0 ofc。因此,购买付费应用的人无法安装此付费应用,因为他们的设备上有免费应用。当他们删除免费应用程序时 - 安装很好。应用程序名称不同!请帮我理解错在哪里?谢谢

应用仅通过其 应用程序 ID 被识别为 'unique'。
它们可以使用相同的密钥库别名、名称等,但只要应用程序 ID 不同,它们就是不同的应用程序,并且可以彼此相邻安装。

一个好的方法是为免费版本添加一个后缀,例如 'lite'。

假设您有一个具有 'free' 和 'paid' 风格的应用程序项目,您可以配置 build.gradle 以针对每种风格使用不同的应用程序 ID:

defaultConfig {
    applicationId "com.example.awesomeapp"
}

productFlavors {

    free {
        applicationIdSuffix ".lite"
    }

    paid {

    }
}

请参阅documentation on Application ID