2016-03-08 3 views
1

Я пытаюсь использовать в своем приложении стороннюю библиотеку, которая обертывает Loggly (ведение журнала веб-службы).Использование обеих версий 1.9.0 и 2.0.0 версии

Я использовал все свое приложение Retrofit2, но все сторонние библиотеки, которые завершают Loggly, используют старый Retrofit 1.9.0.

Теперь я продолжаю получать ClassNotFoundException из этих libs, потому что они пытаются получить доступ к классу, который существует только в Retrofit 1.9.0, а не в 2.0.0.

Я пытаюсь решить это прямолинейно - добавив в проект как Retrofit 1.9.0, так и Retrofit 2.0.0, но, к сожалению, град не поддерживает это.

Таким образом, проблема здесь в том, как добавить две разные версии одной и той же библиотеки в файл build.gradle

+1

Странно, я использую оба и, похоже, работает – Smashing

+2

Возможно, вам следует создать новый модуль для служб логгинга и получить доступ к нему через интерфейсы. Это означает, что ваше основное приложение будет по-прежнему зависеть от модификации 2, а новый модуль с логарифмом будет иметь собственную градиентную сборку с модификацией 1. – Smashing

+0

@ Смачивание вашего второго комментария действительно разрушает. Я бы принял его, если вы добавили его в качестве ответа. – Nativ

ответ

1

Может быть, вы должны создать новый модуль для loggly услуг и доступ к ним через интерфейсы. Это означает, что ваше основное приложение будет по-прежнему зависеть от модификации 2, а новый модуль с логгистом будет иметь собственную градиентную сборку с модификацией 1.

В нашем приложении мы используем структуру представления - домен (MVC). Это означает, что сеть находится в собственном модуле, что означает, что у нас может быть модифицированный модуль 1 и модифицированный 2, который имеет свои собственные реализации, интерфейсы и зависимости от градиентов, от которых он зависит. Затем слой домена ссылается на эти модули.

Рад, что я мог бы помочь !.

Смежные вопросы