Unable to execute dex: java.nio.BufferOverflowException.解决办法

时间:2021-12-16 05:31:31

异常提示:

[2014-01-16 09:27:35 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2014-01-16 09:27:35 - tab_demo] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
Unable to execute dex: java.nio.BufferOverflowException.解决办法
 
 

错误原因:

出现这个错误是因为项目中了引用了两个相同的jar包。
 

解决办法:

我们只需要将相同jar文件中重复的一个去除即可,详细步骤是:右键项目——Build Path——Configure Build Path...——Libriaries,然后我们在Libraries中将出现的相同jar文件去除一个,点击ok即可修复项目异常,通常我都是直接将Android Private Libraries删掉就行了,但是这样做只是临时性的修复,每当我重启eclipse的时候,eclipse就会自动再载入一次相同的jar文件,重新触发异常,所以大家也可以试试楼下评论的方法:卸载掉19版本的build tools,安装18.1.1及以下版本的build tools。
Unable to execute dex: java.nio.BufferOverflowException.解决办法
 
 
 
        右键选择项目,选择Build Path——Configure Build Path...,然后在弹出框中选择:Java Build Path——Libraries,最后将Android Dependencies和Android Private Libraries移除(remove)掉即可。 我遇到这种问题的时候,Android Dependencies和Android Private Libraries里面都没有我项目所需的库,所以我remove掉之后不需要重新添加jar包,但是如果你的Android Dependencies和Android Private Libraries里面有项目所需的库的话,需要你重新引入,否则项目会报错,jar引入:右键选择lib中的jar文件选择Add Build Path即可。