build.gradle 的结构

Structure of build.gradle

在下面的简单 build.gradle 文件中,我有一些基本问题。

1.In 存储库,当我指定 mavenCentral() 时,它是搜索我指定的所有库的存储库,如 compile 'com.android.support:support-v4:21.0.2' 吗?除了 mavenCentral() 之外还有别的吗?在那之后(oss.sonatype..)需要什么url?

2.What是应该在classpath中指定的项目吗?为什么不能像指定支持库那样指定类路径项?

3.And 为了使用第三方库,我必须在 allProjects() 部分的底部指定一个 Amazon AWS URL。为什么需要 URL?

 buildscript {
        repositories {
            mavenCentral()

        maven {
            url "https://oss.sonatype.org/content/repositories/snapshots/"
        }


    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
        classpath 'com.jimdo.gradle:gradle-apt-plugin:0.2-SNAPSHOT'

    }
}

allprojects {
    repositories {
        mavenCentral()
        maven {
            url "https://s3-ap-southeast-1.amazonaws.com/abc-release/abc/"
        }
    }
}

1.In repositories, when i specify mavenCentral(), is it the repository where all the libraries that i specify like compile 'com.android.support:support-v4:21.0.2'will be searched?

是的,但前提是它不在 buildscript 块中。 buildscript 中的所有内容都由构建系统使用 – gradle 可能还有一些库。

allprojects.repositories 是您声明存储库的地方,您的应用程序使用的库将在其中被搜索。

1.In repositories, when i specify mavenCentral(), is it the repository where all the libraries

不,您还有一个隐式本地 Maven 存储库(通常在 ~/.m2),也可以搜索本地安装的包。较新的 Android Studio 构建使用 jcentral 而不是 Maven 中心,但概念是相同的:包的中央存储库。

2.What are the items that should be specified in classpath? Why cant the classpath items be specified like we specify the support libraries?

这些是构建工具(即 gradle)依赖项。您的应用程序的依赖项在应用程序模块的特定 build.gradle 文件中列出。

3.And for using a third party library, i had to specify an Amazon AWS URL at the bottom in allProjects() section. Why is this URL required?

因为他们的库不在Maven central。因此,您实际上是将 Maven 指向您希望用于您的应用程序及其任何库的外部存储库。