解决Android Studio 3.0导入module依赖后unable to merge index

解决Android Studio 3.0导入module依赖后unable to merge index

项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错unable to merge dex

网上搜索一番后发现解决方案大致分以下几种:

  1. 先clean再rebuild, 删除.gradle文件夹 clean rebuild....
  2. 降低play-service版本, 腾讯IM demo中用的play-serivce是3.0的, 估计已经够低了 :)
  3. 依赖冲突导致

试了前两种方案没有解决我的问题, 我的项目是近期创建的, 腾讯IM demo的gradle插件版本是2.3.3, gradle版本3.3, 我的项目gradle插件版本3.0.1, gradle版本4.1

使用./gradlew dependencies, 检查依赖, 发现多处传递依赖, 几个库module中compile sdk版本有的是22, 有的是23, 因此使用的support包版本也不相同, 导致依赖版本冲突

使用gradle3新增函数implementation替换库module中的compile函数, implementation导入的依赖只会在module内部引用而不会传递, 问题解决.

上一篇:Spring 依赖注入 基于构造函数、设值函数、内部Beans、集合注入


下一篇:解决小米手机不能运行Android Studio程序的问题