web-dev-qa-db-ja.com

buildTypesをgroovy.lang.Closureに適用することはできません

私は私のプロジェクト許可ファイルでこの警告を受けています:

警告:(16、5) 'buildTypes'は '(groovy.lang.Closure <com.Android.build.gradle.internal.dsl.BuildType>)には適用できません

私のbuildTypesセクションは以下のとおりです。

    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-project.txt'
        }
    }

私は現在、Android Studio 1.1.0、compileSdkVersion 22、buildToolsVersion 22.0.0、およびtargetSdkVersion 22を使用しています。

この警告の原因と修正方法は?

240
Jim Vitek

私にとっては、上記の解決策を適用しても問題は解決しませんでした。代わりに、私はAndroid Studio内の設定に行き、「Use gradle wrapper」を選択しなければなりませんでした:

Android Studioで、次の項目を選択します。ファイル\設定\ビルド、実行、配置\ビルドツール\ Gradle

(Macユーザー:Android Studio¥Preferences ...¥Build、Execution、Deployment¥Build tools¥Gradle

マーク:デフォルトのグラドルラッパーを使用(デフォルト)

これにより、ビルドファイル内の「に適用できない」(groovy.lang.Closure ')警告がすべて削除されました。

470
Peter

私は同じ問題を抱えていました。 Androidセクションの最後のエントリとしてbuildTypeを移動することは私にとってはうまくいきました。

Android {
    ...
    buildTypes {
    }
}
126
dorr

1「Android」セクションの同じ位置に「buildTypes」をカットアンドペーストします

2プロジェクトの再同期

75
Luca Barillà

この問題を解決するには、あなたのAndroid StudioでFile - > Settingsに行きます。設定でビルド、実行、配置 - >ビルドツール - > Gradleを選択し、"デフォルトのグラドルラッパーを使用(推奨)"オプションを選択してください。

あなたのbuild.gradleを再構築した後は全く問題ないでしょう。

16
Ivan V

上記のオプションがどれもうまくいかない場合は、次の手順を実行します。

  1. 「プロジェクトエクスプローラ」でプロジェクトをProjectパースペクティブに変更します。
  2. .gradleおよびbuildフォルダーを削除します。
  3. クリックファイル - > キャッシュの無効化/再起動... - > 無効にして再起動
  4. 今、その作業、幸せなコーディング。
13
Atif Farrukh

私は単にこれをすることによって私の問題を解決することができました:「ファイル」をクリックしてから「キャッシュを無効にする/再起動する」を選択します

7
Fred

このGradleの問題を解決する最も簡単な方法は、Android StudioにGradleを再構成させるためのプロジェクトを再作成することです。

「既存のAndroid Studioプロジェクトを開く」を選択してプロジェクトフォルダを選択するだけです。

もっと詳しく ここ

6
AleFranz

プロジェクトにあなたの環境をインポートし、そしてGradleプラグインがそれが元々であったものとは異なる場所にインストールされるとき、問題は現れます。あなたはあなたのGradleがどこにインストールされているかを指摘する必要があるだけです。

BuildTypesやdefaultConfig、あるいは他のもの同士の移動は、完全な解決策ではありません。

4
Chisko

これは私のために働いた:

buildTypes.debug {
    ext.enableCrashlytics = false
}

buildTypes.release {
    debuggable false
    zipAlignEnabled true
    minifyEnabled false
    signingConfig signingConfigs.release
}
4
serggl

当面の問題は、アップグレード時におそらくインポートしたAndroid Studioの設定が、まだgradle-2.4またはAndroid Studio 1.5以外のバージョンを指していたことです。期待しています。

この問題を解決するには、設定を開いて[ビルド]、[実行]、[展開]> [ビルドツール]> [Gradle]に移動し、ローカルグラドルディストリビューションのホームパスまたはでデフォルトのグラドルラッパーを選択します。

プロジェクトを適用して再同期します。

3
captainserious

Android Studioで、[ファイル] - > [設定]に移動します。次に[ビルド]、[実行]、[デプロイメント]、[ビルドツール]、[Gradle]の順に選択し、[デフォルトのグラドルラッパーを使用(推奨)]を選択します。

プロジェクトを再構築します。

2
user5275943

私は同じ問題を抱えていました。私は新しいプロジェクトを始めてそれがうまくいったので、build.gradleファイルをコピーしただけです。私の場合、唯一の違いはcompileOptionsセクションがないことでした。私は自分のプロジェクトからそれを削除し、gradleを同期させ、compileOptionsセクションを再挿入してからsydleを再度同期させました。

2
greywolf82

私の場合、私のbuildTypesセクションは私のproductFlavorsセクションの上にありました。彼らの立場を交換することは警告を取り除きました:

前:

buildTypes {

        debug {
            minifyEnabled false
            shrinkResources false
            ...//etc
        }
 }

 productFlavors {
    demo {
        ...//etc
    }
 }

後:

 productFlavors {
    demo {
        ...//etc
    }
 }    

 buildTypes {

        debug {
            minifyEnabled false
            shrinkResources false
            ...//etc
        }
 }

私はAndroidセクションの一番上にある次の設定でAndroid Studio 2.1.2を使用しています。

Android {
    compileSdkVersion 24
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.xyz.abc"
        minSdkVersion 14
        targetSdkVersion 24
        //..etc
2
Tash Pemhiwa

私はAndroid Studioをアップデートした後、私はこの警告を持っていました。

設定>>ビルドツール>> Gradle に移動したとき、gradleのバージョンも2.6から2.8に更新されたため、Local Gradleのパスが無効であることがわかりました。

新しいパスを修正し、gradleを再同期すると警告が削除されました。

別の方法はgradlewrapperを使うことです。

1
IronBlossom

からbuildToolsVersionを変更

Android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2" 
.. 
}

Android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1" 
.. 
}

私のために働いた。

0

Gradle-wrapper.propertiesでdistributionUrl = https://services.gradle.org/distributions/gradle-2.1-bin.Zipをgradle-2.1-all.Zipに変更すると問題が解決しました。

0
kengura

編集:これはどのように私はついにこの問題を解決した...

  1. Android Studioで次の場所に移動します。

    ファイル|設定|ビルド、実行、配置ビルドツールGradle

  2. それを維持することが推奨されているにもかかわらず、これがチェックされていないことを確認してください...

    デフォルトのGradleラッパーを使用(推奨)

  3. そして、これはチェックされています...

    地元の小学校ディストリビューションを使用する

  4. そして、そのGradle Homeはおそらく後でgradle-n.nで、これに設定されます。

    C:/プログラムファイル/ Android/Android Studio1/gradle/gradle-2.4

Android Studioを再起動したり、プロジェクトを再構築したりする必要があるかもしれませんが、問題は解決しました。

EDITの終わり.

この問題に慣れていない他の人には無視するようにアドバイスするためにこれを投稿しています。プロジェクトは関係なく完璧に動作します。これはビルドシステムの非常に単純なバグです。近いうちに修正される予定です。私はコメントを投稿し、それが再び活発なトピックであるところでここに投票しました...

https://code.google.com/p/Android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76719

次の3つのスレッドで提案を試みて失敗した後、プロジェクト全体を最初から作り直しました。私は新しいAndroid Studioプロジェクトを開始しました。ビルドシステムによって生成されプロジェクトを再構築したファイルを無視して、元のlibとメインファイルをすべてコピーしました。 「 '(groovy.lang.Closure)'には適用できない」という警告を除いて、すべて問題ありませんでした。それから私は私が何かを見落としていなかったことを確実にするためにこれらの提案を通して再び行きました。

1 buildTypesをgroovy.lang.Closureに適用することはできません Android Studio内の設定に行き、 "Use gradle wrapper"を選択します:Android Studioでは、File\Settings\Build、Execution、Deployment\Build toolsを選択します。\Gradle Mark:デフォルトのグラドルラッパーを使う(デフォルト)これにより、ビルドファイルの '適用できない'(groovy.lang.Closure ')警告がすべて削除されました。

2 'dependencies'は '(groovy.lang.Closure)'には適用できません ファイルを開いて編集してください:yourproject/gradle/wrapper/gradle-wrapper.propertie。下の画像のように内容を編集して保存します。このフォルダを削除してください:yourproject/.gradle。 [プロジェクトをGradleファイルと同期する]をクリックすると、問題ありません。

3 https://github.com/DrKLO/Telegram/issues/87

私の設定は次のとおりです。AndroidStudio 1.3、compileSdkバージョン22、buildToolsバージョン "22.0.1"

0
Mick

アプリフォルダの下のGradleフォルダを削除し、プロジェクトを再同期します

0

削除するためにしなければならなかったすべて

productFlavors {
}

から

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

そして警告は消えた。

最終的な外観はこんな感じでした

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
0
Max