Исключение повторяющегося файла между Butterknife и Realm после добавления зависимости Realm

Я пытаюсь добавить Realm в свой проект, но при запуске я получаю следующую ошибку сборки от gradle:

Error:Execution failed for task ':sdksampleapp:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/services/javax.annotation.processing.Processor
    File1: /Users/name/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/d5d13ea991eab0252e3710e5df3d6a9d4b21d461/butterknife-7.0.1.jar
    File2: /Users/name/.gradle/caches/modules-2/files-2.1/io.realm/realm-android/0.84.1/b86074e6240f0f876701810a047b0261f7bd060e/realm-android-0.84.1.jar

Я попытался добавить:

packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }

к моему build.gradle в моем блоке android{}, но это, похоже, не решает проблему.

Я добавляю Realm через

compile 'io.realm:realm-android:0.84.1'

Пробовали очищать/перестраивать и т. д., но все еще сталкивались с проблемой при попытке запустить проект. Любые идеи?


person Orbit    schedule 17.05.2016    source источник
comment
Обновление до последней версии Realm решит вашу проблему, поскольку оно больше не включает процессор аннотаций в AAR.   -  person Emanuelez    schedule 17.05.2016


Ответы (1)


Я использую com.jakewharton:butterknife:7.0.1 и io.realm:realm-gradle-plugin:0.90.1. Это работает просто отлично для меня.

packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
person mjosh    schedule 17.05.2016
comment
Выполнение ./gradlew clean assemble завершается ошибкой с тем же исключением. Что странно, так это то, что я даже не использую Butterknife в этом проекте, он нигде не объявлен как зависимость. - person Orbit; 17.05.2016
comment
Почему вы используете io.realm:realm-gradle-plugin вместо compile 'io.realm:realm-android:0.84.1'? - person Orbit; 20.05.2016
comment
@Orbit смотрите обновленную документацию - person mjosh; 20.05.2016