解决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内部引用而不会传递, 问题解决.

版权声明:本文为fortitude原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fortitude/p/8570960.html