同时上传两个具有相同代码库但不同签名的apk版本

Uploading two versions of apk simultaneously having same code base but different signature

如何让同一个应用程序有两个不同签名的Apk版本,这样两个版本都可以独立上传到Play商店,具有不同的功能。

例如,一个 Apk 是具有一半功能的免费版本,另一个是具有完整功能的付费版本。

你必须使用风味。更多信息: http://developer.android.com/intl/es/tools/building/configuring-gradle.html

在此示例中,您有 2 种口味:

productFlavors {
    pro {
        applicationId = "com.example.my.pkg.pro"
    }
    free {
        applicationId = "com.example.my.pkg.free"
    }
}

因此,如果您转到 Android Studio 的 "Build Variants" 面板,您可以选择编译哪个版本。 优点是一键编译出你想要的版本。如果没有,您必须单独维护 2 个应用程序。

使用applicationIdSuffix

一种更简单的方法是将 applicationIdSuffix 添加到 non-default buildTypes。这有助于调试,但不应用于 Play 商店上传或 debug buildType。

buildTypes {
    myVariant {
        debuggable true
        applicationIdSuffix ".debug"
    }
    ...
}

这最终会使调试版本成为 com.my.package.debug,因此两者可以同时安装。