1. 程式人生 > >gradle build報錯解決方案

gradle build報錯解決方案

今天在匯入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,此種方法確認可行,這種方法可能有點牽強,但是現階段沒有問題,有問題大家可以在我部落格下方提出討論