解决Android Studio 3.0导入module依赖后unable to merge index
项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错unable to merge dex
网上搜索一番后发现解决方案大致分以下几种:
- 先clean再rebuild, 删除.gradle文件夹 clean rebuild....
- 降低play-service版本, 腾讯IM demo中用的play-serivce是3.0的, 估计已经够低了 :)
- 依赖冲突导致
试了前两种方案没有解决我的问题, 我的项目是近期创建的, 腾讯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内部引用而不会传递, 问题解决.