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 2015年

これはオンラインソースからのプロジェクトです、私はそれをインポートしました
サウロン


私の答えを見てください。プロジェクトをアップグレードするだけです。
Jared Burrows 2015年

回答:


56

私は先に進み、あなたが提供したリンクからプロジェクトをダウンロードしました:http//javapapers.com/android/android-chat-bubble/

これは古いチュートリアルなので、ソフトウェア、gradle、Androidビルドツール、プラグインをアップグレードするだけです。

最新のGradleとAndroidStudioを使用していることを確認してください。

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ファイルは1つしかありませんでした。アプリとプロジェクトの2つをどのようにして入手しましたか?
サウロン2015年

zipをダウンロードし、コマンドラインからファイルを調べました。また、通常、トップのbuild.gradleとプロジェクトのbuild.gradleがあります。プロジェクトをIntellij / Android Studioにインポートするときに、最上位のbuild.gradleを選択します。appフォルダーにはトップのbuild.gradleともう1つがあります。
Jared Burrows 2015年

@Sauronすべてがあなたのために働きますか?更新したbuild.gradlesを実行するには、それを使用する必要があります。また、さらにサポートが必要な場合はお知らせください。
Jared Burrows 2015年

@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
Wonderful Android Studio 2.2 Previewは、これをランダムにトップレベルのbuild.gradleに配置します
Kevin

27

なんらかの理由で、Android Studioは最上位のbuild.gradleファイルにandroid()メソッドを誤って追加します。

メソッドを削除するだけでうまくいきます。

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}

3
2016年もまだ問題であり、セクションをコメントアウトすることで解決しました。
BurninLeo 2016

1
このコードはASによって生成されました。削除すると問題が解決しました。ありがとう!
トムベベランダー2016年

14

私は以下の手順でこの問題を管理しようとしました:

android { ... }トップレベルのルートgradleファイルのブロックを削除します

調べて

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

ここでのapp / gradleファイルのコード行は、以下のドロップダウンにあるバージョンの1つだけが存在する必要があります。そうでない場合は、同じものをダウンロードするオプションが提供されます。

ここに画像の説明を入力してください


私はAndroid5.0に移行したので、これはもはや問題ではありません
Sauron

10

EclipseNDKプロジェクトをAndroidStudioにインポートしようとしたときに、これと同じエラーが発生しました。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メソッドが見つかりません: 'android()'」エラーが発生する可能性があります。 。

コメントにいくつかの詳細な説明があるパッチファイルをここで準備しました:https//gist.github.com/shumoapp/91d815de6e01f5921d1f これらは、ネイティブオーディオndkプロジェクトをAndroidStudioにインポートした後に行わなければならなかった変更です。


ありがとう!クリーンなcocos2dandroidプロジェクトに取り組みました
Jacek Pietal 2016年

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 Studioをインストールしたばかりで変更しなかった場合は、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 2016

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 2016

0

このエラーは、Githubからプロジェクトをインポートしているときに発生しました。これは、プロジェクトが古いバージョンであったために発生します。以下のメソッドをルートgradleから削除してみてください。

android {compileSdkVersion 19 buildToolsVersion "19.1"}

その後、再試行してください。

私はそれがうまくいくことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.