谷歌游戏商店 - 如何推广不同包名称的测试应用程序?

时间:2017-08-01 09:18:25

标签: android google-play android-keystore google-play-console

这是关于android中包名的问题。我目前在gradle中有两种构建风格。制作和舞台演出。

我创建了一个Google Play商店帐户,我希望用户对我的应用进行alpha和beta测试。暂存应用程序当前的包名称为: com.mobile.myapp.staging,而生产flavor的包名称为com.mobile.myapp。

所以我们有

  

com.mobile.myapp.staging vs com.mobile.myapp

最后我显然希望将com.mobile.myapp推广到生产而不是升级。但我希望用户长时间使用暂存变体进行测试(因为它连接到staging apis等等)。

我该怎么做?我是否必须在Google Play商店中创建两个不同的应用程序?我想知道我是否必须这样做 他们都有不同的包名。它们都将使用相同的密钥库进行签名。请帮忙。

我的gradle文件如下所示:

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion project.ext.minimumSdkVersion
//check top level build.gradle  file for attributes -
targetSdkVersion 25
applicationId "com.mobile.myapp"
versionCode 150010203
versionName 1.2.3 
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

//renderscriptTargetApi 25
//renderscriptSupportModeEnabled true
multiDexEnabled true
}
buildTypes {
release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

dexOptions {
javaMaxHeapSize "6g"
}//for out of memory gc overhead error
lintOptions {
abortOnError false
}

productFlavors {

def STRING = "String"
def BOOLEAN = "boolean"
def TRUE = "true"
def FALSE = "false"
def FLAVOR = "FLAVOR"
def RETROFIT_LOG_ALL = "RETROFIT_LOG_ALL"
def BASE_ENDPOINT = "BASE_ENDPOINT"

staging {
    // applicationId "com.mobile.myapp.staging"
    buildConfigField STRING, BASE_ENDPOINT, '"https://api.flyingSaucerxx-staging.com"'
    buildConfigField BOOLEAN, RETROFIT_LOG_ALL, TRUE
    manifestPlaceholders = [appDrawerName: "FlyingSaucer-Staging"]
    applicationIdSuffix '.staging'
    versionNameSuffix '-STAGING'
}

prod {
    buildConfigField STRING, BASE_ENDPOINT, '"https://api.flyingSaucerxx.com"'
    buildConfigField BOOLEAN, RETROFIT_LOG_ALL, FALSE
    manifestPlaceholders = [appDrawerName: "FlyingSaucer"]
}
}
}

///.. dependencies below

1 个答案:

答案 0 :(得分:2)

对于同一个应用,无法在Google Play商店中使用不同的套餐名称。

因此,您唯一的选择是将暂存应用程序的包名称更改为生产应用程序。并将其提交给alpha / beta测试人员。并且要注意不要将其推广到生产中。

另一种选择是使用其他传递渠道,如hockeyapp或crashlitics beta。