Android - & ldquo; Ошибка слияния манифеста & rdquo; Ошибка после реализации библиотеки Stripe

Если метод equals() присутствует в классе java.lang.Object, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор == проверяет, что фактические экземпляры объекта одинаковы или нет.

Пример

Рассмотрим две различные ссылочные переменные, str1 и str2:

str1 = new String("abc");
str2 = new String("abc");

Если вы используете equals()

System.out.println((str1.equals(str2))?"TRUE":"FALSE");

, вы получите выход как TRUE, если вы используете ==.

System.out.println((str1==str2) ? "TRUE" : "FALSE");

Теперь вы получите вывод FALSE в качестве вывода, потому что оба str1 и str2 указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String() каждый новый объект создается каждый раз.

1
задан Barcode 10 March 2019 в 02:52
поделиться

2 ответа

stripe-android использует AndroidX и включает в себя CoreComponentFactory класс. На самом деле, у вашего проекта уже есть этот класс, поэтому попробуйте исключить модуль из gradle, который уже существует, или переопределить значения в файле манифеста, как предложено в IDE, или перенести ваш проект в AndroidX из Refactor-> Migrate To AndroidX.

Другое решение заключается в использовании более старой версии библиотеки Android с полосами, которая не использует AndroidX внутри.

0
ответ дан Nithis Kumar 10 March 2019 в 02:52
поделиться

Речь идет не о AndroidManifest.xml вашего приложения.

Сообщение об ошибке говорит о том, что существует конфликт между библиотекой support-compat 28.0.0 и другой библиотекой, использующей androidx. Я сомневаюсь, что эта библиотека полос строится с AndroidXX. 'com.stripe: stripe-android: 8.5.0'

Вы можете решить эту проблему, перенеся ваше приложение на использование androidx вместо старых библиотек поддержки.

0
ответ дан sNash 10 March 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: