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

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

方法1:按照惯例,直接上图吧,从下图可以看到我在library中有加了一个v4的包,同时我将它作为dependencies,而在samples中也是一样有一个v4的包,同样的也需要将它作为dependencies,这个时候你去编译就会出现重复引用的问题:Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)_第1张图片

那如何解决呢?

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

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

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

Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)_第2张图片Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)_第3张图片

方法2:

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

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

Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)_第4张图片

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

Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)_第5张图片

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

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

更多相关文章

  1. android 调用系统文件管理器
  2. RadioButton使用的过程中Text文本和图片显示的问题
  3. Android 三大图片缓存原理、特性对比
  4. Android调用系统相机、自定义相机、处理大图片
  5. Android小项目之十二 设置中心的界面
  6. 我的Android之旅——学习、项目、心态
  7. Android 子项目 列表
  8. Android 为【apk】文件签名,增加修改系统时间等权限

随机推荐

  1. android中的数据存储 收藏
  2. Animations使用(一)
  3. Appium简介
  4. Android(安卓)如何用HttpClient 以Get方
  5. Android之使用网络技术
  6. 【Android】 textview 中超出屏幕宽度的
  7. 学习:Android生命周期
  8. 在win7下搭建Android开发环碰到的两个问
  9. Android逆向分析必备网址大全
  10. Android(安卓)Gallery滑动太快的问题