Невозможно установить applicationId или applicationIdSuffix для типов сборки или вариантов сборки - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь иметь возможность иметь несколько версий одного и того же приложения на моем телефоне одновременно. Чтобы достичь этого, я пытаюсь использовать 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'
...