Gradle报错问题解决

刚刚在写自己的应用后台管理APP,在设计界面的时候想到可以用CardView去做效果,于是就开始从项目管理里面去依赖,然后悲剧发生了。

1,报错日志:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38
is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:41 to override.

思考:
大概意思是CardView中能在这个25.3.1的版本里面使用。

2,查找原因:

在搜索引擎上面飞速搜索了一下,发现没有案例说这事,难道问题太基础了?

看了自己的配置文件:

compile fileTree(include: ['*.jar'], dir: 'libs')

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'


compile 'com.android.support:design:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
compile 'com.jcodecraeer:xrecyclerview:1.3.2'
compile 'com.jakewharton:butterknife:8.4.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.code.gson:gson:2.8.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

看了语法并没有错,也确实可以依赖进来。

然后仔细思考了一下,会不会是要跟support包一致才可以。

3,解决问题

于是马上行动:

compile fileTree(include: ['*.jar'], dir: 'libs')

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
//compile 'com.android.support:cardview-v7:26.0.0-alpha1'

compile 'com.android.support:cardview-v7:25.3.1'

略

Sync Now

编译通过。

4,总结:

所以还真有必须基于support包来依赖的官方包。

涨知识了。

    原文作者:消沉沉
    原文地址: https://www.jianshu.com/p/f1e95b190a6f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