将 Android volley 导入 Android Studio

Posted

技术标签:

【中文标题】将 Android volley 导入 Android Studio【英文标题】:Import Android volley to Android Studio 【发布时间】:2013-12-02 07:10:45 【问题描述】:

我想用google的volley库

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

但我无法使用 volley 文件创建 .jar 库:

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

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

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 Best way to incorporate Volley (or other library) into Android Studio project的可能重复 导入凌空教程:gitsubmoduleasandroidtudiomodule.blogspot.in 【参考方案1】:

Volley 现在是officially available on JCenter:

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

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

【讨论】:

@Shavik Gradle 在将其添加到 build.gradle 文件时未同步,我收到如下错误:无法解决:com.android.volley:volley:1.0.0 我遇到了类似@SundeepBadhotiya的问题,通过将提到的编译语句放入模块的build.gradle而不是项目的gradle文件来解决。 我应该使用com.android.volley:volley:1.0.0还是com.mcxiaoke.volley:library-aar:1.0.0 我试过了,但还是不同步,是不是我遗漏了什么? 最新版本是 1.1.0,在 android studio 3 中你应该使用: implementation 'com.android.volley:volley:1.1.0'【参考方案2】:

因此 Volley 已更新为 Android Studio 构建样式,这使得创建 jar 变得更加困难。但是 Eclipse 的推荐方法是将其用作库项目,这也适用于 android studio,但是在 android studio 中工作时,我们将其称为模块。所以这里有一个指南,告诉我们如何按照谷歌希望我们做的方式去做。指南基于this nice tutorial。

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

    在您当前的项目(android studio)中点击[File] --> [New] -->[Import Module]

    现在选择您将 Volley 下载到的目录。

    现在 Android Studio 可能会指导您完成其余的工作,但请继续指导以验证一切是否正常

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

    include ':app', ':volley'

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

    compile project(":volley")

这就是它的全部内容,比编译 jar 更简单、更容易,比依赖第三方 jar 或 maven 上传更安全。

【讨论】:

这就是解决我的问题的方法。但是,我通过将子模块移动到我创建的名为“3rd_party”的目录中来使其复杂化。我不得不将上面的语句更改为include ':app', ':3rd_party:volley'compile project(":3rd_party:volley")。 (起初用冒号来描述文件夹让我很吃惊,首先认为它可能只是表示相对路径) 第 2 步应该是 File>New>Import Module。 @The_Martian 谢谢,我已经更新它以反映 Android 工作室的更新。【参考方案3】:

更新 Warpzit 对 Android Studio 1.3.2 的回答(粗体中的差异) (更新:Android 2.0 似乎是一样的)

    首先使用 git 获取最新的 volley。 在您当前的项目 (android studio) 中单击 [file] --> [New]--> [New Module]。 现在选择[导入Gradle项目],点击下一步 现在选择您将 Volley 下载到的目录。 现在 Android Studio 可能会指导您完成其余的工作,但会继续指导以验证一切是否正常

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

    包括 ':app', ':volley'

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

    编译项目(":volley")

【讨论】:

这似乎将模块导入应用程序而不是根目录,这会搞砸一切。知道为什么会这样吗? 已弃用。这个答案不再有效。虽然它在技术上会“工作”,但你真的不应该在 2018+ 年这样做使用 compile 'com.android.volley:volley:.0.0'【参考方案4】:

伙计们太复杂了。只需将其包含在您的 gradle 依赖项中即可:

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

【讨论】:

值得指出的是,这不是官方存储库。因此,总是有可能包含恶意代码。应该不会发生吧?但最好知道它可以。 对于 gradle 的初学者,这里有一些详细信息:blog.chrisblunt.com/android-getting-started-with-volley 已弃用 请注意,此项目已弃用且不再维护,请使用 jCenter 的官方版本。编译'com.android.volley:volley:1.0.0'【参考方案5】:

这些答案大部分已经过时了。

Google 现在有一种简单的方法来导入它。我们将继续看到很多过时的信息,因为他们已经有 2-3 年没有创建这个解决方案了。

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

您需要做的就是在您的 Build.Gradle 中添加以下内容:

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

IE

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'

【讨论】:

【参考方案6】:

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

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

【讨论】:

【参考方案7】:

compile 'com.android.volley:volley:1.0.0'放入依赖项下的build.gradle(Module)文件后,它不会立即生效,您必须先重新启动Android Studio!

【讨论】:

