Dodaj bibliotekę github jako zależność do projektu Android-Studio

Próbuję zaimplementować ActionBar-PullToRefresh z https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/QuickStart-ABC . właśnie przełączyłem się z Eclipse na Android-Studio, więc jestem zupełnie nowy w AS i Gradle.

Chrisbanes pisze na stronie:

Najprostszym sposobem dodania ActionBar-PullToRefresh do projektu jest Gradle, wystarczy dodać następującą zależność do swojego buduj."gradle": {]}

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

Czy to znaczy, że ja nie musisz pobierać biblioteki, a Gradle dba o nią tak, że zawsze mam najnowszą wersję? Po prostu nie wiem, gdzie umieścić powyższą linię. Mam dwa gradle.zbuduj jeden plik w moim korzeniu, który wygląda następująco:

// 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.+'
    }
}

I ten w moim projekcie, który wygląda tak:

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')
    }
}

Czy muszę gdzieś dodać repozytorium?

Author: f4b, 2014-02-15

2 answers

Będzie działać, gdy umieścisz tę linię w swoim projekcie build.gradle, w sekcji dependencies:

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

Dodaj też:

repositories {
    mavenCentral()
}

Więc:

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 automatycznie pobierze potrzebne zasoby.

 45
Author: nhaarman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-15 14:45:50

Użyj https://jitpack.io/

allprojects {
    repositories { 
        jcenter()
        maven { url "https://jitpack.io" }
    }
}
dependencies {
    compile 'com.github.User:Repo:Tag'
}
 23
Author: deviant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-25 05:43:01