我正在使用 sbt-android 插件使用 Scala 和 SBT 开发 Android 应用程序。
我用示例代码编写了一个小项目,它运行得很好。
但是 IntelliJ 将所有指向库资源的“指针”标记为红色 - 所以我可以定义它们,但不能使用它们。
它说,例如:'找不到符号 Theme.AppCompat'。
以下是一些图片:
这是我的 build.sbt:
name := "Scalandroid"
import android.Keys._
import android.Dependencies.{apklib,aar}
androidBuild
javacOptions ++= Seq("-source", "1.7", "-target", "1.7")
scalaVersion := "2.11.7"
resolvers += "Bugsense repository" at "http://www.bugsense.com/gradle/"
libraryDependencies ++= Seq(
aar("com.android.support" % "appcompat-v7" % "24.2.0"),
aar("com.android.support" % "cardview-v7" % "24.2.0"),
aar("com.android.support" % "support-v4" % "24.2.0"),
aar("com.android.support" % "design" % "24.2.0"),
aar("com.android.support" % "recyclerview-v7" % "24.2.0")
)
scalacOptions in Compile += "-feature"
compileOrder := CompileOrder.JavaThenScala
compileOrder in Android := CompileOrder.JavaThenScala
proguardOptions in Android ++= Seq("-dontobfuscate", "-dontoptimize", "- keepattributes Signature", "-printseeds target/seeds.txt", "- printusage target/usage.txt"
, "-dontwarn scala.collection.**" // required from Scala 2.11.4
)
run <<= run in Android
install <<= install in Android
proguardScala in Android := true
useProguard in Android := true
// Tests //////////////////////////////
libraryDependencies ++= Seq(
"org.apache.maven" % "maven-ant-tasks" % "2.1.3" % "test",
"org.robolectric" % "robolectric" % "3.0" % "test",
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
// without this, @Config throws an exception,
unmanagedClasspath in Test ++= (bootClasspath in Android).value
这是我的项目/plugins.sbt:
addSbtPlugin("org.scala-android" % "sbt-android" % "1.6.16")
addSbtPlugin("org.scala-android" % "sbt-android-protify" % "1.3.2")
libraryDependencies += "net.sf.proguard" % "proguard-base" % "5.2.1"