将Android Volley导入Android Studio

91

我想使用Google的Volley库。

我正在使用Android Studio,知道如何添加.jar库。

但我无法创建一个包含volley文件的.jar库:

https://android.googlesource.com/platform/frameworks/volley

这是我所做的:(使用Windows Seven)

git clone https://android.googlesource.com/platform/frameworks/volley
cd volley
android.bat update project -p . --target android-19
ant.jar jar

我得到了以下输出:

发生了Java异常。

出了什么问题?我该如何添加一个非 .jar 库?


如果你想将Volley作为依赖模块而不是JAR文件使用,可以参考此链接:link - cmoaciopm
导入Volley教程:https://gitsubmoduleasandroidtudiomodule.blogspot.in/ - Arpit Ratan
18个回答

186

Volley现在已经正式在JCenter上发布

将此行添加到您的Android项目的应用程序模块gradle依赖项中:

implementation 'com.android.volley:volley:1.1.1'


2
@Shavik 在将以下内容添加到 build.gradle 文件时,Gradle 无法同步,我收到了如下错误信息:Failed to resolve: com.android.volley:volley:1.0.0 - Sundeep Badhotiya
4
我之前也遇到了与 @SundeepBadhotiya 类似的问题,将所提及的编译语句放入 Module 的 build.gradle 中解决了该问题,而不是放在 Project 的 gradle 文件中。 - DBX12
我应该使用 com.android.volley:volley:1.0.0 还是 com.mcxiaoke.volley:library-aar:1.0.0 - pb772
1
我已经尝试过这个,但它仍然无法同步,我是否遗漏了什么? - Clive Makamara
1
最新版本为1.1.0,在Android Studio 3中,您应该使用: implementation 'com.android.volley:volley:1.1.0'。 - Meisam

53

所以 Volley 已被更新为 Android Studio 的构建样式,这使得创建 Jar 文件更加困难。但对于 Eclipse,推荐的方法是将其用作库项目,这也适用于 Android Studio,但在 Android Studio 中工作时,我们称之为模块。因此,这里是如何按照 Google 希望我们使用的方式进行操作的指南。本指南基于这个不错的教程

  1. 首先使用 git 获取最新的 Volley(git clone https://android.googlesource.com/platform/frameworks/volley)。

  2. 在您当前的项目(Android Studio)中单击 [File] --> [New] -->[Import Module]

  3. 现在选择您下载 Volley 的目录。

  4. 现在 Android Studio 可能会引导您完成剩余的步骤,但请继续阅读指南以验证一切是否正确运行。

  5. 打开 settings.gradle(在根目录中查找),并添加(或验证是否已包括):

    include ':app', ':volley'

  6. 现在转到您项目中的 build.gradle,并添加依赖项:

    compile project(":volley")

就是这样,比编译 Jar 文件简单得多,也比依赖于第三方 Jar 文件或 Maven 上传更加安全。


1
这就是解决我的问题的方法。但是我把子模块移动到了一个名为“3rd_party”的目录中,从而使它变得更加复杂。我不得不更改上面的语句以包括 include ':app', ':3rd_party:volley'compile project(":3rd_party:volley")。(一开始使用冒号来划分文件夹让我有些困惑,一开始认为它可能只是表示相对路径) - ahall

19

更新Warpzit的答案,适用于Android Studio 1.3.2(差异加粗)
(更新:似乎适用于Android 2.0)

  1. 首先使用git获取最新的volley。
  2. 在当前项目(Android Studio)中点击 [文件]--> [新建]--> [新建模块]
  3. 现在选择 [导入 Gradle 项目],点击下一步
  4. 现在选择您下载Volley的目录。
  5. 现在Android Studio可能会指导您完成其余步骤,但继续指导以验证所有内容是否正确工作。
  6. 打开settings.gradle(在根目录中找到),添加(或验证已包括):

    include ':app',':volley'

  7. 现在进入您项目中的build.gradle并添加依赖项:

    compile project(“:volley”)


这似乎将模块导入应用程序而不是根目录,这会搞砸一切。 有任何想法原因是什么? - Cruncher
已弃用。此答案不再有效。虽然从技术上讲它“可以工作”,但在2018年及以后,您真的不应该这样做。请使用compile 'com.android.volley:volley:<当前版本号>.0.0'。 - StarWind0

18

太过复杂了,大家只需将其包含在您的Gradle依赖项中:

dependencies {
    ...
    compile 'com.mcxiaoke.volley:library:1.0.17'
}

17
值得指出的是,这不是一个官方的代码库。因此,存在恶意代码可能被包含在其中的可能性。虽然可能性不大,但最好还是意识到这种情况的可能性。 - Craig Russell
对于初学者来说,这里有一些关于Gradle的更多细节:https://blog.chrisblunt.com/android-getting-started-with-volley/ - BurninLeo
5
请注意,此项目已被弃用且不再维护,请使用来自jCenter的官方版本。编译命令:'com.android.volley:volley:1.0.0' - StarWind0

10

这些答案大多已过时。

现在 Google 已经有了一个轻松的导入方式。由于他们并没有为此解决方案创造好 2-3 年,我们将继续看到很多过时的信息。

https://bintray.com/android/android-utils/com.android.volley.volley/view

你只需要在 Build.Gradle 中添加以下内容:

compile 'com.android.volley:volley:1.0.0'

例如:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "com.example.foobar.ebay"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.volley:volley:1.0.0'
    testCompile 'junit:junit:4.12'
}

3

将以下行添加到build.gradle中的依赖项:

compile 'com.mcxiaoke.volley:library:1.0.+'

3
在您的build.gradle(Module)文件的dependencies下添加compile 'com.android.volley:volley:1.0.0'后,它不会立即生效,您需要先重启Android Studio!

我曾遇到过这个问题,重新启动后解决了。然而,肯定有更好的方法! - Nikhil Gupta
你需要做的就是刷新你的依赖项。重新启动可能已经为你启动了这个过程。屏幕顶部会出现一个横幅,要求你进行刷新。很难错过。下次只需按那个按钮即可。 - StarWind0
令人难以置信的是,重新启动Android Studio解决了我们下午试图修复这个问题的困境 :( - Luke

2
在你的gradle.build(Module:app)文件中添加以下依赖项。
compile 'com.android.volley:volley:1.0.0'

然后同步你的Gradle文件。


1
在你的应用程序的 "build.gradle" 文件中(注意是应用程序,而不是项目),添加以下内容:
dependencies {
    ...
    implementation 'com.android.volley:volley:1.1.0'
}

1
将以下内容添加到你的应用程序的 "build.gradle" 文件中:

implementation 'com.android.volley:volley:1.1.1'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接