[Android-Studio] buildTypes不能應用於groovy.lang.Closure



Answers

我遇到過同樣的問題。 將buildTypes作為android部分的最後一個條目移動給我工作。

android {
    ...
    buildTypes {
    }
}
Question

我在我的項目gradle文件中收到此警告:

警告:(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.我試著回退到21,但仍然收到警告。

導致此警告的原因是什麼?它是如何修復的?




我所要做的就是去除

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'
        }
    }
}



要解決此問題,請在Android Studio中轉到文件 - >設置 。 在設置中選擇Build,Execution,Deployment - > Build Tools - > Gradle並選擇“Use default gradle wrapper(recommended)”選項。

重建後你的build.gradle將會完全正常。




目前的問題是,您可能在升級時導入的Android Studio設置仍然指向gradle-2.4或除Android Studio 1.5預期的其他版本。

要解決這個問題,你應該打開設置並轉到構建,執行,部署>構建工具> Gradle,並更改本地Gradle分配的主路徑選擇默認的Gradle包裝器。

應用並重新同步您的項目。




我設法解決我的問題,只需這樣做:單擊“文件”,然後選擇“無效緩存/重新啟動




在你的Android Studio中進入文件 - >設置。 接下來選擇Build,Execution,Deployment - > Build Tools - > Gradle並選擇“使用默認gradle wrapper(推薦)”。

重建項目。




這對我有用:

buildTypes.debug {
    ext.enableCrashlytics = false
}

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



編輯:這我怎麼終於解決了這個問題...

  1. 在Android Studio中導航到:

    文件| 設置| 構建,執行,部署| 構建工具| 搖籃

  2. 儘管建議保留這一點,但請確保這一點不受限制

    使用默認的Gradle Wrapper(推薦)

  3. 並檢查這一個...

    使用本地gradle分發

  4. 而且Gradle Home已經設置了這個功能,可能還會有更新的gradle-nn ...

    C:/ Program Files / Android / Android Studio1 / gradle / gradle-2.4

您可能需要重新啟動Android Studio,重建項目等,但問題已解決。

編輯結束。

我張貼這個建議任何新的這個問題的人忽略它。 該項目無論如何運行完美。 這只是構建系統中的一個錯誤,希望能盡快解決。 我發表了一條評論,並在這裡投票,它又是一個活躍的主題......

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

在嘗試了以下三個線程中的建議之後,我沒有成功,我從頭開始重新製作了整個項目。 我開始了一個新的Android Studio項目,將所有的原始庫和主文件複製到它中,忽略了由構建系統生成並重建項目的任何文件。 除了所有那些“不能應用於'(groovy.lang.Closure)'”的警告之外,一切都很好。“”警告以復仇再次出現。 然後,我再次通過這些建議,以確保我沒有忽視某些東西。

1 buildTypes不能應用於groovy.lang.Closure轉到Android Studio中的設置並選擇“使用gradle wrapper”:在Android Studio中選擇:File \ Settings \ Build,Execution,Deployment \ Build tools \ Gradle Mark:使用默認Gradle包裝(默認)這在構建文件中刪除了所有'不能應用於'(groovy.lang.Closure')警告。

2 '依賴關係'不能應用於'(groovy.lang.Closure)'打開並編輯文件:yourproject / gradle / wrapper / gradle-wrapper.propertie。 編輯內容如下圖,然後保存。 刪除這個文件夾:yourproject / .gradle。 點擊同步項目與Gradle文件,然後你很好去。

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

我的配置是:Android Studio 1.3,compileSdk版本22,buildTools版本“22.0.1”




在我更新Android Studio之後,我曾經有過這個警告。

當我去設置>>構建工具>> Gradle時,我發現本地Gradle路徑無效,因為gradle版本也從2.6更新到2.8。

修復了新路徑和重新同步gradle刪除了警告。

另一種方法是使用gradlewrapper