我有一个Android项目定义
buildscript {
repositories {
jcenter()
}
dependencies {
// Android plugin for gradle
// http://google.github.io/android-gradle-dsl
classpath 'com.android.tools.build:gradle:1.5.0'
// ...
在我的应用程序中我想设置
android {
// ...
lintOptions {
// http://google.github.io/android-gradle-dsl/1.5/com.android.build.gradle.internal.dsl.LintOptions.html#com.android.build.gradle.internal.dsl.LintOptions:severityOverrides
severityOverrides {
["MissingTranslation": "warning"]
}
// ...
但我明白错误
错误:(34,0) Gradle DSL方法没有找到:'severityOverrides()‘可能的原因:项目'android’可能正在使用不包含该方法的Gradle版本。
设置severityOverrides的正确方法是什么?
确实编译但对:app:lintVitalRelease
构建步骤没有预期效果的版本:
import com.android.builder.model.LintOptions
// ...
severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING]
和
import com.android.builder.model.LintOptions
// ...
severityOverrides.MissingTranslation = LintOptions.SEVERITY_WARNING
发布于 2016-04-15 06:34:54
我想和大家分享我正在做的事情。
与set severityOverrides不同,您可以对要设置的每种类型的标志调用一个方法。
lintOptions {
ignore "RtlEnabled", "RtlHardcoded", "RtlSymmetry" ....
warning "RtlEnabled", "RtlHardcoded", "RtlSymmetry" ....
error "RtlEnabled", "RtlHardcoded", "RtlSymmetry" ....
fatal "RtlEnabled", "RtlHardcoded", "RtlSymmetry" ....
informational "RtlEnabled", "RtlHardcoded", "RtlSymmetry" ....
}
就你而言,你可以:
lintOptions {
warning "MissingTranslation"
}
我不确定是否可以手动设置severityOverrides,因为它是只读属性。
因此,我认为您必须调用上述方法之一(错误、致命等)。若要重写所需的属性,请执行
发布于 2016-02-26 06:25:51
(不是答案,但当我无法让lintOptions.severityOverrides
工作时,我就用它作为等效的替代物)
在模块根目录下放置具有相同配置的lint.xml文件。
<?xml version="1.0" encoding="UTF-8" ?>
<lint>
<issue id="MissingTranslation" severity="warning" />
</lint>
您还可以获得一个更丰富的API来通过lint.xml
优化lint警告。
发布于 2016-02-26 03:59:28
Map<String, Integer> severityOverrides
您所链接的文档表明,severityOverrides的类型应该是Map<String, Integer>
,因为您使用的是两个字符串。而且,severityOverrides似乎不是一个方法,而是一个属性,因此您应该省略大括号{}
,它提供:
import com.android.builder.model.LintOptions
lintOptions {
severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING]
}
https://stackoverflow.com/questions/35360240
复制相似问题