Андроид Декс дает BufferOverflowException при строительстве

При составлении конкретного проекта Android, и только на моей машине Windows, я получаю `Ява.НИО.BufferOverflowException во время от Декс. Проблема возникает как при использовании Eclipse и при использовании муравьиной.

Вывод при использовании Муравей:

...
  [dex] Pre-Dexing C:\MyProject\libs\android-support-v4.jar -> android-support-v4-5f5341d3c1b10a79d7d93f9c1e64421e.jar
  [dex] Converting compiled files and external libraries into C:\MyProject\bin\classes.dex...
   [dx]
   [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
   [dx] java.nio.BufferOverflowException
   [dx]     at java.nio.Buffer.nextPutIndex(Buffer.java:499)
   [dx]     at java.nio.HeapByteBuffer.putShort(HeapByteBuffer.java:296)
   [dx]     at com.android.dex.Dex$Section.writeShort(Dex.java:818)
   [dx]     at com.android.dex.Dex$Section.writeTypeList(Dex.java:870)
   [dx]     at com.android.dx.merge.DexMerger$3.write(DexMerger.java:437)
   [dx]     at com.android.dx.merge.DexMerger$3.write(DexMerger.java:423)
   [dx]     at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:317)
   [dx]     at com.android.dx.merge.DexMerger.mergeTypeLists(DexMerger.java:423)
   [dx]     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:163)
   [dx]     at com.android.dx.merge.DexMerger.merge(DexMerger.java:187)
   [dx]     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
   [dx]     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
   [dx]     at com.android.dx.command.dexer.Main.run(Main.java:230)
   [dx]     at com.android.dx.command.dexer.Main.main(Main.java:199)
   [dx]     at com.android.dx.command.Main.main(Main.java:103)

BUILD FAILED
C:\Users\Jaap\android-sdks\tools\ant\build.xml:892: The following error occurred while executing this line:
C:\Users\Jaap\android-sdks\tools\ant\build.xml:894: The following error occurred while executing this line:
C:\Users\Jaap\android-sdks\tools\ant\build.xml:906: The following error occurred while executing this line:
C:\Users\Jaap\android-sdks\tools\ant\build.xml:284: null returned: 2

При использовании Eclipse сообщение будет короче, но похожие:

[2013-11-01 14:29:44] APK file is not created for Project: 
[2013-11-01 14:29:46 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-11-01 14:29:46 - MyProject] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

Как я уже сказал, Я не'т иметь эту проблему на моем MacBook, хотя они оба обновлены до последней версии набора инструментов Android: 19.0.0.

Комментарии к вопросу (5)
Решение

Нет необходимости понижать инструменты для сборки обратно 18.1.1<суп>1</суп> этот вопрос исправлено с помощью инструментов построения 19.0.1.

Если вы можете'т использовать 19.0.1 почему-то:

Убедитесь, что значение для Android:targetSdkVersion в **AndroidManifest.xml** соответствуетцель=андроид-в<значение> в проекта.свойства. Если эти два значения не совпадают, здания строить Tools версии 19.0.0 закончится в BufferOverflowException. <суп>Источник</SUP и ГТ;

Есть также некоторые указания от комментариев на этот пост, что вы должны, по крайней мере, 19 (андроид-19). Пожалуйста, оставьте комментарий, если данное решение также работает, если ваша цель < 19.

Это, как исправить внешность для моего проекта. Вопрос, связанный AOSP есть #61710.

<суп>1 Если вам действительно нужно понизить, вы не'т необходимости удалить инструменты для сборки 19.0.0, просто установить 18.1.1 и добавить СДК.инструмент сборки=18.1.1 " к " местного.свойства файла`.</SUP и ГТ;

Комментарии (15)

Попробуйте что Ван сказал:

