tutorial suppresslint studio sonar newapi lintoptions comandos android gradle lint

suppresslint - lint android tutorial



Conflicto de dependencia de enlace de datos de Android con la biblioteca de soporte (2)

Estoy tratando de configurar el enlace de datos en mi proyecto de Android así:

dataBinding { enabled = true }

Sin embargo, cuando agrego una dependencia de biblioteca de soporte, la pelusa se queja:

Todas las bibliotecas com.android.support deben usar exactamente la misma especificación de versión (mezclar versiones puede provocar bloqueos en tiempo de ejecución). Versiones encontradas 25.1.0, 21.0.3. Los ejemplos incluyen ''com.android.support:animated-vector-drawable:25.1.0'' y ''com.android.support:support-v4:21.0.3''

Cuando ejecuto ./gradlew app:dependencies , obtengo lo siguiente:

... +--- com.android.support:appcompat-v7:25.1.0 | +--- com.android.support:support-annotations:25.1.0 | +--- com.android.support:support-v4:25.1.0 | | +--- com.android.support:support-compat:25.1.0 (*) | | +--- com.android.support:support-media-compat:25.1.0 | | | +--- com.android.support:support-annotations:25.1.0 | | | /--- com.android.support:support-compat:25.1.0 (*) | | +--- com.android.support:support-core-utils:25.1.0 | | | +--- com.android.support:support-annotations:25.1.0 | | | /--- com.android.support:support-compat:25.1.0 (*) | | +--- com.android.support:support-core-ui:25.1.0 (*) | | /--- com.android.support:support-fragment:25.1.0 | | +--- com.android.support:support-compat:25.1.0 (*) | | +--- com.android.support:support-media-compat:25.1.0 (*) | | +--- com.android.support:support-core-ui:25.1.0 (*) | | /--- com.android.support:support-core-utils:25.1.0 (*) | +--- com.android.support:support-vector-drawable:25.1.0 | | +--- com.android.support:support-annotations:25.1.0 | | /--- com.android.support:support-compat:25.1.0 (*) | /--- com.android.support:animated-vector-drawable:25.1.0 | /--- com.android.support:support-vector-drawable:25.1.0 (*) +--- com.android.databinding:library:1.3.1 | +--- com.android.support:support-v4:21.0.3 -> 25.1.0 (*) | /--- com.android.databinding:baseLibrary:2.3.0-dev -> 2.3.0-beta1 ...

¿Alguna idea sobre cómo evitar que el enlace se queje sin desactivarlo?


Hay un defecto registrado para esto, que resultó en un mensaje de error más útil: https://issuetracker.google.com/issues/37128971

La solución es agregar una dependencia explícita en support-v4 en su build.gradle para la versión de la biblioteca de soporte que está usando, por lo que si está usando la biblioteca de soporte 25.1.0:

compile ''com.android.support:support-v4:25.1.0''

Como sugiere @gopalanrc, a partir de Android Gradle Plugin 3.0.0, normalmente deberías usar lo siguiente:

implementation ''com.android.support:support-v4:25.1.0''


Si está utilizando gradle 3.0 o superior, agréguelo como se muestra a continuación.

implementation ''com.android.support:support-v4:<the_version>''