我在我的项目gradle文件中得到这个警告:

警告:(16日5)'buildTypes'不能应用于'(groovy.lang。关闭< 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 {
}

From

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之后,我曾经有过这个警告。

当我进入设置>>构建工具>>Gradle时,我发现本地Gradle路径无效,因为Gradle版本也从2.6更新到2.8。

修正了新的路径和重新同步gradle删除警告。

另一种方法是使用gradlewrapper。

在gradle-wrapper中将distributionUrl=https://services.gradle.org/distributions/gradle-2.1-bin.zip更改为gradle-2.1-all.zip。物业为我解决了问题。

对我来说,应用上述解决方案并不能解决问题。相反,我不得不在Android Studio中设置并选择“使用gradle wrapper”:

在Android Studio中选择: 文件\设置\构建,执行,部署\构建工具\Gradle

(Mac用户:Android Studio\Preferences…\构建,执行,部署\构建工具\Gradle)

Mark:使用默认的gradle包装器(默认)

这删除了构建文件中的所有“不能应用于”(groovy.lang.Closure')警告。

这招对我很管用:

buildTypes.debug {
    ext.enableCrashlytics = false
}

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

我要做的就是移除

productFlavors {
}

From

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