samsung - Android dex proporciona una BufferOverflowException al construir
samsung dex precio (19)
Agregue el archivo de la Biblioteca en el proyecto. Proyecto-> haga clic derecho-> Propiedades-> Android-> Biblioteca-> haga clic en Agregar y seleccione el Proyecto de la Biblioteca y proporcione aplicar y aceptar ... luego, limpie el proyecto y vuelva a ejecutar ... si quiero reiniciar el eclipse ...
Y también, a veces, necesita actualizar las herramientas de compilación de Android SDK.
Al compilar un proyecto específico de Android, y solo en mi máquina con Windows, obtengo una java.nio.BufferOverflowException
durante dex. El problema ocurre tanto al usar Eclipse como al usar Ant.
La salida cuando se usa Ant es:
...
[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
Al usar Eclipse, el mensaje es más corto pero similar:
[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.
Como dije, no tengo este problema en mi MacBook, aunque ambos están actualizados a las últimas versiones de las herramientas de Build de Android: 19.0.0.
Después de la instalación del nuevo SDK, hay una nueva carpeta, "Dependencias de Android", debajo de su archivo de proyecto. Si hace clic derecho y lo elimina de la ruta de compilación, podrá volver a crear su proyecto.
El mismo problema aqui. Revertido a las herramientas de compilación 18.1.1, se reinició Eclipse y eso lo solucionó.
Haga clic derecho en Proyecto >> Propiedades >> Android y seleccione Nivel de API mayor que 15
O
Agregue google-play-services_lib a su proyecto haciendo clic derecho en el proyecto y seleccionando Proyecto >> Propiedades >> Android >> Agregar
Lo que funcionó para mí fue esto: abrí el archivo project.properties desde la raíz de mi proyecto y cambié target=android-8
a target=android-17
Ninguna de las otras soluciones aquí funcionó para mí después de actualizar a Android Studio 0.4.0 y Gradle 1.9.
Resolví el problema descargando Build Tools 19.0.1 y actualizando la siguiente línea en mis archivos build.gradle:
buildToolsVersion ''19.0.0''
a
buildToolsVersion ''19.0.1''
Para los que tienen problemas con IntelliJ IDEA 13, desinstale Build Tools 19.
Prueba lo que dice van :
Haga clic derecho en su project
→ android tools
android support library
→ android support library
.
Espero que esto ayude :)
Pude construir mi proyecto problemático agregando esta línea adicional:
sdk.build.tools=18.1.1
... a mi archivo project.properties , que está presente en la raíz de la carpeta del proyecto. Todos los demás enfoques parecieron fallarme.
Resolví este problema. Simplemente haga este cambio en el archivo de propiedades del proyecto:
target=android-18
sdk.build.tools=18.1.1
Y en el archivo manifiesto:
uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="18"
Solucioné este problema sin descargar la biblioteca de soporte ni revertir las herramientas de compilación a 18.1.1. Simplemente cambié el nivel de API a 16+ y el problema desapareció . Espero que ayude
Tuve el mismo problema con la versión de destino 19
en project.properties
y AndroidManifest.xml
con Ant.
Solucionado por:
- Desinstalado
Android SDK Build-Tools 19.0.1
-
Android SDK Build-Tools 19.0.2
instalación deAndroid SDK Build-Tools 19.0.2
Creo que @ Al-Kathiri-Khalid es perfecta. El problema solo se debe a la falta de soporte para el nivel de API en herramientas de compilación.
Tuve el mismo problema después de actualizar a la Revisión 19. Simplemente no olvide actualizar ADT, https://dl-ssl.google.com/android/eclipse/ . Después de esto, pude construir un proyecto con la última revisión.
Tuve el mismo problema, aunque mi proyecto no usó la biblioteca de soporte. Agregar libs / android-support-v4.jar al proyecto solucionó el problema sin necesidad de revertir las herramientas de compilación desde v19.
Actualizar
right click your project > android tools > android support library
Limpia tu proyecto e intenta construir.
No es necesario degradar las herramientas de compilación a 18.1.1 1 , este problema se soluciona con las herramientas de compilación 19.0.1 .
Si no puede usar 19.0.1 por alguna razón:
Asegúrese de que el valor de android:targetSdkVersion
en AndroidManifest.xml coincida con target=android-<value>
en project.properties . Si estos dos valores no son los mismos, compilar con herramientas de compilación versión 19.0.0 terminará en BufferOverflowException. Source
También hay alguna indicación de los comentarios en esta publicación que debe apuntar al menos a 19 (android-19). Por favor, deje un comentario si esta solución también funciona si su objetivo es <19.
Así es como la solución busca mi proyecto. El problema relacionado con AOSP es # 61710.
1 Si realmente necesita degradar, no necesita desinstalar las herramientas de compilación 19.0.0, simplemente instale 18.1.1 y agregue sdk.buildtools=18.1.1
al archivo local.properties
.
java.nio.BufferOverflowException durante el error from dex Esto significa que no tiene la API de soporte para ese nivel, por lo tanto, la compilación falla, existen varias maneras de solucionarlo.
Compruebe su archivo de manifiesto usa-sdk android: minSdkVersion = "4" y android: targetSdkVersion = "14"
Cualquiera de los siguientes resolverá el problema:
- Descargue el nivel de API requerido (esto puede llevar tiempo) y vuelva a ejecutar su aplicación
- Solución sucia rápida: cambie su objetivo del proyecto en project.properties a su nuevo objetivo target = android-4
- Solución de limpieza rápida, cambie SdkVersion en su manifiesto y Limpie su proyecto para agregar los cambios a su project.properties (Mi favorito)