2015-08-19 1 views
4

Я создаю приложение, использующее кордову и ионическую структуру.Ошибка: несколько файлов dex определяют Landroid/support/annotations/AnimRes с плагинами Admob и Facebook Cordova

Однако теперь, когда я построю мой проект, я встретил с ошибкой:

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Landroid/support/annotations/AnimRes; 

Другие SO решения упоминают несколько android-support-v4.jar файлов но единственный файл android-support-v4.jar, который я могу найти, находится в плагине facebook.

Другое решение, упомянутое конфликтующими версиями (например, android-support-v4.jar, противоречащее android-support-v13.jar) - опять же, я не вижу ссылок на android-support-v13.jar в моем проекте.

Другое решение противоречило android-support-annotations.jar и android-support-v4.jar: multiple dex files define landroid/support/annotation/AnimRes. Я не могу найти android-support-annotations.jar файлов в моем проекте, кроме чего-то, что создается в: myProject\platforms\android\build\intermediates\pre-dexed\debug enter image description here

Однако я не понимаю, как это становится создано.

Как я могу решить эту проблему? Проблема может быть легко воспроизведена:

>ionic start myApp tabs 
>cd myApp 
>cordova plugin add https://github.com/Wizcorp/phonegap-facebook-plugin.git --variable APP_ID="123456789" --variable APP_NAME="myApplication" 
>cordova plugin add cordova-plugin-admobpro 
>ionic platform android 
>ionic build android 

(где APP_ID и APP_NAME являются ID и имя приложения facebook)

ответ

15

Вы должны исключить андроид-поддержки-v4.jar, который был включен Wizcorp Facebook плагин. Trick просто нужно создать build-extras.gradle внутри платформы/андроида и добавить следующее:

configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

И вот, теперь каждый плагин, который использует андроид поддержки LIB будет работать с этим FB плагин. Возможно, вы могли бы разместить это где-то по умолчанию build.gradle, но я не мог понять, где именно, этот файл build-extras автоматически включается, поэтому его штраф.

+1

Спасибо, человек! Я использовал ваше решение из сообщения о проблеме github (так же, как это) на днях, и теперь все работает отлично! – Benzilla

+1

Я попробовал несколько решений, напрасно. но работает только один. Благодарю. – iouhammi

+0

не работает для меня :( –

0

Вы должны попытаться очистить свой проект, используя cordova clean.

В моем случае это работает.

Смежные вопросы