【问题标题】:Best way to incorporate Volley (or other library) into Android Studio project将 Volley(或其他库)合并到 Android Studio 项目中的最佳方式
【发布时间】:2014-01-30 16:12:21
【问题描述】:

我已经看到了关于最佳方法的不同建议This question 涵盖了创建一个 jar。在其他地方,我看到了将 volley 源简单地复制到您自己的项目中的建议。 This section android.com 上的库似乎是最权威的。但是,编译 volley 后,我没有 aal 库,而那部分说我应该有。

所以我的问题是:我有一个具有标准布局的现有 Android Studio 项目和一个 git 存储库;我应该怎么做才能增加截击?我应该把它下载到哪里?我应该如何将它添加到 Android Studio?我需要修改哪些 Gradle 文件(如果有)。

希望你们中的那些人已经这样做了几次,这应该是基本的东西,但我无法找到一个简单的描述。

--

更新,根据 Scott Barta 的建议。

volley 仓库中的 gradle.build 文件有这一行。

apply plugin: 'android-library'

根据the documentation:“库项目不会生成 APK,它们会生成 .aar 包(代表 Android 存档)。”但是,当我构建 volley 项目时,没有.aar 已创建。

我的感觉是,由于 Volley 是一个库项目,由 Android 团队创建,它很可能旨在生成并用作 .aar 包。任何关于是否最好生成 .aar 以及如何生成的建议都将不胜感激。

【问题讨论】:

标签: gradle android-studio android-volley


【解决方案1】:

正如其他人所指出的,Volley 是officially available on Github

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

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


要从源代码安装 volley,请阅读以下内容:

我喜欢在我的应用中保留官方 volley 存储库。这样我就可以从官方来源获取它,并且可以在不依赖任何其他人的情况下获取更新,并减轻其他人表达的担忧。

添加了 volley 作为应用旁边的子模块。

git submodule add -b master https://github.com/google/volley.git volley

在我的 settings.gradle 中,添加以下行以将 volley 添加为模块。

include ':volley'

在我的 app/build.gradle 中,我为 volley 项目添加了编译依赖项

compile project(':volley')

就是这样!现在可以在我的项目中使用 Volley。

每当我想将 volley 模块与 Google 的 repo 同步时,我都会运行它。

git submodule foreach git pull

【讨论】:

  • 为什么这不是首选解决方案?正如我所看到的,您获得了正式版本、简单的更新以及项目与其依赖项之间的语义联系。是否有充分的理由选择其他方法,或者只是其他方法是 Android 社​​区的标准程序?
  • 我认为这是首选的解决方案,但谷歌没有正确记录。此外,除了上面提到的其他安全问题之外,从官方来源获取它可以让您控制更新库(根据您的喜好尽快或延迟)。
  • 太好了,谢谢。我唯一需要添加的是 volley 库在 settings.gradle 中的位置: project(':volley').projectDir = new File('libraries/volley') 因为我将它放在了库文件夹中
  • 非常感谢!这应该是官方的回答
  • 不需要版本控制来完成包管理器的工作。
【解决方案2】:

最新更新:

请改用 jCenter 的官方版本。

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}

以下依赖项指向不再维护的已弃用 volley。

原始答案

您可以在 build.gradle 文件的依赖部分中使用它来使用 volley

  dependencies {
      compile 'com.mcxiaoke.volley:library-aar:1.0.0'
  }

更新:

它不是官方的,而是官方 Volley 的镜像副本。它会定期与官方 Volley 存储库同步和更新,因此您可以放心使用它。

https://github.com/mcxiaoke/android-volley

【讨论】:

  • 请注意,这不是 Volley 的官方 repo。那只是有人上传到 maven Central 的东西。 (AFAIK)
  • 是的,我知道那个人,但没有区别只是一面镜子,完全相同并与官方 volley repository1.0.1 同步(更新于 2014.02.13)。这就是开源的美妙之处,所以不用担心你可以使用它。 github.com/mcxiaoke/android-volley
  • 不要试图让所有人都偏执,但该存储库的维护者很容易陷入一些阴暗的东西......如果您不亲自审核存储库,请谨慎行事。
  • 请看下面我的回答,现在有一个谷歌官方发布的 Volley 目标 (com.android.volley:volley:1.0.0)
【解决方案3】:

现在

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}   

