У меня в настоящее время проблема в моем проекте Android на основе Gradle. Мой проект имеет две зависимости:Как управлять приоритетами между локальными зависимостями Gradle?
compile project(':Library:lib1')
compile files('libs/libGoogleAnalyticsServices.jar')
libGoogleAnalyticsServices
является версия v3 для Google Analytics.
проблема заключается в том, что lib1 старая библиотека в зависимости от версии v2 из Google Analytics:
compile files('libs/libGoogleAnalyticsV2.jar')
В конце есть конфликт между двумя банки (даже если v2 должна быть видна только lib1
) и v2 захватывает v3. В моем основном модуле у меня отсутствуют ссылки.
Так две проблемы:
- Почему v2 даже видна из основного модуля?
- Почему v2 захватывает v3?
В идеале я хотел бы оставить v2 видимым только со своих lib1
и v3, только видимых с моего основного модуля.
Любая идея?
Технически вы не можете скрыть устаревшую банку аналитики, если вы включите lib1. Во время выполнения lib1 требуется старая банка, поэтому имеет смысл включить это, иначе оно нарушит приложение. Именно по этой причине v2 отображается в вашем основном проекте. – botteaap