Android Studio Gradle DSL 메서드를 찾을 수 없음 : 'android ()'— 오류 (17,0)


82

Android Studio에서 내 프로젝트를 실행하려고하는데 아래 오류가 나타납니다.

여기에 이미지 설명 입력

나는 이것을 실행하기 위해 많은 출처를 따랐고 여기에 상처를 입혔지만 다른 무엇을 해야할지 모르겠습니다.

이 프로젝트를 실행하도록 구성하려면 어떻게해야합니까?

build.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:0.9.+'
        }
    }

    allprojects {
        repositories {
            mavenCentral()
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "19.1" 
    }

settings.gradle :

include ':app'

local.properties :

sdk.dir=C\:\\Users\\KJA\\AppData\\Local\\Android\\sdk

gradle.propertes :

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

1
방금이 프로젝트를 시작한 것 같습니다. 왜 파일-> 새 프로젝트를 사용하지 않고 Gradle을 설정하게하십시오. 또한 gradle 플러그인을 1.0으로 업그레이드하십시오.
Jared Burrows

이것은 온라인 소스에서 가져온 프로젝트입니다. 저는 그것을 가져 왔습니다
Sauron


내 대답을 참조하십시오. 프로젝트를 업그레이드하기 만하면됩니다.
Jared Burrows 2015 년

답변:


56

계속해서 제공된 링크에서 프로젝트를 다운로드했습니다. http://javapapers.com/android/android-chat-bubble/

이것은 오래된 튜토리얼이므로 소프트웨어, gradle, 안드로이드 빌드 도구 및 플러그인을 업그레이드하기 만하면됩니다.

최신 Gradle 및 Android Studio가 있는지 확인합니다.

build.gradle :

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

app / build.gradle :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName '1.0'
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
}

그런 다음 gradle을 실행합니다.

gradle installDebug

먼저 추가 노력에 감사드립니다 !! 하지만 프로젝트를 다운로드하고 가져 왔을 때 build.gradle 파일이 하나만있었습니다. 앱과 프로젝트를 어떻게 얻었습니까?
Sauron 2015 년

zip을 다운로드하고 명령 줄을 통해 파일을 살펴 보았습니다. 또한 일반적으로 최상위 build.gradle 및 프로젝트 build.gradle이 있습니다. 프로젝트를 Intellij / Android Studio로 가져올 때 최상위 build.gradle을 선택했습니다. 앱 폴더에는 최상위 build.gradle과 다른 하나가 있습니다.
Jared Burrows

@Sauron 모든 것이 당신을 위해 작동합니까? 실행하려면 업데이트 된 build.gradles를 사용해야합니다. 또한 도움이 더 필요하면 알려주세요!
Jared Burrows

@JaredBurrows stackoverflow.com/questions/30958596/… 도 도와 줄 수 있습니까 ? 이것과 비슷한 질문입니다. Gradle을 업그레이드하는 데 어려움을 겪고 있습니다.
committedandroider

1
다운로드하여 설치하면 동일한 문제가있는 Parse.com Android QuickStart 빈 새 프로젝트를 설정하려는 모든 사용자에게도 작동한다는 의견을 추가하고 싶었습니다. :)
Max

46

최상위 레벨 build.gradle에는 코드가있는 것 같습니다.

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

build.gradleAndroid 빌드 플러그인이 아직로드되지 않았기 때문에 최상위 수준에서이 코드를 가질 수 없습니다 . 앱 수준에서 컴파일 버전 및 빌드 도구 버전을 정의 할 수 있습니다 build.gradle.


3
멋진 안드로이드 스튜디오 2.2 미리보기는 무작위로 최고 수준의 build.gradle이를두고
케빈

27

알 수없는 이유로 Android Studio는 최상위 build.gradle 파일에 android () 메서드를 잘못 추가합니다.

방법을 삭제하면 나를 위해 작동합니다.

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}

3
2016 년에도 여전히 문제가되고 있으며 섹션을 주석 처리하여 해결되었습니다.
BurninLeo

1
이 코드는 AS에서 생성되었습니다. 제거하면 isseu가 해결되었습니다. 감사!
Tom Bevelander

14

아래 단계를 통해이 문제를 관리하려고했습니다.

android { ... }최상위 루트 gradle 파일에서 블록 삭제

들여다보다

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

여기서 app / gradle 파일의 코드 줄은 아래 드롭 다운에있는 버전 중 하나만 있어야합니다. 그렇지 않으면 동일한 다운로드 옵션을 제공합니다.

여기에 이미지 설명 입력


이것은 더 이상 문제가 그래서 나는, 안드로이드 5.0로 마이그레이션하지 않습니다
사우론

10

