18

每次我想运行我的 Android 应用程序时,我都会收到一个错误:

[2013-11-02 13:05:36 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-11-02 13:05:36 - **********] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

我用谷歌搜索了它,但没有找到任何东西。我已将 permsize 设置为 512m、Xms1024m 和 Xmx2048m。我正在使用 v22.0.0-675183。

。日志:

!ENTRY com.android.ide.eclipse.adt 4 0 2013-11-02 13:05:36.597
!MESSAGE Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log             for stack trace.
!STACK 0
java.nio.BufferOverflowException
at java.nio.Buffer.nextPutIndex(Unknown Source)
at java.nio.HeapByteBuffer.putShort(Unknown Source)
at com.android.dex.Dex$Section.writeShort(Dex.java:818)
at com.android.dex.Dex$Section.writeTypeList(Dex.java:870)
at com.android.dx.merge.DexMerger$3.write(DexMerger.java:437)
at com.android.dx.merge.DexMerger$3.write(DexMerger.java:423)
at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:317)
at com.android.dx.merge.DexMerger.mergeTypeLists(DexMerger.java:423)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:163)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:187)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:187)
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:780)
at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:593)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:321)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:396)
at org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
at org.eclipse.core.internal.resources.Project.build(Project.java:124)
at com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1057)
at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:147)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
4

13 回答 13

38

通过添加这个额外的行,我能够构建我的问题项目:

sdk.buildtools=18.1.1

...到我的project.properties文件,该文件位于项目文件夹的根目录中。所有其他方法对我来说似乎都失败了。

于 2013-11-18T13:57:40.040 回答
29

尝试添加 Android 支持库:D https://stackoverflow.com/a/19803777/544265

于 2013-11-08T05:36:41.180 回答
14

安装新的sdk后,在你的项目文件下有一个新的文件夹“Android Dependencies”。如果您右键单击并将其从构建路径中删除,您将能够再次构建您的项目。

于 2013-11-07T18:25:16.823 回答
11

我已经通过将项目构建目标设置为 API 19 来解决。

于 2013-11-07T16:19:36.353 回答
11

我也有同样的问题。只是,我已经卸载了 SDK build 19 并重新启动了 eclicpse。希望这会有所帮助,谷歌将很快解决这个问题......

于 2013-11-04T04:54:20.370 回答
4

右键单击您的项目 > android 工具 > android 支持库

希望这可以帮助 :)

于 2013-11-10T19:53:33.000 回答
3

我刚刚从项目 > 属性 > java 构建路径 > 库中删除了Android 依赖项。在我清理项目并运行它之后

于 2013-12-24T23:13:09.513 回答
3

在文件 project.properties 中,替换
target=android-??
目标= android
-19

于 2013-11-28T07:06:49.030 回答
2

尝试手动删除 build 19 文件夹。

于 2013-11-04T04:18:24.590 回答
1

我通过在 sdk manager 中安装android sdk platform toolssdk Build tools解决了我的问题

于 2013-12-24T07:20:54.777 回答
0

我已经通过设置 target=android-19 或必须与 manifest 下的 targetSDk 匹配来解决。在项目根目录下的 project.properties 下找到 target=android..

希望这个帮助...

于 2013-12-04T01:55:04.907 回答
0

我已经使用构建工具 19.0.1 和项目构建目标到 API 19 解决了这个问题。使用构建工具 19.0 我有这个问题。

于 2013-12-27T20:18:59.087 回答
0

尝试右键单击您的项目 > android > 项目构建目标 > 选择低于 4.4 的版本并尝试清理项目。

它对我有用。:)

于 2013-11-24T06:38:11.903 回答