Gradle配置

在Android Studio上新建项目的组成结构

此图为在studio上新建项目后项目的组成结构。


本项目的组成部分包含app文件夹下moudle的build.gradle,project下的build.gradle和settings.gradle 和.gradle文件。

1. MyActivity下app的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.zaoren.myactivity"
        minSdkVersion 11
        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'])
    compile 'com.android.support:appcompat-v7:23.0.0'
}
  1. apply:plugin–声明是Android程序
  2. compileVersion–编译sdk的版本
  3. buildToolsVersion–build Tool版本,需要本地安装改版本
  4. default Configuration –报名,最低版本,目标版本
  5. buildTypes–minifyEnabled–是否允许混淆;proguard file–混淆文件的位置,proguardFiles这部分有两段,前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,免去了我们很多事,这个文件的目录在件的目录在 sdk目录>/tools/proguard/proguard-android.txt , 后一部分是我们项目里的自定义的混淆文件,目录就在 app/proguard-rules.txt , 如果你用Studio 1.0创建的新项目默认生成的文件名是 proguard-rules.pro
  6. dependencies–编译lib目录下的所有jar包
  7. 上图中未出现的,,Android 5.0 需要安装jdk 1.7
// java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

每一个Module都需要有一个gradle配置文件,语法都是一样,唯一不同的是开头声明的是 apply plugin: ‘com.android.library’–也就是库文件

apply plugin: 'com.android.library'
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

以上代码为wrapper文件夹下的gradle-wrapper.properties文件的内容:里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,一般不改变默认路径,此文件指明的gradle版本不对也是很多导入包不成功的原因之一。

2. MyActivity下的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.0.1'

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

allprojects {
    repositories {
        jcenter()
    }
}

内容主要包括两方面:

  1. 声明源仓库,可以看到jcenter(),可以理解成一个新的中央远程仓库,兼容maven中心仓库,性能更优。
  2. 声明Android gradle plugin的版本,Android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。

3. MyActivity下的settings.gradles

include ':app'

此文件为全局的配置文件,里面主要声明一些需要加入gradle的module

<think> 根据用户的问题和系统级指令,用户希望获取Gradle配置的相关信息。结合用户提供的站内引用,我需要整理关于Gradle配置的方法和相关信息。 回顾引用内容: - 引用[1]提到Gradle配置的优先级、初始配置、常用配置以及Gradle 7.0前后的差异,还有Android核心配置的源码分析。 - 引用[2]强调Gradle与Maven的依赖管理差异。 - 引用[3]说明Android Studio中手动安装Gradle的方法,特别是通过修改distributionUrl来指定项目使用的Gradle版本。 - 引用[4]详细描述了手动下载Gradle配置环境变量以及指定依赖存储路径的方法。 用户需求:获取Gradle配置方法和相关信息。 回答结构: 1. Gradle配置基础:介绍配置文件位置和优先级。 2. 常用配置项:包括仓库、依赖、插件等。 3. 版本配置:如何指定Gradle版本(wrapper vs 手动安装)。 4. 环境变量配置:全局设置。 5. 依赖存储路径:修改默认缓存位置。 6. 配置示例:提供代码片段。 注意事项: - 使用中文回答。 - 行内数学表达式用$...$(但本问题可能不涉及数学公式,可不使用)。 - 独立公式用$$...$$(本问题可能不需要)。 - 生成相关问题。 - 引用的末尾添加引用标识[^n]。 由于引用内容较多,需整合信息,避免直接复制。 </think> ### Gradle配置方法与相关信息 根据站内引用内容,以下是Gradle配置的核心方法和关键信息: #### 1. **配置优先级与基础概念** - Gradle配置优先级:项目配置 > 用户主目录配置 > 全局配置[^1]。 - Gradle 7.0+ 对配置语法进行了优化(如依赖声明方式变更),需注意版本兼容性[^1]。 #### 2. **版本配置方法** - **Wrapper方式(推荐)** 修改项目目录下的 `gradle-wrapper.properties` 文件: ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-bin.zip ``` 此配置决定项目使用的Gradle版本,不同项目可独立指定版本[^3]。 - **手动安装方式** 步骤: 1. 从[Gradle官网](https://services.gradle.org/distributions/)下载所需版本(如7.3.2)[^4] 2. 解压文件并配置全局环境变量: ``` GRADLE_HOME = D:\software\gradle-7.3.2 PATH = %GRADLE_HOME%\bin ``` 3. 验证安装:终端执行 `gradle -v` 显示版本信息即成功[^4] #### 3. **依赖存储路径配置** - 默认路径:`$USER_HOME/.gradle/caches/modules-2` - 自定义路径(避免C盘占用): ```properties # 在gradle.properties中指定 gradle.user.home = D:\software\gradle-repository ``` 此配置会覆盖默认依赖缓存位置[^4]。 #### 4. **核心配置项** - **仓库配置**:在 `build.gradle` 中声明仓库源 ```groovy repositories { mavenCentral() // Maven中央仓库 google() // Android专用仓库 } ``` - **依赖管理**:Gradle使用声明式依赖(优于Maven的XML配置)[^2] ```groovy dependencies { implementation 'com.android.tools.build:gradle:7.3.1' testImplementation 'junit:junit:4.13.2' } ``` #### 5. **Android项目特殊配置** - Android Studio通过 `settings.gradle` 加载插件: ```groovy pluginManagement { repositories { google() // 必须声明google仓库 } } ``` - 构建变体配置(如debug/release)在 `build.gradle` 的 `android{}` 块中定义[^1]。 > **注意**:若同时存在Wrapper配置和环境变量配置,**Wrapper优先级更高**(引用[4]中手动配置需删除`gradle-wrapper.properties`文件才生效)[^3][^4]。 --- ### 相关问题 1. Gradle 7.0+ 与旧版本的主要配置差异有哪些?[^1] 2. 如何解决Gradle依赖下载缓慢或失败的问题?[^2][^4] 3. 在多模块项目中如何统一管理Gradle依赖版本? 4. Gradle的增量编译机制如何提升构建效率?[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值