如何在Gradle项目中插入新的依赖项?

时间:2016-06-02 10:55:29

标签: java android gradle android-gradle build.gradle

我是 Gradle 的新手(过去我总是使用 Maven

我必须将这种依赖性添加到 Android 项目中:https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Quick-Setup

因此,阅读图书馆文档时,它只说使用 Gradle 我必须添加此依赖项:

https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Quick-Setup

我的问题是,在我的项目中,我有2个不同的 build.gradle 文件:

1) build.gradle 引用该项目:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2) build.gradle 指的是模块应用

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.example.android.pastafromrome"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
}

这两个文件有什么区别?在那里,我必须把以前的新依赖放在哪里?

3 个答案:

答案 0 :(得分:4)

app\build.gradle或提及模块应用特定于应用模块。与在Android Studio中一样,一个项目可以有多个模块。例如,您现在拥有的应用程序模块,您可以为项目添加watch模块,该模块将具有与您的智能手表相关的工作,如表盘等。

build.gradle是"顶级构建文件"您可以在其中添加所有模块通用的配置选项。

您应该将依赖项添加到所需的模块中。例如,现在您将UIL添加到与您的应用程序模块直接相关的项目中。因此,您应该在dependencies部分或功能中添加您的应用模块(老实说,我不知道这是什么,如果有人可以指导我,我会感激不尽)。所以你dependencies部分看起来应该是这样的

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
}

答案 1 :(得分:1)

每个项目都包含一个顶级Gradle构建文件。该文件名为build.gradle,可以在顶级目录中找到。 该文件通常包含所有模块的通用配置,常用功能..

所有模块都有一个特定的build.gradle文件。此文件包含有关此模块的所有信息(因为项目可以包含更多模块),作为配置,构建tyoes,用于签署apk的信息,依赖项

您要添加到应用程序或模块的任何新依赖项应该在build.gradle(模块应用程序)下,并添加依赖项只需编写github页面上给出的编译语句。

compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

所以,最终的代码应该是......

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

}

答案 2 :(得分:0)

您需要将依赖项放在依赖项部分的模块级 build.gradle文件中

compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'