"编译"声明进入build.Gradle?

时间:2016-06-24 20:51:59

标签: android gradle

我需要将android.support.v4.widget.NestedScrollView添加到我的项目中,这需要根据this question的V4支持库。 在答案中说。 。 。

  

您需要在依赖项中添加此行:

     

compile' com.android.support:support-v4:23.4.0'

...我假设引用了build.gradle文件。我有两个 - 顶级和模块一个。只有我的顶级关键字有一个依赖关键字,所以我把它放在那里。但是,当我这样做时,我得到了

错误:(8,0)未找到Gradle DSL方法:' compile()'

...在this question here以及this question中解决,其中表示我需要将其移动到我的模块的build.gradle。但是模块build.gradle有一个完全不同的结构,所以我不知道它在哪里。

我的顶级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:2.1.2'
        compile 'com.android.support:support-v4:23.4.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我的模块级别看起来像这样:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 16
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.assemblyguide.remote"
        minSdkVersion 16
        targetSdkVersion 16
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

我在哪里将 compile 语句(或者它进入的依赖项子句)放在模块build.gradle中以避免该错误,以及为什么这两个构建.gradle文件看起来如此完全不同?

奖金问题:我是Android Studio的新手,我不必为Eclipse了解这些内容。我应该计划使用多少Gradle专家来使用Android Studio,哪里可以获得基本了解Gradle而无需获得博士学位?

2 个答案:

答案 0 :(得分:0)

我建议您下载完整的Gradle分发版,该分发版附带“用户指南”PDF。从上到下阅读,跳过与您无关的章节。你可以避免提出很多问题。

Direct link to Gradle User Manual pdf

在您的情况下,您应该删除在“buildscript”块中添加的“compile”行。您可能需要使用以下内容替换“allprojects”块:

allprojects {
    repositories {
        jcenter()
    }    
    dependencies {
        compile 'com.android.support:support-v4:23.4.0'
    }
}

答案 1 :(得分:-1)

您应该在主项目模块的末尾声明依赖项。通常它是app模块。在那里找到build.gradle个文件,然后按照显示的here instructions说明进行操作 它应该看起来像this one