使用新语法应用Android Gradle插件
如何使用新的Gradle插件语法应用Android插件:使用新语法应用Android Gradle插件,android,gradle,plugins,android-gradle-plugin,build.gradle,Android,Gradle,Plugins,Android Gradle Plugin,Build.gradle,如何使用新的Gradle插件语法应用Android插件: plugins { id "..." version "..." } 而不是: buildscript { dependencies { classpath 'com.android.tools.build:gradle:2.3.0' } } apply plugin: 'com.android.application' 这应该可以做到 plugins { id "com.android.
plugins {
id "..." version "..."
}
而不是:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
apply plugin: 'com.android.application'
这应该可以做到
plugins {
id "com.android.application" version "<desired version>"
}
插件{
id“com.android.application”版本“”
}
请参阅
该id是您以前“应用”的id。您应该将其放在应用程序级渐变文件的构建脚本块之后
// 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
}
我只是遇到了同样的问题并找到了解决办法。这个问题源于这样一个事实:无论出于何种原因,谷歌决定不将应用程序插件放入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}")
}
}
}
}
错误:(3,0)插件[id:'com.android.application',version:'2.3.0']未在以下任何来源中找到:-Gradle核心插件(插件不在'org.Gradle'命名空间中)-Gradle中央插件库(没有'com.android.application'插件可用-请参阅https://plugins.gradle.org 对于可用的插件)
Yep。不起作用。我得到错误:(10,0)插件'com.android.application'已经在脚本类路径上。脚本类路径上的插件不能应用于Plugins{}块。在脚本正文中添加“apply plugin:'com.android.application'”,以使用插件。
这是不正确的。插件ID不一定与您使用的apply plugin
相同。另外,正如其他人所评论的,AFAIK的Android gradle插件还不能与“新”的gradle插件DSL一起应用。这并不是在回答这个问题。这在最新版本上有效吗?我遇到了这个错误:无法加载类'com.android.build.gradle.BaseExtension'。
一切正常,但最好使用每个命名空间检查:requested.id.namespace==“com.android”
android gradle插件4.2将正确支持插件块。在此之前,请使用下面的插件管理解决方案。资料来源: