将 github 库添加为 Android-Studio 项目的依赖项

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21798694/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-20 05:05:44  来源:igfitidea点击:

Add github library as dependency to Android-Studio project

androidgithubdependenciesgradleandroid-studio

提问by f4b

I am trying to implement ActionBar-PullToRefresh from https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/QuickStart-ABC. I just made the switch from Eclipse to Android-Studio so I am totally new to AS and Gradle.

我正在尝试从https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/QuickStart-ABC实施 ActionBar-PullToRefresh 。我刚刚从 Eclipse 切换到 Android-Studio,所以我对 AS 和 Gradle 完全陌生。

chrisbanes writes on the site:

克里斯班斯在网站上写道:

The easiest way to add ActionBar-PullToRefresh to your project is via Gradle, you just need to add the following dependency to your build.gradle:

将 ActionBar-PullToRefresh 添加到您的项目的最简单方法是通过 Gradle,您只需要将以下依赖项添加到您的 build.gradle 中:

dependencies {  
    mavenCentral()
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
}

Does this mean that I don't have to download the library and Gradle takes care of it so that I always have the latest version? I just don't know where to put the above line. I have two gradle.build files one in my root that looks like:

这是否意味着我不必下载库并且 Gradle 会处理它以便我始终拥有最新版本?我只是不知道把上面的行放在哪里。我的根目录中有两个 gradle.build 文件,其中一个如下所示:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}

and the one in my project which looks like:

我的项目中的一个看起来像:

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

Do I have to add a repository somewhere?

我是否必须在某处添加存储库?

采纳答案by nhaarman

It will work when you put this line in your project build.gradle, in the dependenciessection:

当你把这个线在您的项目,将工作build.gradle,在dependencies部分:

compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'

Also, add:

另外,添加:

repositories {
    mavenCentral()
}

So:

所以:

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
}

Gradle will download the needed resources automatically for you.

Gradle 会自动为你下载所需的资源。

回答by deviant

Use https://jitpack.io/

使用https://jitpack.io/

allprojects {
    repositories { 
        jcenter()
        maven { url "https://jitpack.io" }
    }
}
dependencies {
    compile 'com.github.User:Repo:Tag'
}