我遇到了这个问题,重新启动对我有用。但是,必须有更好的方法! 所有你需要做的就是刷新你的依赖。重新启动可能会为您启动。屏幕顶部会出现一个横幅,要求您刷新。很难错过。下次按那个就好了。 难以置信,重启 android studio 解决了我们下午试图解决这个问题的问题:(【参考方案8】:

在你的 gradle.build(Module:app) 文件中添加这个依赖

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

然后同步你的 gradle 文件。

【讨论】:

【参考方案9】:

在您的应用程序(应用程序,而不是项目)的“build.gradle”中,添加以下内容:

dependencies 
    ...
    implementation 'com.android.volley:volley:1.1.0'

【讨论】:

【参考方案10】:

将此添加到您的应用程序的“build.gradle”中。

实现'com.android.volley:volley:1.1.1'

【讨论】:

【参考方案11】:

要将 volley 添加为子模块并从 GIT 存储库获取定期更新,可以执行以下步骤。主要优点是 Volley 可以自定义,并且可以在需要更新时从 GIT 存储库中提取源代码。

它也有助于调试目的。

按照以下步骤:

第一步:

在 Android 应用项目 GIT Repo 中添加 volley 作为子模块。 git submodule add -b master https://android.googlesource.com/platform/frameworks/volley Libraries/Volley

第二步:

在 settings.gradle 中,添加以下内容以将 volley 添加为工作室项目模块。 包括“:凌空” project(':Volley').projectDir=new File('../Libraries/Volley')

第三步:

在 app/build.gradle 中,添加下面一行来编译 Volley 编译项目(':Volley')

就这些了! Volley 已成功添加到项目中。

每次想从谷歌官方获取最新代码 Volley 的 repo,只需运行以下命令

git submodule foreach git pull

更多详细信息:https://gitsubmoduleasandroidtudiomodule.blogspot.in/

GIT Repo 示例代码:https://github.com/arpitratan/AndroidGitSubmoduleAsModule

【讨论】:

【参考方案12】:

“编译项目(':volley')”行给了我这个错误:

错误:任务 ':volley:processDebugResources' 执行失败。 > com.android.ide.common.process.ProcessException:执行失败 适配

这是因为模块 volley 的 compileSdk 和 buildTools 版本当前在“22”和“22.0.1”上,而我的项目正在使用较新的版本(“24”和“24.0.1”)。

解决方案:

打开你的 build.gradle (Module:volley) 文件并更改“compileSdk”和“buildTools”的版本,例如我更改了这个:

android 
    compileSdkVersion 22
    buildToolsVersion = '22.0.1'

为此:

android 
    compileSdkVersion 24
    buildToolsVersion = '24.0.1'

你应该不再有这个错误,我希望它有帮助:)

【讨论】:

【参考方案13】:

或者你可以简单地做

ant jar

在您克隆的 volley git 项目中。您现在应该在 volley 项目 bin 文件夹中看到 volley.jar。将此复制到 Android Studio 的 app\libs 文件夹。然后在模块级别build.gradle文件的dependencies部分下添加以下内容 -

compile files('libs/volley.jar')

而且你应该很好地在你的项目中导入和使用库类,

【讨论】:

【参考方案14】:

它也可用于存储库mavenCentral() ...

dependencies 
    // https://mvnrepository.com/artifact/com.android.volley/volley
    api "com.android.volley:volley:1.1.0'

【讨论】:

【参考方案15】:

两件事

一:编译已过时,最好使用实现,

第二个:volley 1.0.0 已过期,同步项目将无法工作

或者,在 build.gradle 中添加实现 'com.android.volley:volley:1.1.1' 或实现 'com.android.volley:volley:1.1.+' 用于 1.1.0 和更新版本。

【讨论】:

【参考方案16】:

将此行添加到您的清单文件里面 android:usesCleartextTraffic="true"

【讨论】:

【参考方案17】:

Hanumanjetlibrary.

Hanumanjet 图书馆。 先决条件 将此添加到您的根 build.gradle 文件(而不是您的模块 build.gradle 文件)中:

所有项目 存储库 ... maven url "https://jitpack.io"

依赖 将此添加到模块的 build.gradle 文件中(确保版本与上面的 JitPack 标记匹配):

依赖 ... 实施 'com.github.Pawan245:Hanumanjetlibrary:6.1.0'

ApicallAny(凌空抽射) 将此 ApcallAny 放置在您的应用程序中的任何位置进行 Http 网络调用

#MainActivity.java

#withoutParams
 String url="http://rt.com/api/my.php";

ApicallAny.ApicallVolleywithoutParams(MainActivity.this,url, new ApicallAny.VolleyCallback() @覆盖 public void onSuccess(String result)

          //  do stuff here  

        

        @Override
        public void onError(String result) 
            //  do stuff here
        
    );




#withParams

映射参数 = 新 HashMap();

params.put("param1","val"); params.put("param2","valx");

String url="http://rt.com/api/my.php"; ApicallAny.ApicallVolleywithParams(MainActivity.this, url,params, new ApicallAny.VolleyCallback() @覆盖 public void onSuccess(String result)

          //  do stuff here

        

        @Override
        public void onError(String result) 
            //  do stuff here
        
    );

【讨论】:

【参考方案18】:

将 volly 添加到您的工作室 gradle 应用程序 编译'com.android.volley:volley:1.0.0'

【讨论】:

【参考方案19】:

第 1 步:- 下载 volley.jar 文件。

第 2 步:- 转到您的项目并将显示菜单从 Android 设置为 Project,然后转到

app -> libs-> paste your volley.jar 文件在这里

第 3 步:- 右键单击​​ volley.jar 文件,然后单击“添加为库”。一切都完成了。

【讨论】:

以上是关于将 Android volley 导入 Android Studio的主要内容,如果未能解决你的问题,请参考以下文章

android网络请求库volley方法详解

Android Volley框架的使用

android 网络请求Volley的简单使用

SpringBoot Java后端实现okhttp3超时设置

Android 开源框架 ( 六 ) Volley --- Google的轻量级网络通信框架

将 Android 和 iOS 库导入 Flutter 项目