zoukankan      html  css  js  c++  java
  • Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)

    如果你用Android Studio开发,并且要用其他项目作为library,这个问题是很容易出现的。出现这个问题的原因是包的重复引用,意思就是在你自己的项目中引用了某个包,而被你作为library的项目也引用了同一个包,就会有这个问题。

    那如何解决呢,我所知道的是有两种方法:

    方法1:按照惯例,直接上图吧,从下图可以看到我在library中有加了一个v4的包,同时我将它作为dependencies,而在samples中也是一样有一个v4的包,同样的也需要将它作为dependencies,这个时候你去编译就会出现重复引用的问题:

    那如何解决呢?

    你可以直接修改gradle文件,也可以在上图中改,如下图所示:

    在gradle文件中改,只需要将compile改成provided就行。

    如果直接配置的话,也是一样的,在下拉框中选择provided。这里说明下,你只要改其中一个项目就可以了。

    方法2:

    使用这个方法有一个前提,就是你所引用的包在Library dependency中有,还是拿v4的包举例。

    首先将v4的包从你的libs文件中删除,两个项目中都删除,然后再重新添加引用,这个添加方式如下,直接上图吧,按圈起来的红色框操作:

    在弹出的对话框中选择v4包:

    点击OK即可。注意这边两个项目都需要改成这种方式来引入v4包。

    这个时候你两个引入的v4包的Scope就都可以使用compile了。而不需要将其中一个改成provided才可以编译过。当然你也可以不用上面的图形化操作方式,直接在gradle文件里面写也是一样的。

  • 相关阅读:
    HBase学习笔记-基础(一)
    系统架构师之旅(一)——软件架构设计:程序员向架构师转型必备总结
    高效程序员的特征:聪明,懒惰
    TOMCAT源码分析(启动框架)
    Java线程池的原理及几类线程池的介绍
    Java 并发:Executors 和线程池
    Memcache基础教程
    发邮件
    图片验证码
    上传图片添加水印
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/6874465.html
Copyright © 2011-2022 走看看