【问题标题】:BufferOverflowException when building application构建应用程序时出现 BufferOverflowException
【发布时间】:2013-11-02 12:12:02
【问题描述】:

每次我想运行我的 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)

【问题讨论】:

  • 您最近是否安装了构建工具版本 19.0.0?如果是这样,请参阅:stackoverflow.com/questions/19741260/… 以及其中的链接
  • @NickT 我已安装:SDK Build-tools 18.0.1 和 17
  • 哦,那不是19版的构建工具。我刚刚更新到 kitkat,直到那时我的构建都还可以,当我遇到和你一样的错误时。删除构建工具 19 为我修复了它。抱歉,我帮不上忙

标签: android eclipse adt


【解决方案1】:

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

sdk.buildtools=18.1.1

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

【讨论】:

  • wowwwwwwwwww.... 成功了。我尝试了很多选择。最后你建议的一个工作。谢谢... :)
  • 它为我工作。我尝试了示例 SlidingMenu 项目。我使用上述代码导入并运行。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 以上答案均无效,但他对我有用。谢谢!
    • 我一直在通过这个线程逐个回答。这是第一个起作用的。我对盲目地从我的项目中删除文件夹感到紧张,但它奏效了。
    • 这里也一样,以上所有方法都不起作用,但这不止一次救了我。非常感谢!
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 这是目前的解决方案,直到 Google 修复了构建工具版本 19。显然有很多用户收到此错误,并且问题已在 issue tracker 中打开。我也不得不恢复到 v18 构建工具
      • 谢谢哥们。这是一个有效的答案。由于谷歌的无能,我已经浪费了将近半个小时的宝贵时间。几乎每次我升级 SDK 我的工作区都会停止工作。
      • 这确实回答了这个问题。当发生意外错误时,有可能重新启动进程。
      【解决方案6】:

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

      希望这会有所帮助:)

      【讨论】:

      • 在我的菜单中是添加支持库。
      【解决方案7】:

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

      target=android-19

      【讨论】:

        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

            【解决方案10】:

            我通过在 sdk 管理器中安装 android sdk 平台工具sdk 构建工具 解决了我的问题

            【讨论】:

              【解决方案11】:

              尝试右键单击您的项目 > android > Project build Target >选择低于 4.4 的版本 并尝试清理项目。

              它对我有用。 :)

              【讨论】:

                【解决方案12】:

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

                希望这个帮助...

                【讨论】:

                  【解决方案13】:

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2022-06-15
                    • 2020-04-07
                    • 2019-03-20
                    • 1970-01-01
                    • 2022-07-04
                    • 2012-04-22
                    相关资源
                    最近更新 更多