未捕获的翻译错误:com.android.dx.cf.code.SimException:默认或静态接口方法,不使用--min-sdk-version> = 24

时间:2017-10-27 12:00:22

标签: android scala sbt

我使用 sbt android:run 在模拟器中运行我的Android应用程序时遇到以下异常:

Uncaught translation error: com.android.dx.cf.code.SimException: default or static interface method used without --min-sdk-version >= 24

毋庸置疑,我正在使用Scala / SBT,并且对于Android领域来说是全新的。

我已经尝试了所有可以找到的解决方案,比如使用最新版本的 guava

"com.google.guava" % "guava" % "23.2-android"

或启用 multidex

dexMulti in Android := true

这就是我的build.sbt的样子:

name := "Scala1"

version := "0.0.1"

scalaVersion := "2.12.3"

platformTarget := "android-26"

javacOptions in Compile ++= "-source" :: "1.8" :: "-target" :: "1.8" :: Nil

enablePlugins(AndroidApp)

dexMulti in Android := true

minSdkVersion in Android := "24"

libraryDependencies ++= Seq(
    "com.android.support" % "appcompat-v7" % "24.0.0",
    "com.google.guava" % "guava" % "23.2-android")

// libraryDependencies ++= Seq(
//     "com.android.support" % "appcompat-v7" % "24.0.0"
//     )

// Enable proguard and link it to the config file 'proguard-project.txt'
proguardOptions in Android ++= io.Source.fromFile("proguard-project.txt").getLines.toSeq

非常感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:0)

必须将build.sbt中的java源和目标版本都更改为1.7:

javacOptions in Compile ++= "-source" :: "1.7" :: "-target" :: "1.7" :: Nil

它现在就像一个魅力。