[JAVA] [Android] Pourquoi une erreur de version de conflit se produit lors du chargement d'une bibliothèque du côté de l'application Android

introduction

Lors du développement sur Android et du chargement et de l'exécution d'une bibliothèque avec gradle comme problème courant, une erreur de conflit de version de kotlin peut se produire. Donc avis

J'ai fait un peu de recherche, donc je vais le laisser comme mémo

Cause

Il peut y avoir plusieurs raisons, mais d'abord cela peut arriver si vous êtes en conflit avec la version kotlin de la bibliothèque. Dans ce cas, je ne sais pas s'il faut renoncer à utiliser la bibliothèque en premier lieu, essayer d'utiliser une version plus ancienne de la bibliothèque, ou mettre à niveau la version kotlin de l'application qui intègre la bibliothèque, et la résoudre par essais et erreurs. Je le fais souvent.

conflit de bibliothèque kotlin

Lorsque la bibliothèque kotlin est chargée, la bibliothèque kotlin est chargée côté application. La taille de l'apk et le nombre de méthodes augmenteront en conséquence. Peut-être avez-vous besoin de plusieurs dex.

Il semble qu'il puisse y avoir un conflit entre la bibliothèque kotlin chargée du côté de l'application et la version de kotlin du côté de l'application. Veuillez vous référer à ce qui suit pour l'utilisation de gradle. En cas de conflit avec la version kotlin, elle sera écrasée par la nouvelle version. Puisqu'il s'agit du comportement par défaut, il doit être résolu même si vous définissez le fichier gradle de sorte qu'il ne soit pas écrasé par la dernière version. (non confirmé)

Comportement en cas de conflit https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html#org.gradle.api.artifacts.ResolutionStrategy:failOnVersionConflict()

Solutions

Faites-en la même version que la dernière bibliothèque implémentée côté application. Ou plus peut résoudre le problème. Si le développement de la bibliothèque et de l'application est le même, il peut être implémenté sans problème, mais dans la plupart des cas, la bibliothèque doit être implémentée par une autre entreprise ou une autre personne. Par conséquent, il peut être nécessaire pour la personne qui crée la bibliothèque de toujours mettre à jour avec le dernier kotlin et d'encourager la documentation à utiliser le dernier kotlin.

Ou si la bibliothèque est implémentée en java au lieu de kotlin, ce problème ne devrait pas se produire car la bibliothèque kotlin ne sera pas chargée côté application. doit.

Recommended Posts

[Android] Pourquoi une erreur de version de conflit se produit lors du chargement d'une bibliothèque du côté de l'application Android
J'ai créé une application de calculatrice sur Android
Un rappel lorsqu'une erreur aapt.exe se produit
Mes pensées sur l'avenir [Version de l'application Gradle ①]
Rails <% = expression%> Pourquoi aucune erreur ne se produit lorsqu'il est vide
Obtenez votre numéro de version dans l'application Android
J'ai une question. Une erreur se produit lors de la lecture d'une vidéo dans Listview avec Android.