Не удалось преобразовать формат Dalvik: невозможно выполнить SDX-инструменты dex 22.3

Несколько файлов dex определяют Lcom/google/ads/AdRequest $ErrorCode

Последние ADT, последние инструменты SDK (22.3).

Я пробовал:

  • Clean/восстановление
  • Обновить Eclipse
  • Удалить папки bin и gen
  • Перезапуск Eclipse
  • Настроить вручную Ant
  • Плюс некоторые другие вещи

Все мои проекты теперь нацелены на API lvl 19.

Я не знаю, что делать.

Спасибо

Ответ 1

Ошибка множественных файлов dex просто говорит вам, что вы включаете один и тот же файл класса из разных источников. Поэтому перезапуск Eclipse или создание с помощью Ant не поможет, так как ваша настройка проекта просто недействительна.

Как вы не укажете, какие банки вы используете, невозможно точно сказать, что происходит.

Однако новейшая библиотека Google Play включает рекламу, и я предполагаю, что вы включаете как Admob, так и Google Play Services, которые, по-видимому, содержат одни и те же классы. В этом случае вы должны перенести свой код, чтобы использовать рекламные ролики Google Play, и удалить баннер admob из вашего проекта.

Ответ 2

* Щелкните правой кнопкой мыши по имени проекта и выберите "Путь сборки".

* Затем выберите "Настроить путь сборки".

* На пути сборки Java выберите вкладку "Заказ и экспорт".

* Снимите флажок .jar.

Ошибка, как правило, связана с множественностью в библиотеках.

Ответ 3

Вы проверили файлы xml? У меня та же проблема (и она еще не решена), и я забыл изменить атрибут adView из:

<com.google.ads.AdView
    android:id="@+id/adView"

к

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"

тогда вы также должны очистить свой

xmlns:ads="http://schemas.android.com/apk/lib/com.google.android.gms.ads"

(dunno, если это правильно, хотя...)

Изменить: Найдено:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/res-auto"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
  <com.google.android.gms.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="MY_AD_UNIT_ID"
                         ads:adSize="BANNER"/>
</LinearLayout>

(Источник: https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals)

Edit2:

Хорошо, теперь я решил свою проблему. Я такой Идиот... Ну, я интегрировал SDK AdMob в библиотеку сервисов... Я удалил его, и все было отлично! Поэтому удалите services_lib, загрузите его и снова импортируйте, что должно работать, я думаю. Удачи!

Ответ 4

Работала отлично после удаления "GoogleAdMobAdsSdk-6.4.1.jar" из моего проекта. Не забудьте добавить в приложение Google Play Services как библиотеку. Привет!

Ответ 6

Если вы также пользуетесь сервисом google play, тогда возникает конфликт.

Ответ 7

Свойства проекта Eclipse- > Java build path- > Order and export

Снимите флажки с частных библиотек Android.

Не используйте jar файл и библиотечный проект вместе с google play service lib в вашем проекте.