我有一个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
答案 0 :(得分:13)
我想分享我正在做的事情。
您可以为要设置的每种类型的标志调用一个方法,而不是设置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,因为它是一个只读属性。
所以,我认为你真的必须调用上面的方法之一(错误,致命等......)来覆盖你想要的属性
答案 1 :(得分:3)
(不是答案答案,但是当我无法让lintOptions.severityOverrides
工作时,这就是我用作等效替代品的方式)
在模块的根目录中删除具有相同配置的lint.xml文件。
<?xml version="1.0" encoding="UTF-8" ?>
<lint>
<issue id="MissingTranslation" severity="warning" />
</lint>
您还可以通过lint.xml
获得更丰富的API来调整lint警告。
答案 2 :(得分:2)
Map<String, Integer> severityOverrides
您链接的文档表示severityOverrides的类型应为Map<String, Integer>
,因为您使用了两个字符串。此外,severityOverrides似乎不是一个方法,而是一个属性,所以你应该省略大括号{}
,它给你:
import com.android.builder.model.LintOptions
lintOptions {
severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING]
}
答案 3 :(得分:0)
按照以下说明尝试
lintOptions {
severityOverrides
["HardcodedText": LintOptions.SEVERITY_ERROR
, 'SetTextI18n': LintOptions.SEVERITY_ERROR]
checkReleaseBuilds true
abortOnError true
check 'HardcodedText', 'SetTextI18n'
}