Android Studio:Multiple dex files define Landroid/support/annotation/AnimRes
近期真的比較忙,一不小心博客又荒了两个月。
从今天起。决定重返csdn,多多纪录和分享。
先从一个近期被折磨的死去活来的问题。
由于升级了V4包,就一直报这个问题:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
每次都要clean一下,然后才干编译过,光这个过程就浪费了4/5分钟。出现这个问题是由于最新的v4包(compile ‘com.android.support:support-v4:22.2.1’)已经包括了annotation.jar这个包。但其它jar包里也包括这个包造成的。
而非同一时候包括了v4/V7造成的。所以一堆人说在v7包里进行例如以下设置:
compile ('com.android.support:appcompat-v7:22.2.1'){
exclude group: "com.android.support", module: "support-v4"
}
即设置v7包不包括v4,这个设了也是无用的。仅仅要确保用v4和v7 的地方版本号一致就可以。正确的解决方法有例如以下几种:
1。找到项目其它的依赖包,一定在libs里的某个jar包里,隐藏着annotation.jar包,将其删掉就ok了,此为最正统的解决方法;
2,降级v4包。由于高版本号的v4才包括annotation.jar。能够在最外面的build.grable里强制设置:
allprojects {
repositories {
jcenter()
}
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:22.1.0'
}
}
3,在须要v4包的地方exclude掉annotation包。注意compile要多加个括号:
compile ('com.android.support:support-v4:22.2.1'){
exclude module: 'support-annotations'
}
缺点是每一个用v4包的地方都要这么设置下。
4。在application的build.gradle里的dexOptions设置里添加一句:preDexLibraries = false就ok了:
PS:以上四种方法都能够解决这个问题,推荐正统的方法1和偷懒的方法4。
Android Studio:Multiple dex files define Landroid/support/annotation/AnimRes的更多相关文章
- Android Studio 运行出现 Multiple dex files define Landroid/support/annotation/AnimRes 解决方法
引入的工程的android-support-v4.jar版本跟自己工程的android-support-v4.jar的版本不一样
- 运行出现 Multiple dex files define Landroid/support/annotation/AnimRes 解决方法
1. 拷贝google-play-services_lib/libs/目录下的android-support-v4.jar到xxxr/libs/下 2. 工程进行如下设置:
- Android Bug:Error:com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$LayoutParams;
项目编译通过,运行时出现异常: Error:com.android.dex.DexException: Multiple dex files define Landroid/support/desig ...
- Android 友盟和微信的包冲突:Multiple dex files define Lcom/tencent/a/a/a/a/a;
最近App中有个需求是添加微信支付,就在微信技术官网 http://open.weixin.qq.com,查看一下文档,然后下载SDk,Demo.把SDK集成进项目. 照着微信的文档,把jar包和进来 ...
- 关于安卓百度地图SDK报错:Multiple dex files define Lcom/baidu/android/bbalbs/common/a/a;
1.找到.jar包 2.右键,用WinRAR打开 3.打开com/baidu/ 4.保留location,其他全删掉 5.这样将不会报错,可以运行了!!!
- eclipse 导入工程报错Unable to execute dex: Multiple dex files define Landroid/annotation/SuppressLint
对策: 检查libs 是否有重复加载的.
- Unable to execute dex: Multiple dex files define异常的解决办法
问题: [2016-01-06 16:47:58 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/sup ...
- Multiple dex files define Lcom/google/gson/internal/Streams$AppendableWriter$CurrentWrite;
开发中引入第三方 aar 时编译同过,运行时出现问题: Multiple dex files define Lcom/google/gson/internal/Streams$AppendableWr ...
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),androiddefine
Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),androiddefine 如果你用Andr ...
随机推荐
- linux命令中的 < 和 |、>符号作用就解释
输出重定向比如输入一条命令,默认行为是将结果输出到屏幕.但有时候我们需要将输出的结果保存到文件,就可以用重定向.ps > ps.txt < 表示的是输入重定向的意思,就是把<后面跟的 ...
- Web前端开发必备工具推荐
http://gaohaixian.blog.163.com/blog/static/12326010520114265223489/不管你做前端开发还是网页重构,前端工具都起着非常重要的作用,这里向 ...
- Http Analyzer Std V3.3.1.140 汉化补丁
http://www.cnblogs.com/nicch/archive/2008/08/30/ha_httpanalyzerstdv3.html Http Analyzer Std V3.3.1.1 ...
- C#Copy
1.浅拷贝(值类型): public class LightCopy { public int Val { get; set; } public LightCopy(int ival) { Val = ...
- puppeteer (Nodejs版selenium )快速入门
官网 https://pptr.dev/ api 与 教程: https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.mdhttp ...
- python中如果函数后面有多于一个括号是怎么回事?
一般而言,调用一个函数是加一个括号.如果看见括号后还有一个括号,说明第一个函数返回了一个函数,如果后面还有括号,说明前面那个也返回了一个函数.以此类推. 比如fun()() def fun(): pr ...
- centos 最小化安装后要做的事情
首先是配置网络 [root@bao-work-4 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=10.230.200.22GATEWA ...
- k8s的容器监测探针
大部分的应用程序我们在部署的时候都会适当的添加监控,对于运行载体容器则更应该如此.kubernetes提供了 liveness probes来检查我们的应用程序.它是由节点上的kubelet定期执行的 ...
- IT人都非常忙(茫)
我发现.身边的盆友都非常忙,要么在加班.要么加班刚回家:要么在出差,要么刚出差回来. 难道搞IT的人都非常忙么?忙还是茫? 大学期间.不知道未来要干什么.非常多人也不清楚应该学习哪些知识和技能.是否须 ...
- github初使用
http://www.eoeandroid.com/thread-274556-1-1.html 其中编写 $ git remote add origin <a href="\&quo ...