将Volley(或其他库)合并到Android Studio项目中的最佳方式

use*_*563 81 gradle android-studio android-volley

我已经看到了关于最佳方法的不同建议这个问题包括创建一个罐子.在其他地方,我已经看到过简单地将凌空源复制到您自己的项目中的建议.关于android.com上的库的这一部分似乎是最具权威性的.然而,在编译齐射之后,我没有一个aal库,而那个部分说我应该有.

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

希望,对于那些已经做过几次的人来说,这应该是面包和黄油的东西,但我找不到直截了当的描述.

-

根据Scott Barta的建议更新.

volley存储库中的gradle.build文件具有此行.

apply plugin: 'android-library'
Run Code Online (Sandbox Code Playgroud)

根据文档:" 图书馆项目不生成APK,他们生成一个.aar包(代表Android档案). "然而,当我建立一个排球项目时,没有创建.aar.

我的感觉是,由于Volley是一个由Android团队创建的图书馆项目,它很可能被生成并用作.aar包.关于是否更好地生成.aar,以及如何做到这一点的任何建议,将不胜感激.

sha*_*vik 138

正如其他人所指出的那样,Volley 在Github上正式上市:

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

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


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

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

在app旁边增加了一个子模块作为子模块.

git submodule add -b master https://github.com/google/volley.git volley
Run Code Online (Sandbox Code Playgroud)

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

include ':volley'
Run Code Online (Sandbox Code Playgroud)

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

compile project(':volley')
Run Code Online (Sandbox Code Playgroud)

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

每次我想将排球模块与Google的repo同步时,我都会运行它.

git submodule foreach git pull
Run Code Online (Sandbox Code Playgroud)

  • 为什么这不是首选解决方案?正如我所看到的,您将获得正式版本,简单更新以及项目与其依赖项之间的语义联系.有没有什么好的理由选择其他方法,还是只是其他方法是Android社区的标准程序? (7认同)
  • 十分感谢.我需要添加的是在settings.gradle:project(':volley')中的排球库的位置.projectDir = new文件('libraries/volley'),因为我将它放在一个库文件夹中 (3认同)
  • 我认为这是首选的解决方案,但谷歌没有正确记录.此外,除了上面提到的其他安全问题之外,从官方来源获取它会让您掌控更新库(尽快或尽可能快). (2认同)

pyu*_*s13 125

最近更新:

请使用jCenter的官方版本.

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

下面的依赖项指向不再维护的已弃用的齐射.

原始答案

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

  dependencies {
      compile 'com.mcxiaoke.volley:library-aar:1.0.0'
  }
Run Code Online (Sandbox Code Playgroud)

更新:

它不是官方的,而是官方Volley的镜像副本.它定期与官方Volley Repository同步和更新,因此您可以毫无顾虑地继续使用它.

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

  • 并没有试图让所有人都感到偏执,但是该存储库的维护者可能很容易陷入一些阴暗的东西......如果你不亲自审核存储库,请谨慎行事. (16认同)
  • 请参阅下面的答案,现在有谷歌正式发布的Volley目标(`com.android.volley:volley:1.0.0`) (8认同)
  • 输入以注意这不是Volley的官方回购.这只是有人上传到maven central的东西.(据我所知) (7认同)
  • 我知道那个男人,但是只有一面镜子没有区别,完全相同并与官方排球库1.0.1同步(更新于2014.02.13).这就是开源之美,所以不用担心你可以使用它.https://github.com/mcxiaoke/android-volley (2认同)

Lev*_*ite 26

如今

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}   
Run Code Online (Sandbox Code Playgroud)

当天有很多不同的方式(原始答案)

  • 使用git中的源文件(这里描述的相当手动/一般方式)

    1. 下载/安装git客户端(如果你还没有在你的系统上):http://git-scm.com/downloads (或通过git clone https://github.com/git/git... sry bad one,但无法抗拒^^)
    2. 执行 git clone https://android.googlesource.com/platform/frameworks/volley
    3. com文件夹从内部复制[path_where_you_typed_git_clone]/volley/src到您的项目app/src/main/java文件夹(相反,如果您已经有一个com文件夹,请将其集成!! ;-))

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

  • 通过"非官方"maven镜子使用gradle

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

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
      Run Code Online (Sandbox Code Playgroud)
    2. 点击Try Again哪个应该立即出现在文件的顶部,或者只是Build它,如果没有

    这里的主要"优势"是,这将使版本保持最新,而在另外两种情况下,您将不得不手动更新凌空.

    在"缺点",它不是正式来自谷歌,而是第三方每周镜像.

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

  • 谢谢你的回答.Volley.jar方法为我开箱即用! (2认同)

Sam*_*ern 11

截至今天,JCenter上有一个官方Android托管的Volley副本:

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

这是从AOSP凌空源代码编译而来的.


Sot*_*tti 5

更新:

compile 'com.android.volley:volley:1.0.0'
Run Code Online (Sandbox Code Playgroud)

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

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

    }
Run Code Online (Sandbox Code Playgroud)

这不是官方的回购,但是是一个非常值得信赖的回购.