Создание проекта Android с использованием Jenkins выдает com.android.dex.DexException, в то время как сборка командной строки, вероятно, работает

Я использую команду ant clean debug emma install test для сборки моего проекта Android с Apache Ant из командной строки, и все работает отлично (тесты работают, и сборка становится успешной). В то время как та же команда для сборки Jenkins (настроены ANT, JAVA, ANDROID_SDK) выдает ошибку на последних этапах сборки:

[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
   [dx] Result compacted from 9251,1KiB to 7638,5KiB to save 1612,5KiB
   [dx] Merged dex A (5330 defs/5673,8KiB) with dex B (2032 defs/1984,5KiB). Result is 7362 defs/7638,5KiB. Took 0,6s
   [dx] com.android.dex.DexException: Multiple dex files define Lcom/vladium/app/IAppVersion;
   [dx]     at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
   [dx]     at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
   [dx]     at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
   [dx]     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
   [dx]     at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
   [dx]     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
   [dx]     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
   [dx]     at com.android.dx.command.dexer.Main.run(Main.java:246)
   [dx]     at com.android.dx.command.dexer.Main.main(Main.java:215)
   [dx]     at com.android.dx.command.Main.main(Main.java:106)
BUILD FAILED
/SDK/android-sdk-macosx/tools/ant/build.xml:892: The following error occurred while executing this line:
/SDK/android-sdk-macosx/tools/ant/build.xml:894: The following error occurred while executing this line:
/SDK/android-sdk-macosx/tools/ant/build.xml:899: The following error occurred while executing this line:
/SDK/android-sdk-macosx/tools/ant/build.xml:283: null returned: 2

Jenkins размещается на моей локальной машине (которая отлично строит этот проект из командной строки), и я не понимаю, почему возникает эта ошибка. Похоже, проблемы с использованием emma.jar, но я не могу понять, как исправить проект сборки в Jenkins.

Любые идеи?


person Andrei K.    schedule 02.03.2015    source источник


Ответы (1)


Нашел решение. Мы должны выполнить команду (порядок слов очень важен):

ant clean emma debug install test

и исключите любые библиотеки emma из нашего пути к классам (папка libs). Все довольно легко.

person Andrei K.    schedule 09.03.2015