首页 AI人工智能 新闻资讯 APP源码 Android SDK

Gradle Plugin 示例之Hello World

Gradle Hello World

一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和一个 settings.gradle 文件;每一个 module 会存在一个 build.gradle 文件。

本文只是简略的讲解一下默认生成的 .gradle 文件的内容,更多 Gradle Plugin 的知识,请看这里

{@projectName}/build.gradle


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

allprojects {
repositories {
    jcenter()
}
}



默认的 project 目录下的 build.gradle 文件内容如上。

在景德镇,默认的maven源可能无法访问,可以通过以下的方式设置其他的maven源。当然,你也可以设置依赖本地库。

maven {
url "http://xx.xxx.xxx/xxx"
}



开源中国的源地址为:

http://maven.oschina.net/content/groups/public/


开源中国的thirdparty源地址为:

http://maven.oschina.net/content/repositories/thirdparty/


你可以为 repositories 设置多个库。 Gradle 会根据依赖定义的顺序在各个库里寻找它们。在第一个库里找到就不会再在第二个库里进行寻找。

{@projectName}/settings.gradle


include ':app'


默认的 project 目录下的 settings.gradle 文件内容如上。可有可能默认情况下, project 目录下的 settings.gradle 文件不存在,你可以自己创建。

如果你的一个 module 并不是 project 根目录下,你可以这么设置。

include ':app2'
project(':app2').projectDir = new File('path/to/app2')



{@projectName}/gradle{@projectName}/gradlew{@projectName}/gradlew.bat

这3个文件及文件夹我们不需要进行处理。

有一处比较特别的就是:

{@projectName}/gradle/wrapper/gradle-wrapper.properties 这个配置文件中配置了 Gradle 构建当前项目时使用的 Gradle 版本。我们需要注意的就是 Android Studio 、Gradle 、 Gradle Plugin 这3个的版本需要对应起来,具体的对应关系请点此

我们可以使用 {@projectName}/gradlew.bat 在命令行中进行 Gradle 任务。但是,建议使用 Android Studio 的 Gradle 功能面板进行 Gradle 任务。

{@moduleName}/build.gradle


apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "cc.bb.aa.myapplication"
    minSdkVersion 10
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

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



默认的 module 目录下的 build.gradle 文件内容如上。