我正在Scala中开发一个类似Hello World的Android应用程序。
我遵循了SBT Android文档中的入门教程,并尝试在Android上应用Scala书中的建议。一个从头开始做所有事情,另一个做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
吗?有解决方案吗?
sbt
使用自己下载的Scala副本-它会自动下载"正确"的版本-因此不需要摆弄自己安装的Scala拷贝。
因为这是一个sbt
插件,您需要在project/build.properties
中将sbt
版本更改为预期版本(如果此文件不存在,您可以创建它,包含以下内容):
sbt.version=0.12.0
确保reload
sbt,以便加载sbt的新(旧)版本。
当然,您也可以尝试从源代码为sbt 0.13
编译sbt-android-plugin
,方法相反(您可能需要构建和publish-local
的一些依赖项)。它可能会起作用。