Android和Firebase:不同测试周期的不同环境
我目前正在开发我的第一个Android应用程序,它是我已经开发的一个iOS应用程序的Android/Kotlin版本。我创建了3个不同的Firebase项目,为每个环境提供独立的实时数据库实例:Android和Firebase:不同测试周期的不同环境,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我目前正在开发我的第一个Android应用程序,它是我已经开发的一个iOS应用程序的Android/Kotlin版本。我创建了3个不同的Firebase项目,为每个环境提供独立的实时数据库实例: com.myapp.debug仅由我用于开发 应使用com.myapp.beta进行alpha和beta测试 com.myapp应仅适用于将在Play Store上公开发布的生产应用程序 当我打算在Android应用程序中插入这3个环境时,我读到我应该使用产品风格,所以下面是我如何配置构建的: an
- com.myapp.debug仅由我用于开发
- 应使用com.myapp.beta进行alpha和beta测试
- com.myapp应仅适用于将在Play Store上公开发布的生产应用程序
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.derbigum.approofreferences"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "dev", "qa", "prod"
productFlavors {
dev {
dimension "dev"
applicationId "com.derbigum.approofreferences.debug"
}
qa {
dimension "qa"
applicationId "com.derbigum.approofreferences.beta"
}
prod {
dimension "prod"
applicationId "com.derbigum.approofreferences"
}
}
}
当然,我在src中创建了相应的子文件夹来存储我为每个项目获得的各种版本的google-services.json
我用它完成了所有的开发工作,到目前为止一切正常:开发数据是在正确的数据库中创建的
但现在我想做第一个封闭的alpha版本,但我不知道我应该如何生成我的APK。我只有两个构建变体:
- devQaProdDebug
- devQaProdRelease
也许我在配置维度时出错了?也许是别的原因。有人能帮我弄清楚我的设置是否正常,如果可以,我应该如何构建我的应用程序的封闭alpha版本,并将其发布给我的内部用户进行测试?我想你想要的不是三种环境的三维,而是环境的一维,有三种风格:
flavorDimensions "env"
productFlavors {
dev {
dimension "env"
applicationId "com.derbigum.approofreferences.debug"
}
qa {
dimension "env"
applicationId "com.derbigum.approofreferences.beta"
}
prod {
dimension "env"
applicationId "com.derbigum.approofreferences"
}
}
这将为每个环境生成变体。非常感谢,这就是问题所在。遗憾的是,文档在示例中非常便宜,说明了如何使用这个味道维度,尽管它现在是强制性的。