0

これは、私がMacで開発しているAndroid Studio(2.1.2)プロジェクトのトップレベルの "build.gradle"ファイルです。Android build.gradle bracing style bug

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() 
    } 
} 

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

私はそうのように、同じブレーススタイルを使用している下の「タスククリーン」ブロックを変更するまで、すべてが正常に動作します。

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

私はこの変更を行うと、右上隅にある「今すぐ同期」をクリックすると、私は言葉「タスク」下の左中括弧の行に構文エラーを取得します。

Error:(28, 0) Cause: startup failed: build file 'build.gradle': 28: Ambiguous expression could be a parameterless closure expression, an isolated open code block, or it may continue a previous statement; solution: Add an explicit parameter list, e.g. {it -> ...}, or force it to be treated as an open block by giving it a label, e.g. L:{...}, and also either remove the previous newline, or add an explicit semicolon ';' @ line 28, column 1. { ^

これはAndroid Studio、Gradle、または...のバグですか?

答えて

2

このスタックオーバーフローポストで指摘したように、問題はセミコロン推論です。

Simple gradle build file build error

だから私の場合のソリューションは、この構文を使用することです。

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