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
- Gradle excluir archivo de sourceSet no funciona
- Android Studio: No se pudo crear un complemento de tipo 'AppPlugin'
- Cómo leer un archivo solo de prueba en la prueba de unidad de Android
- cómo generar un informe de cobertura de código para androidTest utilizando Jacoco en el estudio android
- APK firmado: Fallo .. Actualizado
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
- Gradle: No se pudo crear el complemento de tipo AppPlugin
- Cómo habilitar multidexing con la nueva biblioteca de soporte de Android Multidex
- No se puede crear una aplicación cuando se usa gradle (Android Studio) y local maven repo
- Gradle Sube la aplicación android apk a maven repo (nexus)
- Configurar la carpeta de prueba para las pruebas unitarias en el estudio de Android
- Algunas preguntas sobre Gradle para Android Development
- En Android / Gradle cómo definir una tarea que sólo se ejecuta al construir buildType específico / buildVariant / productFlavor (v0.10 +)
- Gradle 0.9. + / 0.9.2 error: No se puede cargar la clase 'com.android.builder.testing.api.DeviceProvider'
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] }