gradle build報錯解決方案
阿新 • • 發佈:2019-01-09
今天在匯入butterknife的時候莫名其妙報錯誤,清單檔案錯誤,好不容易看大神搞定,然而原理並不清楚,待以後一併處理原理,先將問題記錄
Error:Execution failed for task ':app:processArmDebugManifest'.
> Manifest merger failed : Attribute meta-data#[email protected] value=(25.3.1) from [com.android.support:cardview-v7:25.3.1] AndroidManifest.xml:24:9-31
is also present at [com.android.support:support-compat:25.3.0] AndroidManifest.xml:27:9-31 value=(25.3.0).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:34 to override.
**按照提示來有沒有用的,會報另一個錯誤:**
Error:Execution failed for task ':app:processDebugManifest' .
Manifest merger failed with multiple errors, see logs
看部落格下邊的解答問題,是這樣子處理的:
就是在build.gradle(module:app)的最後面加入這一段:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
解決完畢,執行可行。。。
問題解決:
問題是具有相同版本和主要版本的所有支援庫必須與編譯SDK版本匹配。
所以試著強制一個特定的支援庫版本。把它放在你的應用程式模組的末尾build.gradle,此種方法確認可行,這種方法可能有點牽強,但是現階段沒有問題,有問題大家可以在我部落格下方提出討論