Android Studio, не может найти метод символа из уже добавленной зависимости

У меня странная проблема при компиляции моего проекта в студии Android. У меня есть две зависимости, которые влияют друг на друга. Когда у меня есть,

compile 'com.github.dbachelder:CreditCardEntry:1.4.7'

проект прекрасно компилируется и прекрасно работает. Однако, если я добавлю,

compile 'io.smooch:ui:latest.release'

и снова скомпилирую проект, методы из первой добавленной зависимости

(com.github.dbachelder:CreditCardEntry:1.4.7) не найден.

Я попытался:

очистить,
перестроить,
./gradlew clean && ./gradlew build,
синхронизировать с файлами Gradle,
закрыть и снова открыть Android Studio,
недействительные кеши и перезапустить,
я даже пытался импортировать репозиторий CreditCardEntry в проект вручную.

Если я удаляю зависимость
compile 'io.smooch:ui:latest.release'
Опять же, проект компилируется нормально и находит методы зависимости CreditCardEntry.

Ошибка:

Ошибка: (160, 16) ошибка: не удается найти метод символа clearForm()

Ошибка: (161, 16) ошибка: не удается найти метод символа setOnCardValidCallback (CardValidCallback)

Ошибка: (163, 16) ошибка: не удается найти метод символа focusCreditCard()

Любая помощь приветствуется..


person Orcun    schedule 09.06.2016    source источник


Ответы (1)


io.smooch.ui на самом деле содержит com.devmarvel.creditcardentry в качестве встроенной зависимости и использует то же пространство имен. Моя первая догадка заключается в том, что у вас есть конфликт пространства имен.

Это похоже на ошибку на стороне Smooch SDK, встроенная зависимость, вероятно, должна быть переименована, чтобы избежать подобных конфликтов. (Отказ от ответственности: я работаю над Smooch, я сообщу об ошибке с нашей стороны)

Немедленный обходной путь, который может сработать, — удалить на данный момент пакет com.github.dbachelder:CreditCardEntry:1.4.7 и посмотреть, сможете ли вы вместо этого разрешить com.devmarvel.creditcardentry.CreditCardEntry и com.devmarvel.creditcardentry.CreditCardForm из пакета Smooch UI.

person Andrew Lavers    schedule 11.06.2016
comment
Что ж, я ожидал чего-то подобного. Спасибо за помощь, я все еще могу импортировать их после удаления, как вы предложили. Но методы, находящиеся в исходном классе, снова неразрешены, кроме некоторых. - person Orcun; 11.06.2016