No se puede ejecutar dex: varios archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1;

Tengo una aplicación para Android, que llama a un jar lib decir b.jar. Este b.jar lib. Entonces se llama facebook sdk lib. Cuando compile mi aplicación en esta situación, siempre dice

No se puede ejecutar dex: varios archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1; La conversión al formato de Dalvik falló: No se puede ejecutar dex: Múltiples archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1;

He utilizado algunos días para que funcione, sin embargo, no he abordado este problema. ¿Alguien sabe cómo resolver este problema?

3 Solutions collect form web for “No se puede ejecutar dex: varios archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1;”

Vaya a las propiedades del proyecto y, a continuación, Java construir la ruta de acceso -> Bibliotecas -> Eliminar las dependencias de Android y Aceptar a continuación, ejecutar su proyecto

Referido desde: https://stackoverflow.com/a/15247670/1585773

Funcionó perfectamente para mí.

Todas las respuestas son un trabajo alrededor. No resuelven la causa raíz del problema. Si observa la estructura de su proyecto, hay un proyecto FacebookSDK y su proyecto. En ambos proyectos, tiene el paquete com.facebook.android (primer archivo java AsyncFacebookRunner), que tiene los mismos archivos java incluidos. Obviamente múltiples archivos dex definirán los archivos de clase y obtendrá error.

Solución: quite el com.facebook.android de su proyecto principal (no FacebookSDK).

Para mí esto fue causado por un conflicto con el SDK de AddThis, puesto que el SDK de AddThis incluye una copia parcial del SDK de Facebook incorporado en él. Y así la clase com/facebook/android/AsyncFacebookRunner se definió dos veces.

Pude resolver esto usando estas respuestas:

Android AddThis sdk + Facebook sdk no se construirá en Android Studio

Android Studio – App Crashing en AddThis.jar – Mensaje "Fuentes no encontradas"

Específicamente, al usar este paso de la segunda respuesta:

Utilizó el comando zip -d addthis0.0.8.jar com/facebook/* en Terminal para eliminar los archivos de Facebook de addthis0.0.8.jar

Desde que estoy usando Eclipse, no necesité hacer ninguno de los otros pasos en esas respuestas.

  • ¿Cómo ahorrar una matriz larga como números hexadecimales inversos más rápido?
  • Dibuja un personaje con 2 colores en Android
  • No se puede burlar la clase final de Kotlin usando Mockito 2
  • Obtener el nombre del método del llamador de mi método
  • Convertir cadenas de escape HTML a unicode simple / ASCII
  • Preguntas sobre los permisos de Android
  • Multitouch para Android - Segundo dedo ACTION.MOVE Ignorado
  • ¿Cualesquiera buenas herramientas de ORM para el desarrollo de Android?
  • ¿Cómo escribir letras árabes separadas?
  • Llamada no marcada a ArrayAdapter
  • Cargar, guardar y usar datos de autenticación en la API de Box Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.