今天在不同的手机上安装同一个项目时,出现报错如下:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener.class
报错原因是:添加了重复的nineoldandroids,重复引用AnimatorListener.class
回到项目中寻找,在.idea–>libraries下发现整个项目中只有一个nineoldandroids架包,然后又去寻找导入的每个Moudle,最终确认只有一个nineoldandroids。
冥思苦想,怀疑是不是刚刚远程依赖的arr包中含有nineoldandroids.jar包,尝试了下,去除引用相同的包
compile(name: 'FrameworkAndroid-relase',ext: 'arr'){
//添加
exclude group: 'nineoldandroids'
}
结果,装上后,成功运行ok
最后:注意exclude为去除的意思,其写法有:
//*****表示去除的包的名称
exclude module :'*****'//by artifact name
exclude group:'*****' //by group
exclude group:'*****',module:'*****'//by both name and group
以上!