【问题标题】:Import Android volley to Android Studio将 Android volley 导入 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 库?

【问题讨论】:

标签: android android-studio android-library android-volley


【解决方案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

  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 上传更安全。

【讨论】:

  • 这就是解决我的问题的方法。但是,我通过将子模块移动到我创建的名为“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 似乎是一样的)

  1. 首先使用 git 获取最新的 volley。
  2. 在您当前的项目 (android studio) 中单击 [file] --> [New]--> [New Module]。
  3. 现在选择[导入Gradle项目],点击下一步
  4. 现在选择您将 Volley 下载到的目录。
  5. 现在 Android Studio 可能会指导您完成其余的工作,但会继续指导以验证一切是否正常
  6. 打开 settings.gradle(在根目录中查找)并添加(或验证是否包含):

    包括 ':app', ':volley'

  7. 现在转到项目中的 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 文件,然后单击“添加为库”。一切都完成了。

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 2013-06-04
                              • 1970-01-01
                              • 2014-02-24
                              • 2015-05-03
                              • 2014-03-05
                              • 1970-01-01
                              • 1970-01-01
                              • 2016-08-06
                              相关资源
                              最近更新 更多