Cómo establecer severityOverrides en lintOptions?

Tengo un proyecto de Android que define

buildscript { repositories { jcenter() } dependencies { // Android plugin for gradle // http://google.github.io/android-gradle-dsl classpath 'com.android.tools.build:gradle:1.5.0' // ... 

En mi aplicación quiero establecer

 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"] } // ... 

Pero consigo el error

Error: (34, 0) Método Gradle DSL no encontrado: 'severityOverrides ()' Causas posibles: El proyecto 'android' puede estar usando una versión de Gradle que no contenga el método.

¿Cuál es la forma correcta de establecer severityOverrides ?


Versiones que compilaron pero no tienen el efecto deseado en el paso de compilación :app:lintVitalRelease :

 import com.android.builder.model.LintOptions // ... severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING] 

y

 import com.android.builder.model.LintOptions // ... severityOverrides.MissingTranslation = LintOptions.SEVERITY_WARNING 

Me gustaría compartir lo que estoy haciendo.

En lugar de establecer severityOverrides, puede llamar a un método a cada tipo de indicador que desee establecer.

 lintOptions { ignore "RtlEnabled", "RtlHardcoded", "RtlSymmetry" .... warning "RtlEnabled", "RtlHardcoded", "RtlSymmetry" .... error "RtlEnabled", "RtlHardcoded", "RtlSymmetry" .... fatal "RtlEnabled", "RtlHardcoded", "RtlSymmetry" .... informational "RtlEnabled", "RtlHardcoded", "RtlSymmetry" .... } 

En su caso, usted puede hacer:

 lintOptions { warning "MissingTranslation" } 

No estoy seguro si puede establecer manualmente severityOverrides ya que es una propiedad de sólo lectura.

Por lo tanto, creo que realmente debe llamar a uno de los métodos anteriores (error, etc fatal) para anular la propiedad que desea

(No es una respuesta-respuesta, pero esto es lo que usé como reemplazo equivalente cuando no pude obtener lintOptions.severityOverrides para trabajar)

Suelte un archivo lint.xml con la misma configuración en la raíz del módulo.

 <?xml version="1.0" encoding="UTF-8" ?> <lint> <issue id="MissingTranslation" severity="warning" /> </lint> 

También obtiene una API más rica para ajustar avisos de pelusa a través de lint.xml .

Map<String, Integer> severityOverrides

Los documentos a los que enlazó indican que el tipo para severityOverrides debe ser Map<String, Integer> donde como se está utilizando dos cadenas. Además, severityOverrides no parece ser un método, sino una propiedad en su lugar, por lo que debe dejar de lado los rizadores {} Lo que le da:

 import com.android.builder.model.LintOptions lintOptions { severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING] } 
  • El método debe anularse en si se llama "en Android Studio
  • Android: No se pudo encontrar ni cargar la clase principal org.gradle.wrapper.GradleWrapperMain
  • Cómo eliminar los recursos no utilizados de las bibliotecas?
  • Android Studio 0.5.0 - No hay auto código de terminación y el reconocimiento de sintaxis de errores después de actualizar
  • ¿Cómo hacer que Android Studio descargue fuentes de dependencias y javadoc?
  • Ejecutar gradle -v devuelve "JAVA_HOME está establecido en un directorio no válido" aunque tenga un JAVA_HOME válido
  • Archivos de sabor y recursos de Android
  • Pruebas Robolectric que se ejecutan en Android Studio pero no en la línea de comandos
  • Problema de representación con android API 22
  • ¿Cómo gradle resolver conflictos cuando dos dependencias tienen una dependencia interna en la misma biblioteca, pero con diferentes versiones en Android?
  • Anular recursos con gradle dependiendo de buildType
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.