2011-09-26 18 views
10

Ho appena seguito i passi a Build Scala Android apps using Scala e quando mi sono imbattuto sbt all'interno della cartella del progetto ho ottenuto il seguente errore di dipendenza irrisolta:Dipendenza non risolta su sbt-android-plugin 0.6.0-SNAPSHOT?

[info] Loading project definition from /Users/macarse/Documents/scalatest/project/plugins 
[info] Updating {file:/Users/macarse/Documents/scalatest/project/plugins/}default-dd299a... 
[warn] module not found: org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT 
[warn] ==== typesafe-ivy-releases: tried 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/ivys/ivy.xml 
[warn] -- artifact org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT!sbt-android-plugin_2.9.1.jar: 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/jars/sbt-android-plugin_2.9.1.jar 
[warn] ==== local: tried 
[warn] /Users/macarse/.ivy2/local/org.scala-tools.sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/ivys/ivy.xml 
[warn] -- artifact org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT!sbt-android-plugin_2.9.1.jar: 
[warn] /Users/macarse/.ivy2/local/org.scala-tools.sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/jars/sbt-android-plugin_2.9.1.jar 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/sbt-android-plugin_2.9.1-0.6.0-SNAPSHOT.pom 
[warn] -- artifact org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT!sbt-android-plugin_2.9.1.jar: 
[warn] http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/sbt-android-plugin_2.9.1-0.6.0-SNAPSHOT.jar 
[warn] ==== Scala-Tools Maven2 Repository: tried 
[warn] http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/sbt-android-plugin_2.9.1-0.6.0-SNAPSHOT.pom 
[warn] -- artifact org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT!sbt-android-plugin_2.9.1.jar: 
[warn] http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt-android-plugin_2.9.1/0.6.0-SNAPSHOT/sbt-android-plugin_2.9.1-0.6.0-SNAPSHOT.jar 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[error] {file:/Users/macarse/Documents/scalatest/project/plugins/}default-dd299a/*:update: sbt.ResolveException: unresolved dependency: org.scala-tools.sbt#sbt-android-plugin_2.9.1;0.6.0-SNAPSHOT: not found 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

Che cosa mi manca?

risposta

8

Per SBT 0.11.0:

  1. Seguire le istruzioni da @Debilski's answer di pubblicare Android-plugin per locale.
  2. rm -rvf project/plugins/
  3. Creare un file project/plugins.sbt, il contenuto di questo file è addSbtPlugin("org.scala-tools.sbt" % "sbt-android-plugin" % "0.6.0-SNAPSHOT")
  4. Ora si dovrebbe essere in grado di eseguire sbt sotto quel progetto
  5. android:package-debug per compilare/pacchetto del programma di ciao mondo g8 creato.
  6. android:install-device per installare l'APK sul dispositivo Android.
+0

Cool, ha funzionato. Puoi spiegare cosa è successo? – Macarse

+0

@Macarse In realtà non so cosa sia successo esattamente, non ho abbastanza familiarità con SBT 0.1x. Ho appena trovato nel messaggio di errore che il progetto cerca android-plugin.jar in una posizione diversa da quella pubblica di pubblicazione nel passaggio 1. Quindi cerco sul documento ufficiale SBT un altro modo per includere un plug-in nel progetto, e trovato questo funziona. Questo è tutto, solo tracce ed errori e non ho idea del perché. –

+0

Grazie per la risposta. – Macarse

3

sbt-android-plugin non è stato reso pubblico nella versione 0.6.0-SNAPSHOT. Una soluzione rapida sarebbe installarlo localmente.

git clone https://github.com/jberkel/android-plugin.git 
cd android-plugin 
sbt update 
sbt publish-local 

Naturalmente, questo funziona solo fino a quando i punti ramo master del repository GitHub alla versione 0.6.0-SNAPSHOT. (Se non lo fa più, allora posso sospettare che 0.6.0 è stato pubblicato.)

+0

L'ho fatto ma sto ancora ricevendo lo stesso problema. All'interno di android-plugin scrivo 'version' e ottengo' [info] 0.6.0-SNAPSHOT'. – Macarse

+0

Non ha funzionato neanche per me. Dopo aver seguito correttamente i passaggi suggeriti, sbt android: package-debug restituisce ancora [errore] {file:/C:/Workspaces/my-android-project/project/plugins /} default-949520/*: update: sbt.ResolveException: non risolto dipendenza: org.scala-tools.sbt # sbt-android-plugin_2.9.1; 0.6.0-SNAPSHOT: non trovato –

+3

il modo in cui i plugin vengono aggiunti è cambiato in SBT 0.11. per ora usa 'g8 jberkel/android-app -b sbt-0_11' per inizializzare il tuo progetto. –

Problemi correlati