我有一些库用于多项目。我在库中的代码与更多版本的库(旧版和新版)兼容。但是库中有与所有版本不兼容的更改。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'
}
但是,这并不编译...
编辑
这里是我的对话框库:
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