Lors de la création d'un nouveau projet dans Android Studio Arctic Fox Canary 8, il s'agit du niveau d'application build.gradle
problem occurred evaluating root project 'My Application'. > Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle'
Lors de la création du même nouveau projet dans le Studio Android 4.1.2, le Le fichier Build.Gradle de l'application est le suivant:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = "1.3.72" repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
L'une des bibliothèques que j'utilise nécessite le allprojects
i essayé manuellement d'ajouter la section allProjects
dans Canary 8, a reçu cette erreur:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.0.0-alpha08" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } task clean(type: Delete) { delete rootProject.buildDir }
Pourquoi le AllProjects
dans Android était-il Studio Canary 8 a été supprimé et comment puis-je l'ajouter pour que je puisse utiliser les bibliothèques?
7 Réponses :
dans Settings.gradle
Il suffit de commenter le bloc entier
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // Warning: this repository is going to shut down soon } }
Cela ne fonctionne pas. Lorsque je commençai ce bloc, j'obtiens: Impossible de résoudre: AndroidX.AppCOMPAT: AppCompat: 1.2.0 n'a pas réussi à résoudre: com.google.android.material: Matériel: 1.3.0 n'a pas réussi à résoudre: AndroidX. UI-test-junit4: 1.0.0-beta01 n'a pas réussi à résoudre: AndroidX.Test.espresso: Espresso-core: 3.3.0 n'a pas réussi à résoudre: AndroidX. .test.ext: Junit: 1.1.2 (+5 plus) Veuillez supprimer les usages de jCenter ()
Maven Repository de vos scripts de construction et migrez votre version vers d'autres référentiels Maven.
dans settings.gradle
Vous pouvez ajouter les référentiels que vous souhaitez ajouter au projet
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() maven { url "https://maven.xyz.com" } } }
Gardez simplement cette ligne dans Settings.gradle
Saverne de la vie, tnx.
Accédez à setting.gradle
et remplacez la ligne:
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
par:
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
C'est un Gradle Paraming qui permet à cela de fonctionner.
Après avoir appliqué ce paramètre, Project Sync a réussi. J'utilise Android Studio Arctic Fox | 2020.3.1 Patch 1 (pour ARM) OpenJDK 64 bits serveur VM par JetBrains S.R.O. MacOS 11.5.2 sur un M1 MacBook Pro.
Pouvez-vous nous dire quelle est la différence entre les deux?
Dans la nouvelle version d'Android, fournissez une nouvelle façon de définir vos référentiels. Avant cette version, nous avons utilisé build.gradle (niveau de projet) fichier pour définir les référentiels. Vous devez maintenant écrire ensuite dans le fichier settings.gradle . C'est pourquoi il entre en collision avec le plugin Gradle et génére ce message d'erreur:
plugins { id 'com.android.application' id 'kotlin-android' id 'com.google.gms.google-services'// If you use }
Nous pouvons le résoudre de deux manières possible >
Utilisez la manière précédente: ne pas utiliser dépendanceResolutionManagement pour les référentiels dans settings.gradle fichier Continuez simplement les paramètres. Modifiez ou ajoutez la ligne en haut de la build.gradle (niveau du module) Solution 2: p> Utilisez une nouvelle façon: utiliser DependencyResolutionManagement pour les référentiels dans settings.gradle fichier Continuez simplement les paramètres. Conserver Build.gradle (niveau du module) comme précédent: J'espère que vous surmontez votre problème. buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
classpath 'com.google.gms:google-services:4.3.10' // If you use
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "YourAppName"
include ':app'
Je voulais juste savoir que c'est une bonne façon de le faire? Je voulais ajouter cette dépendance 'com.github.philjay: mpandroidchart: v3.1.0' qui nécessite maven {url ' jitpack.io A> '} Repositaires. Son wokring .... je l'ai directement ajouté dans setting.gradle -> DependencyResolutionManagement {RepositoriesMode.Set (RepositoriesMode.fail_on_project_repos) Repositaires {Google () mavencentral () jCenter () Maven {url ' jitpack.io '}}}
Google a apporté quelques modifications dans l'étiquette de projet Gradle.
Vous pouvez résoudre ce problème en supprimant toute la configuration de l'étiquette de projet sur le fichier de set Code dans le fichier gradle et tous vos plugins code dans le fichier setting.gradle. Comme ci-dessous.
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } plugins { id 'com.android.application' version '7.1.0-alpha03' id 'com.android.library' version '7.1.0-alpha03' id 'org.jetbrains.kotlin.android' version '1.5.10' } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "MVVMDEMO" include ':app'
AllProjects {}
Le bloc est supprimé de la version mise à jour de Gradle. Ainsi, dans Settings.gradle, vous pouvez ajouter les référentiels que vous souhaitez télécharger et ajouter au projet