我在模拟器中使用 sbt android:run 运行我的安卓应用程序时遇到以下异常:
Uncaught translation error: com.android.dx.cf.code.SimException: default or static interface method used without --min-sdk-version >= 24
不用说,我正在使用Scala/SBT,并且对Android领域来说是全新的。
我已经尝试了我能找到的所有解决方案,例如使用最新版本的番石榴:
"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
非常感谢任何形式的帮助。
必须在 build.sbt
中将 java 源代码和目标版本更改为 1.7:
javacOptions in Compile ++= "-source" :: "1.7" :: "-target" :: "1.7" :: Nil
它现在就像一个魅力。