我已在提交sbt-android project source检出de0b517,然后尝试在示例项目android:package
中运行multiproject-same-dependencies
任务。我收到这些错误:
[error] (b/android:apkbuild) This project cannot build APK, it has set 'libraryProject in Android := true'
[error] (c/android:apkbuild) This project cannot build APK, it has set 'libraryProject in Android := true'
[error] (d/android:apkbuild) This project cannot build APK, it has set 'libraryProject in Android := true'
我一直在关注这个项目的布局,尝试用两个子模块构建我自己的android项目,并在那里遇到同样的错误。一个子模块本身就是一个android库(我得到了一个错误),另一个只是一些没有android依赖的java源代码。
我不知道这是否相关,但在我的系统上,示例项目并没有开箱即用。我做了这些改变:
project/build.properties
设置sbt.version=0.13.9
project/plugins.sbt
设置addSbtPlugin("org.scala-android" % "sbt-android" % "1.6.1")
我意识到可以通过在~/.sbt
中使用全局安装来避免这些更改,但我正在尝试模拟我的实际项目设置,这些设置明确导入这些设置以使其更加独立通过最小化环境依赖性来实现便携性。
如果有帮助,这是我个人项目的build.sbt
:
val androidSettings = Seq(platformTarget := "android-15", dexMulti := true)
javacOptions in Compile ++= Seq("-source", "1.7", "-target", "1.7")
lazy val actionbarsherlock =
project
.settings(exportJars := true)
.settings(androidBuildAar)
.settings(androidSettings: _*)
lazy val util =
project
.settings(exportJars := true)
lazy val androminion =
project
.dependsOn(util)
.androidBuildWith(actionbarsherlock)
.settings(androidSettings: _*)
.settings(exportJars := true)
libraryDependencies in actionbarsherlock ++= Seq(
"com.android.support" % "support-v4" % "18.0.0"
)
这是定义一个依赖于另一个Android项目和一个非android项目的android项目的惯用方法吗?
关于我的java安装:
$ java -version
java version "1.7.0_60"
谢谢!
答案 0 :(得分:0)
你会跑
androminion/android:package