Ich habe die sbt-android project source bei begehen de0b517 ausgecheckt und dann versucht, die android:package
Aufgabe im Beispielprojekt multiproject-same-dependencies
auszuführen. Ich erhalte diesen Fehler:sbt android nicht Android laufen: Paket auf Beispielprojekt Multi-same-Abhängigkeiten wegen libraryProject Fehler
[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'
ich das Layout in diesem Projekt verfolgt habe mein eigenes Android-Projekt mit zwei Submodule und bin schlage die gleichen Fehler es zu versuchen und zu bauen. Ein Submodul ist selbst eine Android-Bibliothek (für die ich einen Fehler bekomme), und der andere ist nur ein paar Java-Quellen, die keine Androiden-Abhängigkeiten haben.
Ich weiß nicht, ob das relevant ist, aber auf meinem System hat das Beispielprojekt nicht aus der Box gebaut. Ich habe diese Änderungen:
project/build.properties
sbt.version=0.13.9
- hinzufügen
project/plugins.sbt
addSbtPlugin("org.scala-android" % "sbt-android" % "1.6.1")
I Einstellung Einstellung hinzufügen erkennen, dass diese Änderungen durch die Verwendung einer globalen Installation in ~/.sbt
vermieden werden kann, aber ich versuche, zu emulieren die Einstellungen meines aktuellen Projekts, die diese explizit importieren, um sie durch Minimierung der Umgebungsabhängigkeiten unabhängiger und portabler zu machen.
Dies ist build.sbt
für mein persönliches Projekt, wenn es hilft:
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"
)
Ist das der idiomatische Weg, um ein Android-Projekt zu definieren, die auf ein anderes Android-Projekt hängt und ein Nicht-Android-Projekt?
Bezüglich meiner Java-Installation:
$ java -version
java version "1.7.0_60"
Dank!
Nur Projekt 'a' ist baubar als eine Anwendung von Ihrem Fehler geht, so würden Sie' a/android: Versandstück, das Beispielprojekt aus der Box nicht bauen, ' script-android-sdk-plugin/multiproject-same-dependencies - es ist ein testfall – pfn
Auch die gitter oder irc sind unendlich besser Antworten zu bekommen – pfn