过去有很多不同的方法(原始答案)

  • 使用来自 git 的源文件(这里描述的相当手动/通用的方式)

    1. 下载/安装 git 客户端(如果您的系统上还没有它):http://git-scm.com/downloads (或通过git clone https://github.com/git/git ...对不起一个,但无法抗拒^^)
    2. 执行git clone https://android.googlesource.com/platform/frameworks/volley
    3. [path_where_you_typed_git_clone]/volley/src 中的com 文件夹复制到您的项目app/src/main/java 文件夹(如果您已经有一个com 文件夹,请整合它!!;-))

    文件会立即显示在 Android Studio 中。对于 Eclipse,您必须在 src 文件夹上 right-click 并先按 refresh(或 F5)。

  • 通过“非官方”的 maven 镜像使用 gradle

    1. 在您项目的 src/build.gradle 文件中添加以下 volley 依赖项:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. 点击Try Again,它会立即出现在文件的顶部,如果没有,则直接点击Build

    这里的主要“优势”是,这将使您的版本保持最新,而在其他两种情况下,您必须手动更新 volley。

    在“缺点”方面,它不是来自谷歌,而是来自第三方的每周镜像。

    但是这两点确实与您需要/想要的有关。 此外,如果您不想要更新,只需将所需的版本放在那里,例如compile 'com.mcxiaoke.volley:library:1.0.7'.

【讨论】:

  • 在 Android Studio 1.0.2 中,您不需要右键单击该 jar 来添加它。默认的 Gradle 规则会自动添加它。此外,如果您是 Studio 的新用户,您可能会对 jar 未显示在项目视图中感到惊讶。它被视图上方微调器中的“Android”设置过滤掉了。将其更改为“项目”以查看您实际上已经完成了一些事情。
  • 很高兴知道,谢谢!从答案中删除它!但作为beta用户的备注:如果您选择第一个选项(将其添加为库),您还需要在Android Studio的libs文件夹中volley.jarright-click,然后选择Add As Library...拥有它在您的项目中可用。
  • @Levit,关于第二个要点-“使用来自 git 的源文件(这里描述的相当手动/一般的方式)”我使用 android studio 我将库添加到我的项目中并编辑了settings.gradle 和依赖项。它工作正常,但我收到一条消息说检测到未注册的 Vcs root,在 git 下,但未在设置中注册,请您解释一下
  • @johncarter:使用第二个要点/方式,只需将其放在正确的文件夹中就可以了,无需编辑设置和依赖项。但是在 AndroidDevelopers 上也有关于这种方式的更多或(相当)不太全面的指南:developer.android.com/training/volley
  • 感谢您的出色回答。 Volley.jar 方法为我开箱即用!
【解决方案4】:

截至今天,JCenter 上提供了官方 Android 托管的 Volley 副本:

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

这是从 AOSP volley 源代码编译而来的。

【讨论】:

  • 感谢发帖!这应该被标记为正确答案。
【解决方案5】:

更新:

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

旧答案: 你的 app 模块的 build.gradle 中需要下一个:

dependencies {
        compile 'com.mcxiaoke.volley:library:1.0.19'
        (Rest of your dependencies)

    }

这不是官方的 repo,但却是一个非常值得信赖的 repo。

【讨论】:

  • 当心。此处托管的 volley 库已过时,并未正式托管。请参阅底部的我的帖子。
【解决方案6】:

为了在 android studio 中加入 volley,

  1. 将以下命令粘贴到终端 (
    git clone https://android.googlesource.com/platform/frameworks/volley ) 并运行它。

    请参阅 android developer 教程。

    它将在 src 目录中创建一个名为 volley 的文件夹。
  2. 然后进入android studio,右键项目。
  3. 从列表中选择新建 -> 模块。
  4. 然后从下面的列表中点击导入现有项目。
  5. 你会看到一个文本输入区即源目录,浏览你下载的文件夹(volley)然后点击finish。
  6. 您将在项目视图中看到一个文件夹 volley。
  7. 切换到 android 视图并打开 build:gradle(Module:app) 文件并在依赖区域添加以下行:

    编译'com.mcxiaoke.volley:library-aar:1.0.0'

  8. 现在同步您的项目并构建您的项目。

【讨论】:

    【解决方案7】:

    我已将 Volley 设置为单独的项目。这样它就不会与任何项目绑定并独立存在。

    我还有一个 Nexus 服务器(内部回购)设置,所以我可以访问 volley
    在我需要的任何项目中编译“com.mycompany.volley:volley:1.0.4”。

    每当我更新 Volley 项目时,我只需要更改其他项目中的版本号即可。

    我觉得这种方法很舒服。

    【讨论】:

      【解决方案8】:

      添加

      compile 'com.mcxiaoke.volley:library:1.0.19'
              compile project('volley')
      

      在依赖项中,在您应用的 build.gradle 文件下

      请勿打扰您的库的 build.gradle 文件。这是您的应用程序的 gradle 文件,只有您需要更改

      【讨论】:

        猜你喜欢
        • 2015-08-28
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 2021-05-10
        • 2016-02-05
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多