Я пытаюсь иметь возможность иметь несколько версий одного и того же приложения на моем телефоне одновременно. Чтобы достичь этого, я пытаюсь использовать applicationId или applicationIdSuffix, чтобы изменить имя пакета моего приложения в зависимости от того, какую сборку я использую.
У меня есть 2 типа сборки: -Debug -Release
и у меня есть 3 варианта сборки: -Prod -Dev -QA
Я хотел бы добавить ".dev"и" .qa "к именам пакетов. Вот мой раздел Android в моем build.gradle
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.***.*****.*********"
minSdkVersion 24
targetSdkVersion 28
versionCode 1
versionName "1.0"
buildConfigField "String", "GIT_HASH", getGitHash()
buildConfigField "String", "GIT_BRANCH", getGitBranch()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
debuggable false
minifyEnabled true
multiDexEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
flavorDimensions "environment"
productFlavors {
prod {
dimension "environment"
buildConfigField "String", "HOST_URL", "\"*****************\""
resValue "string", "app_name", "**********"
}
dev {
dimension "environment"
buildConfigField "String", "HOST_URL", "\"*****************\""
resValue "string", "app_name", "********** Dev"
applicationIdSuffix ".dev"
}
qa {
dimension "environment"
buildConfigField "String", "HOST_URL", "\"*****************\""
resValue "string", "app_name", "********** QA"
applicationIdSuffix ".qa"
}
}
}
Однако, когда я пытаюсь синхронизировать Gradle, я получаю следующую ошибку:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDevDebugGoogleServices'.
> No matching client found for package name 'com.***.*****.*********.dev'