您的位置:首页 > 其它

Gradle资源冲突

2017-03-25 15:54 369 查看
使用android studio开发常见问题就是Multiple dex files define XXXXX。

之前eclipse使用ant编译,ant使用的是包含的方式进行编译,不同的模块有相同的资源也可以编译通过。而Gradle则要更加严格,采用合并的方式进行编译,所有的文件、代码都会被Merge到一起,相同的资源名就会发生冲突。

常见解决方法:

1、使用@aar关键字关闭依赖传递
compile 'com.xxx.xxxxx:xxxxxx:1.0.0-SNAPSHOT@aar'

这种方式libs目录下的jar文件是不受影响的
2、使用exclude module排除一个库中引用的其他库
compile ('com.xxx.yyy:aaa:1.1.1'){
exclude module:'com.xxx.yyy.bbb:1.1.2'
exclude module:'com.xxx.yyy.ccc:1.1.2'
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息