2017-10-10 2 views
1

Je suis coincé à ce problème depuis 2-3 heures. J'ai essayé beaucoup de solution de la même question mais aucun ne fonctionne. La construction gradle fonctionnait bien, mais après avoir changé le niveau min sdk de 23 à 17 studio android a commencé à me donner cette erreur.Méthode Gradle DSL introuvable: 'compile() Le projet' android 'utilise peut-être une version de Gradle qui ne contient pas la méthode

Erreur: (32, 0) Méthode DSL Gradle non trouvée: 'compiler()' causes possibles:

Le projet 'androïde' peut être en utilisant une version du plug-in applications Gradle qui ne contient pas la méthode (par exemple 'testCompile' a été ajouté en 1.1.0). Mettre à niveau le plugin vers la version 2.3.3 et le projet de synchronisation

Le projet 'android' utilise peut-être une version de Gradle qui ne contient pas la méthode. Fichier d'enveloppe Gradle ouvert

Le fichier de construction peut manquer un greffon Gradle. Appliquer le plugin Gradle

Voici mes fichiers Gradle:

build.gradle (projet: android)

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     mavenLocal() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.3' 
     classpath 'com.google.gms:google-services:3.0.0' 

    } 
} 

allprojects { 
    repositories { 
     mavenLocal() 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

build.gradle (module: app)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion '25.0.0' 
    defaultConfig { 
     applicationId "com.google.transporttracker" 
     minSdkVersion 17 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     resValue "string", "build_transport_id", (project.findProperty("build_transport_id") ?: "") 
     resValue "string", "build_email", (project.findProperty("build_email") ?: "") 
     resValue "string", "build_password", (project.findProperty("build_password") ?: "") 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE-FIREBASE.txt' 
     exclude 'META-INF/NOTICE' 
    } 
    productFlavors { 
    } 
} 

ext { 
    support = '23.2.0' 
    playServices = '10.2.4' 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile "com.android.support:appcompat-v7:$support" compile "com.android.support:cardview-v7:$support" compile "com.android.support:design:$support" compile "com.google.android.gms:play-services-gcm:$playServices" compile "com.google.android.gms:play-services-location:$playServices" compile "com.google.firebase:firebase-core:$playServices" compile "com.google.firebase:firebase-auth:$playServices" compile "com.google.firebase:firebase-config:$playServices" compile "com.google.firebase:firebase-crash:$playServices" compile "com.google.firebase:firebase-database:$playServices" compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    classpath 'com.google.gms:google-services:3.0.0' 
    compile 'com.google.android.gms:play-services-maps:10.2.4' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    testCompile 'junit:junit:4.12' 
} 

apply plugin: 'com.google.gms.google-services' 
+0

Essayez de changer '' '' '' 'dans' 'dependencies'. Aussi, je ne pense pas que vous ayez besoin de' classpath' dans les dépendances, supprimez-le aussi. –

Répondre

1

Le problème est à l'intérieur de la fermeture des dépendances: Vous ne pouvez pas écrire plusieurs instructions de compilation sur une seule ligne. Notez simplement chaque instruction de compilation dans une ligne distincte, cela fonctionnera.

Je pense que c'est un bug avec la mise en forme automatique lorsque vous utilisez des variables pour les versions de dépendances et donc envelopper les dépendances entre guillemets au lieu de guillemets simples.