2015-09-10 3 views
18

Я выполнил еще три ресурса по этой проблеме, но никто не работал.Ошибка Cordova для сборки только для Android: com.android.dex.DexException: несколько файлов dex определяют Landroid/support/annotation/AnimRes;

My iOS прекрасно работает, но андроид дает эту ошибку независимо от того, что я пытаюсь изменить.

  • Уже пытался создать новый проект, но андроид сохраняет ту же проблему.
  • Все Android SDK, установлены

Здесь следует ошибка:

FAILURE: Build failed with an exception. 
 

 
* What went wrong: 
 
Execution failed for task ':dexDebug'. 
 
> com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
 
    \t /Users/sakai/Library/Android/sdk/build-tools/23.0.1/dx --dex --no-optimize --output /Users/sakai/mobile/cupomap/platforms/android/build/intermediates/dex/debug --input-list=/Users/sakai/mobile/cupomap/platforms/android/build/intermediates/tmp/dex/debug/inputList.txt 
 
    Error Code: 
 
    \t 2 
 
    Output: 
 
    \t 
 
    \t UNEXPECTED TOP-LEVEL EXCEPTION: 
 
    \t com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; 
 
    \t \t at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
 
    \t \t at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
 
    \t \t at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
 
    \t \t at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
 
    \t \t at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
 
    \t \t at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 
 
    \t \t at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 
 
    \t \t at com.android.dx.command.dexer.Main.run(Main.java:277) 
 
    \t \t at com.android.dx.command.dexer.Main.main(Main.java:245) 
 
    \t \t at com.android.dx.command.Main.main(Main.java:106) 
 
    \t 
 

 

 
* Try: 
 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 
 

 
BUILD FAILED 
 

 
Total time: 5.343 secs 
 

 
/Users/sakai/mobile/cupomap/platforms/android/cordova/node_modules/q/q.js:126 
 
        throw e; 
 
         ^
 
Error code 1 for command: /Users/sakai/mobile/cupomap/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/sakai/mobile/cupomap/platforms/android/build.gradle,-Dorg.gradle.daemon=true 
 
ERROR building one of the platforms: Error: /Users/sakai/mobile/cupomap/platforms/android/cordova/build: Command failed with exit code 8 
 
You may not have the required environment or OS to build this project 
 
Error: /Users/sakai/mobile/cupomap/platforms/android/cordova/build: Command failed with exit code 8 
 
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23) 
 
    at ChildProcess.emit (events.js:98:17) 
 
    at maybeClose (child_process.js:756:16) 
 
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

много ресурсов говорит, что это в основном дублированный поддержка файлов с различными версиями. Так вот следовать моему список плагин

com.googlemaps.ios 1.9.2 "Google Map iOS SDK for Cordova" 
 
cordova-plugin-console 1.0.1 "Console" 
 
cordova-plugin-device 1.0.1 "Device" 
 
cordova-plugin-device-motion 1.1.1 "Device Motion" 
 
cordova-plugin-device-orientation 1.0.1 "Device Orientation" 
 
cordova-plugin-dialogs 1.1.1 "Notification" 
 
cordova-plugin-geolocation 1.0.1 "Geolocation" 
 
cordova-plugin-splashscreen 2.1.0 "Splashscreen" 
 
cordova-plugin-statusbar 1.0.1 "StatusBar" 
 
cordova-plugin-whitelist 1.0.0 "Whitelist" 
 
phonegap-plugin-push 1.2.2 "PushPlugin" 
 
plugin.google.maps 1.2.9 "phonegap-googlemaps-plugin" 
 
plugin.http.request 1.0.4 "phonegap-http-request"

Я пытался решить эту проблему в течение почти дня в настоящее время.

Я ценю любой вид помощи

ответ

54

был такой же проблема, добавив следующие строки в файл build.gradle, расположенном в платформах/андроид сделал это для меня.

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

Я скопировал его после строки:

apply plugin: 'android' 

Надеется, что это помогает.

+0

Perfect @ Henkie14 THAK YOU ОЧЕНЬ МНОГО – Sakai

+0

Работали. Благодарю. –

+0

Спасибо, человек ... работал. – Tuhin

1

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

Просто удалите «построить» папку внутри платформы/андроида затем запустить cordova build android. Для меня это сработало

+0

То же, работал для меня. :) – ShermanL

1

Это почти наверняка из-за противоречивых плагинов. То, как я это решил (надеюсь, что вы комфортно сидите), должен был удалить каждый плагин, а затем добавить каждый из них один за другим и попытаться построить. Насколько я вижу, это единственный реальный способ их диагностировать.

Обычно это зависит от какой-либо библиотеки Google (игровые сервисы или местоположение), поэтому я бы сказал, что наиболее вероятными виновниками являются плагины, участвующие в размещении или push-уведомлениях.

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