我正在Scala中开发一个类似Hello World的Android应用程序。
我在SBT-Android文档中跟踪了the Getting Started tutorial,并尝试应用Scala on Android一书中的建议。一个人从头做一切,另一个做g8 Geal/android-app
。
在这两种情况下,我都面临同样的错误:
[warn] module not found: org.scala-sbt#sbt-android;0.7.1-SNAPSHOT
[warn] ==== typesafe-ivy-releases: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/jcarres/.ivy2/local/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-releases-repo: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-plugins-repo: tried
[warn] http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== maven-central: tried
[warn] http://repo1.maven.org/maven2/org/scala-sbt/sbt-android_2.10_0.13/0.7.1-SNAPSHOT/sbt-android-0.7.1-SNAPSHOT.pom
[warn] ==== scalasbt releases: tried
[warn] http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scala-sbt#sbt-android;0.7.1-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
我已经尝试了几个版本的sbt-android
,似乎问题是我的Scala和sbt版本不匹配。
当我访问http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android时,我只能看到scala_2.9.2
目录,而我的Scala版本为2.10
。我的sbt版本为0.13
,而它似乎应为0.12
。
我是否需要删除Scala 2.10
并安装Scala 2.9.2
和/或将sbt降级为0.12
?有解决方案吗?
答案 0 :(得分:6)
sbt
使用自己下载的Scala副本 - 它会自动下载“正确”版本 - 因此无需使用自己安装的Scala副本。
因为这是一个sbt
插件,您需要在sbt
中将project/build.properties
版本更改为预期的版本(如果此文件不存在,您可以创建它,具有以下内容):
sbt.version=0.12.0
确保reload
sbt,以便加载新的(旧)版本的sbt。
或者,当然,您可以尝试从sbt sbt-android-plugin
的源代码编译0.13
,执行相反的操作(您可能需要构建和publish-local
某些依赖项) 。它可能会奏效。