Java 如何将Android SupportV7库加载到SBT Android项目中?

Java 如何将Android SupportV7库加载到SBT Android项目中?,java,android,intellij-idea,sbt,aar,Java,Android,Intellij Idea,Sbt,Aar,我已经创建了一个SBT项目,并使用添加了一个Android模板,我所要做的就是创建一个用于实现recyclerview的测试应用程序。aar()技术无法找到依赖项。我的build.sbt import sbt.Keys._ import android.Keys._ android.Plugin.androidBuild name := "firstsbt" version := "1.0" scalaVersion := "2.10.4" javacOptions ++= Seq("

我已经创建了一个SBT项目,并使用添加了一个Android模板,我所要做的就是创建一个用于实现recyclerview的测试应用程序。aar()技术无法找到依赖项。我的build.sbt

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()
我已经尝试将jar放入非托管项目libs中,它将编译和安装,但会崩溃

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)
当我取消对arr的注释时,我得到“无法找到依赖项” 请帮忙

当我加上

libraryDependencies += "com.android.support" % "appcompat-v7"  % "23.1.1"
这是我刚加载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.
别忘了在SDK管理器中安装android支持存储库


如果设置
解析程序:=()

我将maven添加到我的环境中,但仍然获得未解析的依赖项,则也无法解析依赖项。你能给我一份需求清单吗?应该在路径中的东西?我真的不知道为什么一个简单的解决方案被复杂的背景所阻止。再次感谢到目前为止的帮助。在android sdk中安装android存储库,仅此而已。我已经通过sdk下载了android支持存储库和库。我仍然有未解决的依赖关系。有没有办法通过build.sbt或直接向.ivy2手动将回购协议添加到public或local?或者如何手动更新.ivy/?因为即使我下载了repo和lib,它们也没有出现在.ivy/cache/com.google.android/Added的最新日志中。仅供参考,我正在尝试在surface pro 3上运行此功能。在我的macbook pro更新了支持库并且libYou从未添加过
androidBuild
libraryDependencies += "com.android.support" % "appcompat-v7"  % "23.1.1"