Щелкните правой кнопкой мыши проект &ампер;остатки→; андроид инструменты &ампер;остатки→; библиотека поддержки Android`.

Надеюсь, что это помогает :)

Комментарии (1)

Такая же проблема здесь. Вернулся, чтобы построить инструменты 18.1.1, перезапустить Eclipse и что исправил.

Комментарии (7)

Я был в состоянии получить мой проект, чтобы построить проблема при добавлении этой строки:

sdk.build.tools=18.1.1

...моей проекта.свойства файл, который присутствует в корневой папке проекта. Все другие подходы, казалось, не для меня.

Комментарии (4)

Правой кнопкой мыши на проекте >> свойства >> Андроид >> уровень API 18 работал для меня. Но прежде чем я сделал это, я сделал правый клик на проекте >> инструментов Android >> добавлена поддержка библиотеки и перезапустить затмение. Вы, возможно, придется играть вокруг с вашей избранный АПИ уровень.

Комментарии (2)

После установки нового SDK, появилась новая папка, на "зависимости&quot не андроида, под файл проекта. Если вы щелкните правой кнопкой мыши и удалить его из пути сборки, вы снова будете в состоянии построить свой проект.

Комментарии (2)

Обновление

щелкните правой кнопкой мыши проект > инструменты Android > библиотеки поддержки Android

Очистите ваш проект и попробовать построить.

Комментарии (0)

У меня была такая же проблема после обновления до версии 19. Только не забудьте обновить АДТ https://dl-ssl.google.com/android/eclipse/. После этого, я смог построить проект с самой последней редакции.

Комментарии (0)

Я исправила эту проблему без загрузки библиотеки поддержки или возврат средств построения 18.1.1. Я просто изменил уровень API для 16+ и проблема исчезла. Надеюсь, что это поможет.

Комментарии (2)

Ни один из других решений работал для меня после обновления в студию Андроид 0.4.0 и Gradle 1.9.

Я решил проблему, загрузив инструменты для сборки 19.0.1 и обновить следующую строку в моей сборке.Gradle в файлы:

buildToolsVersion '19.0.0'

для

buildToolsVersion '19.0.1'
Комментарии (1)

Была такая же проблема с целевой версией 19 на оба проекта.свойства и AndroidManifest.xml с АНТ.

Исправил на:

  • Удалено Андроид SDK строй-инструменты 19.0.1
  • Установлено Андроид SDK строй-инструменты 19.0.2`

Я думаю, что @Аль-Катири-Халид месте. Проблема только из-за отсутствия поддержки на уровне API в инструменты для сборки.

Комментарии (0)

Для тех, сталкиваются с проблемой с идеи IntelliJ 13, удалите построить инструменты 19.

Комментарии (0)

У меня была та же проблема, хотя мой проект не использовать библиотеки поддержки. Добавление libs/android-support-v4.jar чтобы проект работал вокруг проблемы без необходимости возврата средств строить из в19.

Комментарии (0)

Я решил эту проблему. Просто внести это изменение в свойствах файла проекта:

target=android-18
sdk.build.tools=18.1.1

И в файле манифеста:

uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="18"
Комментарии (0)

Правой кнопкой мыши на проекте и gt;>Свойства>>и выберите Android API уровня более 15

Или

Добавить Гугл-Плей-services_lib в проект, щелкнув правой кнопкой на проекте и выбрав проект и gt;>Свойства>>Андроид>>добавить

Комментарии (0)

Добавить файл библиотеки в проект.. Проект->правая кнопка мыши->Свойства->В Андроид-и GT;библиотека-> нажмите кнопку Добавить и выберите проект библиотеки и дать применить и ОК.. затем очистить проект и запустить снова.. если вы хотите перезапустить Eclipse..

А также, иногда, нужно обновить SDK для Android строить инструменты..

Комментарии (0)

Что работал для меня было это: Я открыл проект.свойства файла из корень моего проекта и изменен цель=Андроид-8 в цель=андроид-17

Комментарии (0)

Ява.НИО.BufferOverflowException в течение от ошибок Декс Это означает, что вы Дон'Т есть поддержка API для данного уровня, следовательно, построить не удается, есть несколько способов, вы можете исправить это.

Проверьте свой манифест использует-файлов SDK для android:minSdkVersion со значением=на"4" и для Android:targetSdkVersion="и 14"и

Любой из ниже будет исправить проблему:-

  • Скачать нужный API уровень (это может занять время) и запустите приложение снова
  • Быстрый грязные фиксировать изменения вашей цели проекта Проект.свойства чтобы ваша новая цель *цель=андроид-4**
  • Быстрая очистка исправить, изменить SdkVersion в своем манифесте и чистые ваш проект, чтобы добавить изменения в свой проект.свойства (мой любимый)
Комментарии (0)

Я удалил предыдущую версию Android и затмение. Я установил АДТ пакет, и она работает...

Этот Исправлена проблема сайт bufferoverflow на Декс, который начался после того, как я получил АПИ 19. Я был ранее с помощью Eclipse с SDK для ОС Android, устанавливается как надстройка на упаковке.

Комментарии (2)