使用新语法应用Android Gradle插件

时间:2017-03-30 21:06:52

标签: android gradle plugins android-gradle build.gradle

如何使用新的Gradle插件语法应用Android插件:

plugins {
    id "..." version "..."
}

而不是:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
    }
}

apply plugin: 'com.android.application'

3 个答案:

答案 0 :(得分:1)

您应该在构建脚本块之后将其放置在应用程序级别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:2.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
}
plugins {
   id "me.tatarka.retrolambda" version "3.7.0"
}
allprojects {
  repositories {
     jcenter()
     maven { url "https://maven.google.com" }

    }
}

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

答案 1 :(得分:1)

我只是遇到了同样的问题,找到了解决方法here。问题是由于Google出于任何原因决定不将应用程序插件放入Gradle的社区插件存储库中。

build.gradle中,完全删除buildscript块,然后添加

plugins {
    id 'com.android.application' version '3.4.0'
}

settings.gradle中添加

pluginManagement {
    repositories {
        gradlePluginPortal()
        jcenter()
        google()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == "com.android.application") {
                useModule("com.android.tools.build:gradle:${requested.version}")
            }
        }
    }
}

答案 2 :(得分:0)

这应该这样做。

plugins {
  id "com.android.application" version "<desired version>"
} 

请参阅https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block

上的DSL

ID是您之前&#34;申请&#34;。