Android Studio с использованием UserVoice Java SDK

Я только что создал новый проект в Android Studio и хочу добавить UserVoice Java SDK в качестве зависимости.

Я добавляю строку compile 'com.uservoice:uservoice-java:0.0.2' в файл приложения build.gradle в блоке зависимостей.

Когда я попытаюсь построить его, сборка завершится ошибкой с

Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/collections/Buffer;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)

На данный момент я никак не модифицировал проект. Есть ли способ исключить оскорбительные зависимости и заставить работать UserVoice SDK?

Спасибо!


person Felix Haehnel    schedule 23.08.2014    source источник


Ответы (2)


Вышеупомянутое не сработало для меня, мне нужно было исключить зависимость от общего доступа от uservoice.

compile('com.uservoice:uservoice-java:0.0.2'){
    exclude group: 'commons-collections'
}

Это вместе со следующим позволило ему хорошо играть с gradle:

packagingOptions {
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}
person stealthcopter    schedule 21.07.2015

Наконец-то мне удалось заставить это работать. Что я сделал, так это добавил

dexOptions {
   preDexLibraries = false
}

в блок android build.gradle. Это было предложено здесь

я должен был также добавить

packagingOptions {
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}

к тому же блоку.

person Felix Haehnel    schedule 24.08.2014