Gradle DSL方法未找到:android()。

4
任何解决这个问题的建议: 在导入项目后,我在Android Studio中遇到了这个错误。
错误:(16,0)Gradle DSL方法未找到:'android()' 可能的原因:
  • 'LoginActivity'项目可能正在使用不包含该方法的Gradle版本。 Gradle设置
  • 构建文件可能缺少Gradle插件。 应用Gradle插件
  • // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
        }
    }
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    android {
        compileSdkVersion 21
        buildToolsVersion '21.0.0'
        dexOptions {
            incremental true
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_6
            targetCompatibility JavaVersion.VERSION_1_6
        }
    }
    dependencies {
        compile 'com.android.support:support-v4:21.0.3'
        compile 'com.android.support:appcompat-v7:21.0.3'
    }
    apply plugin: 'eclipse'
    apply plugin: 'java'
    

    出现了一条通知栏提示: Gradle项目同步失败。基本功能(如:编辑,调试)将无法正常工作。

    请帮我解决这个问题。谢谢!


    对我来说解决问题的答案是其他的。请查看这个链接:https://dev59.com/4n_aa4cB1Zd3GeqP00Xe?lq=1 - Fidel Orozco
    3个回答

    4
    如果您的构建脚本中有一个android块,则根据您的模块是应用程序模块还是库模块,需要以下两个语句之一:
    apply plugin: 'com.android.application'
    

    或者:

    apply plugin: 'com.android.library'
    

    说了这么多,你的构建脚本还有其他问题。首先,这是一个顶层构建脚本(正如你在注释中看到的那样,“可以添加配置选项的顶层构建文件...”),因此可能实际上没有一个顶层模块来应用android块,所以添加apply plugin语句可能只会导致不同的错误。如果出现这种情况,请删除android块。
    另一个问题是,你已经在这个构建脚本中使用了apply plugin: 'java'语句。你不能在同一个构建脚本中同时使用Java和Android插件;它们会相互冲突。

    2

    只需从您的根build.gradle文件中删除此方法

    android {
    compileSdkVersion 21
    buildToolsVersion '21.0.0'
    dexOptions {
        incremental true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    } }
    

    在重新编译后应该可以正常工作。


    0

    如果出现错误,请检查您的Gradle文件版本,并删除其他Gradle依赖项,例如classpath 'com.android.tools.build:gradle:1.5.0',这可能会解决问题。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接