Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/suppor

小米1s(4.1.2)和红米(4.4.4)run项目时报这个错:
三星a8(android5.1.1)run项目时没有报这个错, 不给项目打包时也会报错:
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnimRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnimatorRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnyRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/ArrayRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AttrRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/BinderThread;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/BoolRes;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/CallSuper;
Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/CheckResult;
Error:Error converting bytecode to dex:
Cause: java.lang.RuntimeException: Translation has been interrupted
:ziroomer_quality:transformClassesWithDexForDebug FAILED
Error:Execution failed for task ‘:ziroomer_quality:transformClassesWithDexForDebug’.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Java\jdk1.8.0_66\bin\java.exe’’ finished with non-zero exit value 2

问题说明: 看起来是jar包引用重复, 可能其他原因引起, 自动好了(在高版本android(>5.0))上直接运行没问题,在<5.0的4.x.x上运行时就会报错, 打包也会出错.
原因分析:
查看项目的External Libraries: 如下,
这里写图片描述

会发现跟gradle配置中v7包版本一致的support-annotations-23.3.0的jar包,其他的jar包里肯定也有一个annotations的jar包,这样我们排除掉v7包中的annotations的jar,问题应该可以解决.
这里写图片描述

果然没有再报annotations重复的问题,运行项目,以为万事大吉了,又出现了v4包的重复问题,
尝试把v7包中的v4包也排除掉:
这里写图片描述

运行项目, 功夫不负有心人, 终于, 项目可以在android4.1.2和4.4.4的手机上运行了.
问题总结: 当碰到Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: 或者Multi Dex这样的error时, 一般是因为项目中的相关jar包重复了. 我们找到一处重复的jar包, 将它排除掉或删掉, 问题一般可以解决, 如果有三处以上那就得好好找找并相应处理了. 谢谢大家.

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值