2011-12-31 8 views
6

He estado rasgándome el cabello por esta, durante las últimas 3 horas he estado tratando de arreglarlo pero no he podido a. Creé una aplicación de Android y estoy listo para ponerla en el mercado de Android, pero me aparece este error cuando intento exportar a una aplicación.Error al compilar apk - "Múltiples archivos dex definen Lcom/google/ads/Ad"

No se puede ejecutar dex: Múltiples archivos dex definen Lcom/google/ads/Ad;

He leído un montón sobre el problema y he intentado bastantes soluciones, pero nada parece haber sido de ayuda. He limpiado y reconstruido, eliminé la carpeta bin, me he asegurado de que la carpeta bin esté excluida. Nada funcionó. Si alguien pudiera ayudarme, realmente lo apreciaría.

Respuesta

5

En otra publicación con un problema similar al tuyo, lo único que has mencionado que no has considerado es actualizar Eclipse. No sé cómo ni qué orden han hecho estas "correcciones", pero otro cartel mencionó que, de repente, eliminó el directorio bin de su proyecto, limpió y reconstruyó el proyecto y reinició Eclipse. Después de eso, el error desapareció.

buena suerte-Lijap

+0

Eso es lo que terminé haciendo, desinstalando/reinstalando todo. – Stratus

+0

¡Gracias por aceptar mi respuesta! Espero que tu aplicación se venda bien también. – Lijap

+1

@Lijap ¿Por qué suena esto (y se siente) como Voodoo? Tengo dudas sobre la actualización de un Eclipse que funcione perfectamente cuando el problema solo existe en una aplicación: muestra de facturación de mercado de Google (http://stackoverflow.com/questions/8721498/multiple-dex-files-define-lcom-android-vending -billing-imarketbillingservice).Cualquier sugerencia o idea que pueda ayudarme a ** entender ** por qué ocurre este problema y lo que significa sería muy apreciado. +1 mientras tanto ... –

9

Desmarque el archivo jar admob en la parte de "orden y la exportación" de la "ruta de compilación de configuración".

+0

La respuesta de Matt de "Desactivar el archivo jar de admob en la parte de" ordenar y exportar "de" configurar la ruta de compilación "funcionó perfectamente. Mientras seguía las instrucciones en la configuración de admob, seguí las instrucciones aquí https://developers.google.com/mobile-ads-sdk/docs/ . Observé que el recuadro estaba marcado en la captura de pantalla proporcionada, pero cuando lo desmarqué todo funciona, incluidos los anuncios, y todos los errores desaparecieron. – user2084337

+0

No fue que desactivé el mío, sino que busqué el otro contenedor de admobs en lugar del que está en esa carpeta de apps libs. –

0

Tuve el mismo o un problema similar. Mi problema era que mi aplicación importaba una biblioteca que usaba una versión diferente de AdMob SDK.

detalles de mi problema:

  • Biblioteca usan AdMob SDK 6.3.0
  • Aplicación utilizada SDK de AdMob 6.1.0

fija mediante la inclusión de la misma versión.

1

Para mí, el error se debió a que se incluyeron accidentalmente 2 versiones diferentes de AdMob SDK. Quitando uno de ellos lo arregló.

1

Como se ha señalado, este problema debería deberse a que se incluyeron varias versiones de las clases de SDK de anuncios de Goodle en la compilación de la aplicación. Lo que aún no he visto es una nota que dice que la versión más reciente del Servicio de Google Play incluye clases que (al menos) comparten los mismos nombres que algunos en admob sdk-- por ejemplo, encontré este error porque estaba intentando compilar tanto con admob sdk v.4.0.4 como con el proyecto google-play-services_lib como proyecto referenciado; el último contiene google-play-services.jar que contiene el paquete com.google.ads y muchas de las mismas clases que el admob sdk. Por lo tanto, parece que los servicios de google play lib y admob sdk no se pueden usar en una aplicación determinada. Mi solución fue eliminar Admob SDK completamente de la compilación.

0

Para mí, solo tengo que sacar la carpeta libs que contiene android-support-v4.jar desde la ruta de compilación y funcionó.

Cuestiones relacionadas