У меня есть несколько библиотек, которые я использую в нескольких проектах. Мой код в библиотеке совместим с другими версиями библиотеки (более старые и более новые). НО есть изменения в библиотеке, которые не совместимы со всеми версиями сборки.Gradle - зависимость от переопределения (исключить зависимость) из встроенных библиотек
У меня есть старый проект, который я сейчас не хочу обновлять до новейшей версии инструментов для сборки, поэтому для этого одного проекта я бы хотел принудительно переопределить зависимость.
Обычно я исключать зависимости от библиотек, как следующие:
compile ("com.doomonafireball.betterpickers:library:1.6.0") {
exclude group: 'com.android.support', module: 'support-v4'
}
Как можно исключить зависимость от местного проекта библиотеки? Я попытался
compile project(':dialogs') {
exclude group: 'com.afollestad.material-dialogs'
}
Но это не компилируется ...
EDIT
Вот мой диалог библиотека:
compile('com.afollestad.material-dialogs:core:[email protected]') {
transitive = true;
}
compile('com.afollestad.material-dialogs:commons:[email protected]') {
transitive = true;
}
И вот что я пытался, но это не делает работы:
compile(project(':dialogs')) {
exclude group: 'com.afollestad.material-dialogs'
}
compile 'com.afollestad:material-dialogs:0.7.8.1'
Проблема: она компилируется и запускается, но я получаю исключения NoSuchMethod
. Когда я просто закомментируйте 0.8.4.2 библиотеки линий и заменить его на 0.7.8.1 линии (все в моей библиотеке) все работает отлично ...
ли вы когда-нибудь решить эту проблему? – user1809913
Нет ... Он не находит методы, если я делаю это так, поэтому я все еще комментирую код вручную ... – prom85