google play store - 如何推广具有不同包名的测试应用程序?
Posted
技术标签:
【中文标题】google play store - 如何推广具有不同包名的测试应用程序?【英文标题】:google play store - how to promote test app with different package name? 【发布时间】:2018-01-08 01:57:10 【问题描述】:这是一个关于android中包名的问题。我目前在 gradle 中有两种构建风格。制作和分期。
我创建了一个 google play 商店帐户,我希望用户对我的应用进行 alpha 和 beta 测试。暂存应用程序当前的包名称为: com.mobile.myapp.staging 而生产版本的包名称为 com.mobile.myapp。
所以我们有
com.mobile.myapp.staging vs com.mobile.myapp
最后,我显然想将 com.mobile.myapp 推广到生产而不是登台。但我希望用户长时间使用 staging 变体进行测试(因为它连接到 staging apis 等)
我该怎么做?我必须在 google play store 中创建两个不同的应用程序吗?我想知道我是否必须这样做 他们都有不同的包名。它们都将使用相同的密钥库进行签名。请帮忙。
我的 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
【问题讨论】:
***.com/questions/18491649/… 您可以使用 com.mobile.myapp 进行 alpha 和 beta 测试,方法是将 apk 上传到开发者控制台的 Alpha 和 Beta 测试部分。您无需为同一个应用创建两个变体。你只是让事情变得复杂。 该应用程序正在处理安全信息等。企业希望它首先由暂存区域的用户进行测试。如果他们对此感觉良好,那么我们将在生产区域进行测试。我不明白你的意思是我不需要测试两个变体? 为什么不使用相同的包名称和不同的端点进行暂存和生产? 使用 applicationIdSuffix '.staging' 允许我在设备上拥有两个不同的应用程序,这就是我使用它的原因。让我检查一下,一秒钟 【参考方案1】:在 Google Play 商店中,同一个应用不能使用不同的包名。
因此,您唯一的选择是将暂存应用程序的包名称更改为生产应用程序。并将其提交给 alpha/beta 测试人员。请务必注意不要将其推广到生产环境中。
另一种选择是使用其他交付渠道,例如 hockeyapp 或 crashlitics beta。
【讨论】:
没有冒犯,但我认为如果您使用构建风格,可以发布具有相似包名称的相同应用程序。虽然,我没试过。 @EndreBörcsök Eugen 说“不同的”包名是不可能的。以上是关于google play store - 如何推广具有不同包名的测试应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 google play store 获取应用市场版本信息?
如何从 google play store 反编译一个 android 应用程序
如何使用 AndroidPublisher api 在 google play store 中检索任何 google 应用程序的评论?
如何解决 Google GMS 在被锁定失效后,无法再使用 Google Play Store的问题;亦适用于在不使用 Google GMS 的情况下,如何正常使用Google Play 商店
如何解决 Google GMS 在被锁定失效后,无法再使用 Google Play Store的问题;亦适用于在不使用 Google GMS 的情况下,如何正常使用Google Play 商店