2015-12-14 14 views
8

Ho creato un progetto SBT e ho aggiunto un modello Android utilizzando pfn/android-sdk-plugin e tutto ciò che sto cercando di fare è creare un'app di test per l'implementazione di recyclerview. La tecnica aar() non sta trovando le dipendenze. mia build.sbt ...Come caricare la libreria v7 di supporto Android in SBT Android Project?

import sbt.Keys._ 
import android.Keys._ 

android.Plugin.androidBuild 

name := "firstsbt" 

version := "1.0" 

scalaVersion := "2.10.4" 

javacOptions ++= Seq("-source", "1.7", "-target", "1.7") 

scalacOptions in Compile ++= Seq("-deprecation","-feature","-language:implicitConversions","-unchecked") 
unmanagedBase := baseDirectory.value/"libs" 

// proguard help 
proguardScala in Android := true 
useProguard in Android := true 

//set dependencies 
libraryDependencies ++= Seq(
    //aar("com.android.support" % "cardview-v7" % "21.0.3"), 
    //aar("com.android.support" % "appcompat-v7" % "23.1.1") 
    "com.android.support" % "appcompat-v7" % "23.1.1" 
    //"com.android.support" % "recyclerview-v7" % "23.1.1" 
    //"com.android.support" % "support-v4" % "r7" % "23.1.1" 
    //aar("com.android.support" % "recyclerview-v7" % "23.1.1") 
    //aar("com.github.chrisbanes.actionbarpulltorefresh" % "library" % "0.9.3") 
    //aar("net.simonvt.menudrawer" % "menudrawer" % "3.0.4"), 
    //"com.google.android" % "support-v4" % "r7", 
    //"io.spray" % "spray-json_2.10" % "1.2.6", 
    //"net.minidev" % "json-smart" % "1.2") 
) 
resolvers := Seq() 

ho cercato cadere i barattoli nelle librerie del progetto non gestito e si compilare e installare, ma andrà in crash.

12-13 18:02:40.760 7217-7217/mobile.bt.app D/AndroidRuntime﹕ Shutting down VM 
12-13 18:02:40.760 7217-7217/mobile.bt.app E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: mobile.bt.app, PID: 7217 
java.lang.RuntimeException: Unable to start activity ComponentInfo{mobile.bt.app/mobile.bt.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2661) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
     at android.app.ActivityThread.access$900(ActivityThread.java:172) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:145) 
     at android.app.ActivityThread.main(ActivityThread.java:5835) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference 
     at mobile.bt.app.MainActivity.onCreate(MainActivity.java:62) 
     at android.app.Activity.performCreate(Activity.java:6221) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2614) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
            at android.app.ActivityThread.access$900(ActivityThread.java:172) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:145) 
            at android.app.ActivityThread.main(ActivityThread.java:5835) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:372) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 

Quando non-commento ARR del ottengo "dipendenze non può essere trovato" prega di aiuto.

quando aggiungo

libraryDependencies += "com.android.support" % "appcompat-v7" % "23.1.1" 

Questo è il mio più recente registro dalla caricare solo il build.sbt

