【问题标题】:Error: Gradle DSL method not found: 'google()' [duplicate]错误:找不到 Gradle DSL 方法:'google()' [重复]
【发布时间】:2018-02-06 12:38:08
【问题描述】:

我正在尝试将一个外部库添加到我现有的项目中。我创建了一个 libs 文件夹并在根目录中添加了我的 MaterialDrawer 库。这是我的 settings.gradle 文件:

include ':app'
include 'libs:MaterialDrawer'

但 gradle 同步失败并出现以下错误:

错误:找不到 Gradle DSL 方法:'google()'

我在 SO 中找不到关于我的问题的任何解决方案。有人愿意帮忙吗?

这是build.gradle(项目)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.google.gms:google-services:3.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
    }
}

这是build.gradle(应用程序)

机器人{ compileSdkVersion 25 buildToolsVersion '25.0.0'

defaultConfig {
    applicationId "com.myapp"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 38
    versionName "2.1.8"

    generatedDensities = []

}

dexOptions {
    javaMaxHeapSize "4g"
}

aaptOptions {
    additionalParameters "--no-version-vectors"
}

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}

repositories {
    mavenCentral()
    maven { url "https://jitpack.io"}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(":libs:MaterialDrawer")
}

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

【问题讨论】:

  • add repositories { maven { url 'maven.google.com' // 替代 URL 是 'dl.google.com/dl/android/maven2' } } 在项目的 gradle 中
  • 仍然出现错误。 :(
  • @noob-Sci-Bot libs 目录中有 jar 库吗?为MaterialDrawer 发布build.gradle。以及为什么在应用程序build.gradle 中使用repositories 部分?
  • @DeKaNszn 我的 libs 文件夹中没有任何 jar 库。刚刚从github下载了zip文件,解压并粘贴到libs中的文件夹。
  • @noob-Sci-Bot 是 github.com/mikepenz/MaterialDrawer 吗?

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


【解决方案1】:

方法 google() 在 Gradle 4.0 中添加
你应该在旧版本上使用maven { url 'https://maven.google.com' }

同时从您的应用程序build.gradle 中删除repositories 部分(您可以将其与根build.gradle 合并)

阅读如何将库添加到build.gradle here

compile('com.mikepenz:materialdrawer:5.9.5@aar') {
    transitive = true
}

【讨论】:

  • 不幸的是无法正常工作。请告诉我为什么它与我新添加的外部库有关?在添加之前一切都很好。
  • 显示此库的 build.gradle
  • 感谢您的回答。但我主要关心的是修改 mikepenz 库。如果我直接通过 URL 编译,我该如何修改它?
  • 我对使用库的回答(你没有说修改)。如果要修改,则应将其用作模块。
  • 这就是我想做的。如何将其添加为模块?你能帮我吗?
猜你喜欢
  • 2018-10-22
  • 1970-01-01
  • 2016-02-28
  • 2018-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多