В моем проекте Android я использую библиотеку, которая поставляется как банку. я включить его в разделе зависимостей, как так:В сборке Android Gradle, как исключить зависимости из включенного файла jar?
dependencies {
...
compile files('libs/thethirdpartylibrary.jar')
...
}
Я также хочу использовать okhttp библиотеку, которую я включаю, как это:
compile ('com.squareup.okhttp:okhttp:2.7.5')
(Эта конкретная версия okhttp зависит от Окио 1.6 .0.)
Проблема в том, что библиотека сторонней банки зависит от okio v0.9.0 и что еще хуже, связывает ее.
В результате я получаю ошибку конфликта dex во время сборки.
Я смог решить это, вручную удалив okio из файла jar, и это, похоже, сработает. Но мне интересно, есть ли способ сделать это в градле.
Мой вопрос: могу ли я удалить вложенные, переходные (< - надеюсь, что я использую это слово в правильном направлении) зависимости от включенной банки во время сборки с градиентом?
Любая причина, по которой вы не можете просто воссоздать стороннюю банку, чтобы удалить классы, в которых вы не хотите? Я не думаю, что gradle позволит вам выбрать определенные классы, чтобы исключить из зависимости от файла. –
На самом деле, вот что я сейчас делаю. Я просто задавался вопросом, есть ли (простой) способ сделать это с помощью gradle, так что мне не нужно делать это вручную каждый раз, когда изменяется библиотека поставщика. – treesAreEverywhere
Привет, вы разрешили это? Можете ли вы поделиться своим решением? –