J'essaie de configurer la liaison de données dans mon projet Android comme suit:
dataBinding {
enabled = true
}
Cependant, lorsque j'ajoute une dépendance à la bibliothèque de support, Lint se plaint:
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Versions trouvées 25.1.0, 21.0.3. Les exemples incluent 'com.Android.support:animated-vector-drawable:25.1.0' et 'com.Android.support:support-v4:21.0.3'
Lorsque je lance ./gradlew app:dependencies
, j'obtiens les informations suivantes:
...
+--- 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
...
Des idées sur la façon d'empêcher le lien de se plaindre sans le désactiver?
Un défaut a été enregistré pour cela, ce qui a entraîné un message d'erreur plus utile: https://issuetracker.google.com/issues/37128971
La solution consiste à ajouter une dépendance explicite à support-v4 dans votre build.gradle pour la version de bibliothèque de support que vous utilisez. Par conséquent, si vous utilisez la bibliothèque de support 25.1.0:
compile 'com.Android.support:support-v4:25.1.0'
Comme @gopalanrc le suggère, à partir d'Android Gradle Plugin 3.0.0, vous devez généralement utiliser les éléments suivants:
implementation 'com.Android.support:support-v4:25.1.0'
Si vous utilisez Gradle 3.0 ou supérieur, ajoutez-le comme ci-dessous.
implementation 'com.Android.support:support-v4:<the_version>'