[info] Loading global plugins from C:\Users\brandon\.sbt\0.13\plugins 
[info] Loading project definition from C:\Users\brandon\IdeaProjects\firstsbt\project 
[info] Set current project to firstsbt (in build file:/C:/Users/brandon/IdeaProjects/firstsbt/) 
> [info] Defining *:shellPrompt 
[info] The new value will be used by no settings or tasks. 
[info] Reapplying settings... 
[info] Set current project to firstsbt (in build file:/C:/Users/brandon/IdeaProjects/firstsbt/) 
[info] Defining *:artifactPath 
[info] The new value will be used by no settings or tasks. 
[info] Reapplying settings... 
[info] Set current project to firstsbt (in build file:/C:/Users/brandon/IdeaProjects/firstsbt/) 
[info] Defining *:artifactClassifier 
[info] The new value will be used by compile:packageBin::artifact, compile:packageDoc::artifact and 3 others. 
[info] Run `last` for details. 
[info] Reapplying settings... 
[info] Set current project to firstsbt (in build file:/C:/Users/brandon/IdeaProjects/firstsbt/) 
[info] Applying State transformations org.jetbrains.sbt.ReadProject from C:/Users/brandon/.IntelliJIdea15/config/plugins/Scala/launcher/sbt-structure-0.13.jar 
[info] Reading structure from C:\Users\brandon\IdeaProjects\firstsbt 
[info] Updating {file:/C:/Users/brandon/IdeaProjects/firstsbt/}mobile-bt-app... 
[info] Resolving com.android.support#appcompat-v7;23.1.1 ... 
[info] Resolving com.android.support#appcompat-v7;23.1.1 ... 
[warn] module not found: com.android.support#appcompat-v7;23.1.1 
[warn] ==== local: tried 
[warn] C:\Users\brandon\.ivy2\local\com.android.support\appcompat-v7\23.1.1\ivys\ivy.xml 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.pom 
[info] Resolving org.scala-lang#scala-compiler;2.10.4 ... 
[info] Resolving org.scala-lang#scala-library;2.10.4 ... 
[info] Resolving org.scala-lang#scala-reflect;2.10.4 ... 
[info] Resolving org.scala-lang#jline;2.10.4 ... 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.android.support#appcompat-v7;23.1.1: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] 
[warn] Note: Unresolved dependencies path: 
[warn]  com.android.support:appcompat-v7:23.1.1 (C:\Users\brandon\IdeaProjects\firstsbt\build.sbt#L19-32) 
[warn]  +- firstsbt:firstsbt:1.0 
[trace] Stack trace suppressed: run 'last *:update' for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: com.android.support#appcompat-v7;23.1.1: not found 
sbt.ResolveException: unresolved dependency: com.android.support#appcompat-v7;23.1.1: not found 
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:291) 
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:188) 
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:165) 
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155) 
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155) 
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:132) 
    at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57) 
    at sbt.IvySbt$$anon$4.call(Ivy.scala:65) 
    at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93) 
    at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78) 
    at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97) 
    at xsbt.boot.Using$.withResource(Using.scala:10) 
    at xsbt.boot.Using$.apply(Using.scala:9) 
    at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58) 
    at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48) 
    at xsbt.boot.Locks$.apply0(Locks.scala:31) 
    at xsbt.boot.Locks$.apply(Locks.scala:28) 
    at sbt.IvySbt.withDefaultLogger(Ivy.scala:65) 
    at sbt.IvySbt.withIvy(Ivy.scala:127) 
    at sbt.IvySbt.withIvy(Ivy.scala:124) 
    at sbt.IvySbt$Module.withModule(Ivy.scala:155) 
    at sbt.IvyActions$.updateEither(IvyActions.scala:165) 
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1369) 
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1365) 
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1399) 
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1397) 
    at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37) 
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1402) 
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1396) 
    at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60) 
    at sbt.Classpaths$.cachedUpdate(Defaults.scala:1419) 
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1348) 
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1310) 
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) 
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40) 
    at sbt.std.Transform$$anon$4.work(System.scala:63) 
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) 
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) 
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) 
    at sbt.Execute.work(Execute.scala:235) 
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) 
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) 
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159) 
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
[error] sbt.ResolveException: unresolved dependency: com.android.support#appcompat-v7;23.1.1: not found 
[error] Use 'last' for the full log. 

risposta

3
libraryDependencies += "com.android.support" % "appcompat-v7" % "23.1.1" 

e non dimenticate di installare il repository supporto Android nel Responsabile SDK

Non è possibile risolvere le dipendenze anche impostando resolvers :=()

+0

Aggiungo Maven al mio ambiente e continuo a ricevere dipendenze non risolte. Puoi darmi una lista dei requisiti? Cose che dovrebbero essere in cammino? Non so davvero perché una soluzione semplice venga fermata da complicazioni in background. Grazie ancora per l'aiuto finora. – BZmart

+0

Installa il repository Android in sdk per Android, questo è tutto. – pfn

+0

Ho il repository di supporto Android e la libreria scaricata attraverso il sdk. Sto ancora diventando dipendente irrisolto. C'è un modo per aggiungere manualmente il repository a pubblico o locale tramite build.sbt o direttamente a .ivy2? O come posso aggiornare manualmente .ivy /? Causa anche se ho scaricato il repository e la lib non vengono visualizzati in .ivy/cache/com.google.android/ – BZmart

Problemi correlati