【问题标题】:Duplicate zip entry in Proguard with Scala on Android在 Android 上使用 Scala 在 Proguard 中重复 zip 条目
【发布时间】:2018-05-08 13:57:21
【问题描述】:

我有以下错误:

  Copying resources from program jar [D:\Users\antona\.ivy2\cache\org.scala-lang
\scala-library\jars\scala-library-2.12.4.jar] (filtered)
[trace] Stack trace suppressed: run last android:proguard for the full output.
[error] (android:proguard) java.io.IOException: Can't write [D:\Work\scala\andro
id_scala_prooooject\target\android\intermediates\proguard\classes.proguard.jar]
(Can't read [D:\Users\antona\.ivy2\cache\org.scala-lang\scala-library\jars\scala
-library-2.12.4.jar(;;;;;;!META-INF/**,!rootdoc.txt)] (Duplicate zip entry [scal
a-library-2.12.4.jar:scala/annotation/compileTimeOnly.class]))
[error] Total time: 144 s, completed Nov 24, 2017 3:14:53 PM

我试图删除对 scala-library 的引用,但没有任何帮助。我不明白的问题:rootdoc.txt?还是compileTimeOnly.class?

这是我的 build.sbt:

scalacOptions += "-Yresolve-term-conflict:package"

proguardOptions in Android ++=
    "-dontnote" ::
    "-dontobfuscate" ::
    "-dontshrink" ::
    "-dontwarn InnerClasses,EnclosingMethod" ::
    "-dontwarn scala.annotation.compileTimeOnly" ::
    "-ignorewarnings" ::
    "-keepattributes InnerClasses,EnclosingMethod" ::
    "-dontoptimize" ::
    Nil

mappings in (Compile, packageBin) ~= { _.filter(!_._1.getName.endsWith(".txt")) }

我使用的是 Scala 2.12.4

【问题讨论】:

    标签: android scala sbt android-proguard


    【解决方案1】:

    从 scala-library-2.12.4.jar 中手动删除 scala/annotation/compileTimeOnly.class 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多