首先,有关我的设置的一些信息。我试图在Android Studio中构建一个包含不同模块的应用。我的顶级build.gradle文件中有以下依赖项:
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.9.3'
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'org.moallemi.gradle.advanced-build-version:gradle-plugin:1.5.3'
classpath 'com.google.gms:google-services:3.0.0'
}
我试图在我的一个模块中禁用Lint,因为我得到了Lint错误,我稍后会调查(目前,我只想进行构建)。我在我的一个模块中使用了以下设置:
android {
[...]
lintOptions {
abortOnError false
}
[...]
}
但是,我收到以下错误:
Error:(48, 0) No signature of method:
com.android.build.gradle.managed.AndroidConfig.lintOptions() is applicable for argument types:
(build_9pxacuo2f46evz0elkujz25xa$_run_closure1$_closure4$_closure11)
values:[build_9pxacuo2f46evz0elkujz25xa$_run_closure1$_closure4$_closure11@96dc8be]
我已经研究了相应的文档,事情似乎是正确的:
https://developer.android.com/studio/build/gradle-tips.html
我在这里做错了什么?非常感谢您对此事的任何帮助。
答案 0 :(得分:5)
显然我必须用这种方式写东西(这很奇怪,但我现在能够很好地填写):
model {
android.lintOptions {
abortOnError false
}
android {
// Rest of the other declarations goes here...
}
}
我不知道为什么这是有效的,我只知道它有效。一旦我有更多时间(我现在正处于紧张状态),我将回到此处,看看我是否可以进一步调查这一点,并找出指定lintOptions这种奇怪方式的原因......
答案 1 :(得分:0)
Gradle实验插件将android块包装到模块中,而lintOptions方法不接受闭包。
使用android块尝试此代码:
model {
android {
[...]
lintOptions.abortOnError false
[...]
}
}
请参阅此处的文档:http://tools.android.com/tech-docs/new-build-system/gradle-experimental