обычно по умолчанию не имеют зависимости, например, что:
compile rootProject.ext.okhttp
скомпилирована в вашем банке только ваши источники. Итак, классы OkHttp не будут в вашей библиотеке.
У меня точно такой же случай. Я использую gradle для сборки и загрузки в maven. Вы можете проверить here
Так что, если ваши намерения иметь точную версию DEPT в пакете и быть скрыто нужно просто включить его в вашем проекте как модуль и изменить некоторые вещи, как пакет OkHttp к избегать конфликтов, а также доступ к темным публичным пользователям. OkHttp использует Okio, поэтому вы можете его также приватизировать.
Обратите внимание, что этот вид функции скрытия + скрытия скрытого класса может быть полезен для зависимостей структуры (обеспечивая доступность всех отделов в среде исполнения), но он увеличивает размер ваших библиотек и не будет лучшим вариантом для приложений, использующих ваш lib, поскольку они в любом случае обеспечивают упаковку необходимых отделений в apk.
Какую цель ставите перед собой?Даже если вы ограничите пользователей библиотеки доступом к OkHttp через вашу библиотеку, они все равно могут добавить OkHttp в качестве зависимости от компиляции и использовать ее. Итак, чего именно вы пытаетесь достичь? – RaGe
Собираете ли вы свою андроидную библиотеку как aar? Вы упаковываете OkHttp с вашим aar? или это транзитивная зависимость, определенная в pom.xml? – RaGe
@RaGe Я ожидаю, что у людей уже есть OkHttp как зависимость от компиляции, или что они могут подумать над ее добавлением. Также есть вероятность, что они будут добавлять/использовать другую версию OkHttp, поэтому я не хочу, чтобы они использовали эту версию в моей библиотеке. Моя библиотека упакована, но bintray ее упаковывает, и люди реализуют ее как зависимость от градиента. OkHttp - это зависимость от градиента моей библиотеки – CQM