我使用 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
非常感谢任何形式的帮助。
答案 0 :(得分:0)
必须将build.sbt
中的java源和目标版本都更改为1.7:
javacOptions in Compile ++= "-source" :: "1.7" :: "-target" :: "1.7" :: Nil
它现在就像一个魅力。