online convertir archivo abrir java android android-support-library appcompat bolts-framework

java - convertir - No se puede ejecutar dex: varios archivos dex definen Lbolts/AggregateException



abrir archivo jar online (4)

Encontré esto recientemente en mi proyecto nativo de reacción, puede ir a su carpeta de Android de su proyecto. y en la terminal, pulse este comando "./gradlew app: dependencies" para ver el árbol de dependencias. Encontré dos paquetes para Android pernos en Facebook SDK. Si excluyes este paquete de Facebook SDK, las cosas funcionarán bien otra vez.

compile (''com.facebook.react:react-native:+'') { exclude group: ''com.parse.bolts'', module: ''bolts-tasks'' }

Sé que muchos problemas de dex han sido reportados muchas veces antes, pero ninguna de las soluciones parece funcionar en mi caso.

Consola:

Unable to execute dex: Multiple dex files define Lbolts/AggregateException; Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lbolts/AggregateException;

Una de las soluciones populares es desmarcar el contenedor "bibliotecas privadas de Android" de buildpath. No puedo hacer eso porque hay algunas bibliotecas más en ese contenedor que necesito.

Otra solución es desmarcar cualquier biblioteca duplicada agregada explícitamente en forma de .jar. No tengo tales bibliotecas.

La biblioteca duplicada en mi caso es: android-support-v7-appcompat.jar Lo tengo (directamente referenciado desde la carpeta sdk) en estos dos contenedores:

1.) bibliotecas privadas de Android

2.) Dependencias de Android

El problema es que simplemente no puedo desmarcar ninguno de estos dos contenedores completamente, ya que ambos contienen otras bibliotecas necesarias. Pero tampoco puedo eliminar este archivo duplicado .jar de ninguno de los contenedores.

EDITAR: NB : Cuando agrego el proyecto de biblioteca android-support-v7-appcompat a mi proyecto, entra en ambos contenedores. Debe haber alguna manera para que entre en uno solo.

¿Alguien puede ayudarme cómo puedo hacerlo?


Esto puede suceder cuando agregue facebook SDK a Android, puede resolverlo con:

compile ("com.facebook.android:facebook-android-sdk:4.1.0") { exclude group: ''com.parse.bolts'', module: ''bolts-android'' }


como la versión react se ha actualizado a 0.31.0, cuando desea integrar com.facebook.fresco:animated-gif:0.10.0 que tiene com.parse.bolts tiene bien, puede hacer lo siguiente:

compile (''com.facebook.react:react-native:+'') { exclude group: ''com.parse.bolts'', module: ''bolts-tasks'' } compile (''com.facebook.fresco:animated-gif:0.10.0''){ exclude group: ''com.parse.bolts'', module: ''bolts-tasks'' }


Resuelto de alguna manera

bolts-android biblioteca de bolts-android fue el verdadero problema aquí. Había dos versiones diferentes causando un conflicto. La biblioteca de FacebookSDK trae los bolts-android-1.1.2 , y android-support-v7-appcompat trae los bolts-android-1.1.4 .

Desmarqué el contenedor de bibliotecas privadas de Android en el proyecto de la biblioteca FacebookSDK , que contenía bolts-android-1.1.2 . Como resultado, mi proyecto ahora solo tenía una versión, bolts-android-1.1.4 , resolviendo el conflicto. Se ejecuta bien ahora.

Además, resulta que las entradas duplicadas de android-support-v7-appcompat no fueron un problema.