我有一些庫用於多項目。我在庫中的代碼與更多版本的庫(舊版和新版)兼容。但是庫中有與所有版本不兼容的更改。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