【问题标题】:Duplicate file exception between Butterknife and Realm after adding Realm depecendency添加 Realm 依赖后,Butterknife 和 Realm 之间出现重复文件异常
【发布时间】:2016-05-17 18:40:09
【问题描述】:

我正在尝试将 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'
    }

到我的 android{} 块中的 build.gradle,但这似乎不能解决问题。

我正在通过

添加领域
compile 'io.realm:realm-android:0.84.1'

已尝试清理/重建等,但在尝试运行项目时仍然遇到问题。有什么想法吗?

【问题讨论】:

  • 更新到最新版本的 Realm 将解决您的问题,因为它不再包含 AAR 中的注释处理器。

标签: android gradle android-gradle-plugin realm butterknife


【解决方案1】:

我正在使用com.jakewharton:butterknife:7.0.1io.realm:realm-gradle-plugin:0.90.1。它对我来说很好用。

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

【讨论】:

  • 运行 ./gradlew clean assemble 失败并出现同样的异常。奇怪的是,我什至没有在这个项目中使用 Butterknife,它没有在任何地方声明为依赖项。
  • 你为什么用io.realm:realm-gradle-plugincompile 'io.realm:realm-android:0.84.1'
  • @Orbit 查看更新后的documentation
猜你喜欢
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
  • 2019-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多