找不到Gradle DSL错误mavenCentral()

时间:2016-08-21 10:38:32

标签: android android-studio android-gradle build.gradle

我试图在我的项目中添加一些依赖项,但是我得到了这个错误:

    Error:(21, 0) Gradle DSL method not found: 'mavenCentral()'
Possible causes:<ul><li>The project 'My Application' may be using a version of Gradle that does not contain the method.
<a href="open.wrapper.file">Open Gradle wrapper file</a></li><li>The build file may be missing a Gradle plugin.
<a href="apply.gradle.plugin">Apply Gradle plugin</a></li>

我已经尝试了一切来解决它。这是我的gradle文件:

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

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenCentral()

    }

    mavenCentral()
    maven {
        url "http://indooratlas-ltd.bintray.com/mvn-public"
    }
}

这是另一个:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    def apiKey = project.properties['indoorAtlasApiKey'] ?: "api-key-not-set";
    def apiSecret = project.properties['indoorAtlasApiSecret'] ?: "api-secret-not-set";
    def pubNubPublishKey = project.properties['pubNubPublishKey'] ?: "not-set";
    def pubNubSubscribeKey = project.properties['pubNubSubscribeKey'] ?: "not-set";

    defaultConfig {
        applicationId "io.noxel.showroom"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        resValue "string", "indooratlas_api_key", apiKey
        resValue "string", "indooratlas_api_secret", apiSecret.replaceAll("%", "\\\\u0025")
        resValue "string", "pubnub_publish_key", pubNubPublishKey
        resValue "string", "pubnub_subscribe_key", pubNubSubscribeKey
    }
    buildTypes {
        release {
            signingConfig signingConfigs.debug
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
        lintOptions {
            abortOnError false
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.indooratlas.android:indooratlas-android-sdk:2.2.0@aar'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.maps.android:android-maps-utils:0.3.+'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'
    compile 'com.pubnub:pubnub-android:3.7.5'
    compile 'com.android.support:design:24.0.0-alpha2'
}

谁能告诉我如何解决它?

2 个答案:

答案 0 :(得分:3)

这样:

allprojects {
    repositories {
        mavenCentral()

    }

    mavenCentral()
    maven {
        url "http://indooratlas-ltd.bintray.com/mvn-public"
    }
}

必须更改为:

allprojects {
    repositories {
        mavenCentral()
        maven {
          url "http://indooratlas-ltd.bintray.com/mvn-public"
       } 
    }
}

答案 1 :(得分:2)

不要添加mavenCentral()两次删除repositories标记之外的内容。

    allprojects {
        repositories {
        mavenCentral()
        maven {
            url "http://indooratlas-ltd.bintray.com/mvn-public"
          }
        }
     }