首页 > 解决方案 > 如何在android项目中使用不同的google-services.json文件添加不同风格的相同应用程序(想要克隆应用程序)?

问题描述

我想克隆我的 android 应用程序并在不同的区域使用不同的名称和全新的数据库启动它,我不想重新编写代码或制作项目的副本。我在项目的 build.gradle 文件中使用了 productFlavour{},但我做错了。

        flavour1 {
            dimension 'default'
            applicationId "com.example.flavour1"
        }

        flavour2 {
            dimension 'default'
            applicationId "com.example.flavour2"
        }

我收到这个错误,上面写着

No signature of method: build_7epdrck7cjxe08sh65acsfob0.android() is applicable for argument types: (build_7epdrck7cjxe08sh65acsfob0$_run_closure1) values: [build_7epdrck7cjxe08sh65acsfob0$_run_closure1@29754fbc]

我还在我的项目 src/ 根文件夹下创建了两个具有相同名称的文件夹 flavor1 和 flavor2 并添加了它们各自的 google-service.json 文件。但它不起作用。我做错什么了吗?

这是我的整个 gradle 文件代码,除了依赖项

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29

    defaultConfig {
        applicationId "com.example.scs"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {

        release {
            minifyEnabled true
            debuggable false
            jniDebuggable false
            renderscriptDebuggable false
            pseudoLocalesEnabled false
            zipAlignEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile(
                    'proguard-android-optimize.txt'),
                    'proguard-rules.pro'
        }
    }

    productFlavours{
         flavour1 {
            dimension 'default'
            applicationId "com.example.flavour1"
        }

        flavour2 {
            dimension 'default'
            applicationId "com.example.flavour2"
        }
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
    aaptOptions {
        cruncherEnabled = true
    }
}

非常感谢任何帮助或建议。提前致谢。

标签: androidfirebaseandroid-studiogradlegoogle-play-services

解决方案


推荐阅读