Eclipse NDK 프로젝트를 Android Studio로 가져 오려고 할 때 이와 동일한 오류가 발생했습니다. Android Studio에서 NDK를 지원하려면 새 gradle 및 Android 플러그인 (및 해당 문제에 대한 gradle 버전 2.5 이상)을 사용해야합니다. 이 플러그인은 모듈의 build.gradle 파일을 변경해야합니다. 특히 " android {...}"객체는 다음 과 같이 " model {...}"객체 내에 있어야합니다 .

apply plugin: 'com.android.model.application'
model {
    android {
    ....
    }
}

따라서 새 gradle 플러그인과 새 android 플러그인을 사용하도록 gradle 구성을 업데이트했지만 모듈의 build.gradle 구문을 변경하지 않은 경우 "Gradle DSL method not found : 'android ()'"오류가 발생할 수 있습니다. .

: 나는 코멘트에 몇 가지 더 설명을 가지고 여기에 패치 파일을 준비 https://gist.github.com/shumoapp/91d815de6e01f5921d1f 이 내가 안드로이드 Studio에 기본 오디오 NDK 프로젝트를 가져온 후해야 할 일을했을 변경됩니다.


감사! 그것은 깨끗한적인 Cocos2D 안드로이드 프로젝트 일
제이 섹 Pietal에게

1

gradle 설정을 수정하는 것은 매우 어렵습니다. Gradle에 대해 잘 모르면 많이 배워야합니다. 대신 다음을 수행 할 수 있습니다.

1) 새 폴더에서 새 프로젝트를 시작합니다. Gradle 문제가있는 프로젝트에서 동일한 설정을 선택하되 단순하게 유지하십시오. 빈 기본 활동을 선택하십시오. 2) ... \ NewProjectName \ app \ src \ main 폴더의 모든 파일 삭제 3) ... \ ProjectWithGradleProblem \ app \ src \ main 폴더의 모든 파일을 ... \ NewProjectName \ app \ src \ main에 복사합니다. 폴더. 4) 테스트 프로젝트 (\ ProjectWithGradleProblem \ app \ src \ AndroidTest)를 사용하는 경우에도 동일한 작업을 수행 할 수 있습니다.

이 방법은 Gradle 설치가 정상이면 잘 작동합니다. Android 스튜디오를 방금 설치하고 수정하지 않았다면 Gradle 설치가 정상입니다.


1

사실 나는 많은 조합을 시도했지만 아무것도 효과가 없었습니다.

하지만 다음과 같이 내 응용 프로그램 gradle 파일을 수정했을 때

 buildTypes {
        release {
            minifyEnabled false
        }
    }

라인을 제거함으로써

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

그것은 정상적으로 작동했습니다 :)) 건배


1

android-studio-bundle-143.2915827-windows 및 gradle2.14를 설치 한 경우 또 다른 솔루션

gradle-2.14가있는 경우 C : \ Program Files \ Android \ Android Studio \ gradle에서 확인할 수 있습니다.

그런 다음 C : \ Users \\ AndroidStudioProjects \ android_app \로 이동해야합니다.

그리고이 build.gradle에 다음 코드를 넣습니다.

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

그런 다음 C : \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantil \ app로 이동합니다.

그리고이 build.gradle에 다음을 입력합니다.

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.0'
defaultConfig {
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
}

sdk 버전과 buildTools를 확인해야합니다. compileSdkVersion 23 buildToolsVersion '24 .0.0 '

모든 변경 사항을 저장하고 AndroidStudio를 다시 시작하면 모두 정상입니다!


사용할 설정을 찾기 위해 새 프로젝트를 만들 것을 제안하는 Traveller의 이전 답변 인 IMHO는 a) 더 쉽게 수행 할 수 있으며 b) 사용할 "최상의"설정이 변경되었을 때 Android의 향후 버전에서 계속 작동합니다. .
ToolmakerSteve

0

루트 build.gradle에서이 줄을 삭제하십시오.

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

이제 다시 시도하고 컴파일하십시오. 작동합니다.


0

루트 build.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.5.0'

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

allprojects {
    repositories {
        jcenter()
    }
}

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

0

나를 위해 일한 것은 "파일-> 새로 만들기-> 버전 관리에서 프로젝트"로 프로젝트를 가져온 다음 온라인 소스 (예 : GitHub)를 선택하는 것이 었습니다. 이렇게하면 가져 오기에서 모든 .gradle 파일이 생성됩니다.


0

나는 또한 그 문제를 만나고 단지 하단 코드를 삭제합니다.

DELETE THESE LINES:
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
}

작동했습니다。


여러 이전 답변과 중복됩니다. 획득하지 못한 찬성 투표를 받기 위해 여기에있는 것 같습니다. 삭제해야합니다.
ToolmakerSteve

0

이 오류는 Github에서 프로젝트를 가져올 때 발생했습니다. 이것은 프로젝트가 이전 버전 이었기 때문에 발생합니다. 루트 gradle에서 아래 방법을 삭제하십시오.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

그런 다음 다시 시도하십시오.

나는 그것이 효과가 있기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.