Мне нужно сравнить два пользовательских объекта, которые являются сложными.Вместо переопределения метода equals я использовал метод apache.commons.lang3 EqualsBuilder.reflectionEquals (obj1, obj2).
Все отлично работает на большинстве устройств Android.Но для Xiaomi приложение вылетает со следующим исключением:
Fatal Exception: java.lang.NoSuchMethodError: No static method b(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/lang3/tuple/Pair; in class Lorg/apache/commons/lang3/tuple/Pair; or its super classes (declaration of 'org.apache.commons.lang3.tuple.Pair' appears in /system/framework/framework.jar)
at org.apache.commons.lang3.builder.EqualsBuilder.getRegisterPair(EqualsBuilder.java:141)
at org.apache.commons.lang3.builder.EqualsBuilder.isRegistered(EqualsBuilder.java:159)
at org.apache.commons.lang3.builder.EqualsBuilder.reflectionAppend(EqualsBuilder.java:537)
at org.apache.commons.lang3.builder.EqualsBuilder.reflectionAppend(EqualsBuilder.java:506)
at org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals(EqualsBuilder.java:433)
at org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals(EqualsBuilder.java:386)
at org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals(EqualsBuilder.java:325)
at
У меня есть следующая строка в Gradle с версией:
implementation 'org.apache.commons:commons-lang3:3.8'
Я не уверен, что идет не так и почему этоне работает на нескольких устройствах и работает нормально на других.