Home > Mobile >  My build is configured to settings repositories over project repositories, repository ‘Google’ was a
My build is configured to settings repositories over project repositories, repository ‘Google’ was a

Time:01-12

I have tired to use the answer(s) for another question like mine here but I do not understand nor do I think it answers my question Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle' I am using latest version of Android Studio

Here is my build.gradle project

 // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository

        mavenCentral()  // Maven Central repository

    }
    dependencies {
        // Add the dependency for the Google services Gradle plugin
        classpath 'com.google.gms:google-services:4.3.13'

    }
}

allprojects {
    repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository

        mavenCentral()  // Maven Central repository

    }
}
plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
}

and here is my build.gradle module

    plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
}

android {
    namespace 'com.example.destination'
    compileSdk 32

    defaultConfig {
        applicationId "com.example.destination"
        minSdk 17
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.5.1'
    implementation 'com.google.android.material:material:1.7.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation platform('com.google.firebase:firebase-bom:31.1.1')
    implementation 'com.google.firebase:firebase-analytics'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    classpath 'com.android.tools.build:gradle:7.3.1'
}

and finally here is my settings.gradle (project settings) code

    pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    //repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
rootProject.name = "Destination"
include ':app'

If there is a solution could you give me a step by step on how to do it please as I have never done this before. I am trying to add Firebase to my app

CodePudding user response:

You have configured it to fail when repo's are added to a projects build.gradle:

    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

and then you add google() to your root (a project) build.gradle file here:

allprojects {
    repositories {
        google() 
        mavenCentral() 

    }
}

^ delete that

because in your settings.gradle you declare them anyway, here:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 
    repositories {
        google()    // no need to declare this in `allProjects` if its declared here 
        mavenCentral()
    }
}
  • Related