查看依赖详情

方法一

// 查看依赖关系gradle dependencies// 查看指定module依赖关系: app可以替换成想要查看的modulegradle -q app:dependencies// 将输出信息保存到文件gradle dependencies >log.txt// 查看 compile 时的依赖关系gradle dependencies --configuration compile// 查看依赖关系类型gradle dependencies --info

方法二

// 在项目根目录下build.gradle中添加subprojects {    task allDeps(type: DependencyReportTask) {}}// 在terminal里输入./gradlew allDeps

依赖分析

编译报错

Android dependency 'com.android.support:recyclerview-v7' has different version for the compile (27.1.0) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution

可以看到是recyclerView冲突了, 打印下module依赖树, 输出到log.txt文件(项目根目录)

gradle -q app_test:dependencies >log.txt

查找下recyclerview

+--- project :comm_base|    +--- com.billy.android:cc:1.1.0 (*)|    +--- android.arch.lifecycle:extensions:1.1.0|    |    +--- android.arch.lifecycle:runtime:1.1.0 -> 1.1.1 (*)|    |    +--- android.arch.core:common:1.1.0 -> 1.1.1 (*)|    |    +--- android.arch.core:runtime:1.1.0 -> 1.1.1 (*)|    |    +--- com.android.support:support-fragment:26.1.0 -> 27.1.1 (*)|    |    +--- android.arch.lifecycle:common:1.1.0 -> 1.1.1 (*)|    |    +--- android.arch.lifecycle:livedata:1.1.0 -> 1.1.1|    |    |    +--- android.arch.core:runtime:1.1.1 (*)|    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1 (*)|    |    |    \--- android.arch.core:common:1.1.1 (*)|    |    \--- android.arch.lifecycle:viewmodel:1.1.0 (*)|    +--- android.arch.persistence.room:runtime:1.1.1|    |    +--- android.arch.persistence.room:common:1.1.1|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 27.1.1|    |    +--- android.arch.persistence:db-framework:1.1.1|    |    |    +--- com.android.support:support-annotations:26.1.0 -> 27.1.1|    |    |    \--- android.arch.persistence:db:1.1.1|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 27.1.1|    |    +--- android.arch.persistence:db:1.1.1 (*)|    |    +--- android.arch.core:runtime:1.1.1 (*)|    |    \--- com.android.support:support-core-utils:26.1.0 -> 27.1.1 (*)|    +--- android.arch.paging:runtime:1.0.0|    |    +--- android.arch.core:runtime:1.1.1 (*)|    |    +--- android.arch.paging:common:1.0.0|    |    |    +--- com.android.support:support-annotations:26.1.0 -> 27.1.1|    |    |    \--- android.arch.core:common:1.1.1 (*)|    |    +--- android.arch.lifecycle:runtime:1.1.1 (*)|    |    +--- android.arch.lifecycle:livedata:1.1.1 (*)|    |    \--- com.android.support:recyclerview-v7:27.1.0 -> 27.1.1|    |         +--- com.android.support:support-annotations:27.1.1|    |         +--- com.android.support:support-compat:27.1.1 (*)|    |         \--- com.android.support:support-core-ui:27.1.1 (*)
仔细观察你会发现有些传递依赖标注了*号,表示这个依赖被忽略了,这是因为其他顶级依赖中也依赖了这个传递的依赖,Gradle会自动分析下载最合适的依赖

分析冲突

// comm_base: pagingcom.android.support:recyclerview-v7:27.1.0 -> 27.1.1可以看到, recyclerview版本有冲突, 27.1.0 -> 27.1.1, 但是没有*号, 说明了顶级依赖是27.1.1, 当前依赖是27.1.0, 但是没有27.1.1的依赖传递所以解决办法是在当前module中添加27.1.1的依赖, 或者在comm_base中, recyclerview的依赖方式修改成api, 进行依赖传递

解决冲突

方法一: 直接过滤掉

androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.1'){    exclude group : 'com.android.support' , module : 'support-v4'    exclude  module : 'recyclerview-v7'}// 过滤所有support包compile ('cn.qqtheme.framework:WheelPicker:1.5.1'){    exclude group:'com.android.support'}// 过滤moduleimplementation (project(':comm_base')) {    exclude group:'com.android.support'}

方法二: 全局配置(测试没效果)

configurations.all {    resolutionStrategy {        force 'com.android.support:support-v4:25.1.1'    }     resolutionStrategy {        force 'com.android.support:recyclerview-v7:25.0.0'    }}

更多相关文章

  1. 我的android——OpenGL(2)——gl10方法解析
  2. android GBK转UTF-8出现乱码问题解决方法
  3. 解决升级 Android(安卓)Studio 3.6.1 后无法运行 Java 代码的问
  4. Android(安卓)project 的常用编译方法
  5. android修改虚拟内存(方法)
  6. android中重写onConfigurationChanged方法响应系统设置更改
  7. Android解析网页响应xml格式文件的一种方法
  8. Android(安卓)2.3及以上版本支持自定义的ttf字体的方法
  9. Android音量调节原理

随机推荐

  1. 深入浅析Android手机卫士保存密码时进行m
  2. 【Android】android模拟器命令详解
  3. Android(安卓)-- ContentProvider的使用
  4. 查看Sqlite 数据库
  5. Android(安卓)学习手札(三) 视图(View)
  6. Android集成腾讯X5WebView
  7. android中的ellipsize
  8. 《第一行代码——Android》
  9. Android(安卓)JNI入门第一篇——HelloJni
  10. Android(安卓)学习小结