2016-05-07 5 views
0

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.propertiessbt.version=0.13.9
  • hinzufügen project/plugins.sbtaddSbtPlugin("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!

+0

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

+0

Auch die gitter oder irc sind unendlich besser Antworten zu bekommen – pfn

Antwort

0

Sie würden laufen

androminion/android:package