google Play store - 如何推广不同包名的测试应用?
google play store - how to promote test app with different package name?
这是一个关于 android 中包名的问题。我目前在 gradle 中有两种构建风格。生产和分期。
我已经创建了一个 google Play 商店帐户,我希望用户对我的应用程序进行 alpha 和 beta 测试。暂存应用程序当前的包名称为:
com.mobile.myapp.staging 而生产版本的包名称为 com.mobile.myapp。
所以我们有
com.mobile.myapp.staging vs com.mobile.myapp
最后,我显然想将 com.mobile.myapp 推广到制作而不是演出。但我希望用户长时间使用暂存变体进行测试(因为它连接到暂存 api 等等)
我该怎么做?我必须在 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
无法在 Google Play 商店中为同一应用使用不同的包名称。
因此,您唯一的选择是将暂存应用程序的包名称更改为生产包名称。并将其提交给 alpha/beta 测试人员。一定要注意不要将其推广到生产环境。
另一种选择是使用其他交付渠道,例如 hockeyapp 或 crashlitics beta。
这是一个关于 android 中包名的问题。我目前在 gradle 中有两种构建风格。生产和分期。
我已经创建了一个 google Play 商店帐户,我希望用户对我的应用程序进行 alpha 和 beta 测试。暂存应用程序当前的包名称为: com.mobile.myapp.staging 而生产版本的包名称为 com.mobile.myapp。
所以我们有
com.mobile.myapp.staging vs com.mobile.myapp
最后,我显然想将 com.mobile.myapp 推广到制作而不是演出。但我希望用户长时间使用暂存变体进行测试(因为它连接到暂存 api 等等)
我该怎么做?我必须在 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
无法在 Google Play 商店中为同一应用使用不同的包名称。
因此,您唯一的选择是将暂存应用程序的包名称更改为生产包名称。并将其提交给 alpha/beta 测试人员。一定要注意不要将其推广到生产环境。
另一种选择是使用其他交付渠道,例如 hockeyapp 或 crashlitics beta。