Android 项目的核心配置文件
配置文件关系图
|—— settings.gragle # 模块管理
|—— build.gradle # 项目级构建配置
|—— gradle.properties # Gradle 全局属性
|—— local.properties. # 本地 SDK 路径
|—— app/ # 主应用模块|—— build.gradle # 模块级构建配置|—— src/main|—— AndroidManifest.xml # 应用清单|—— res/ # 资源文件|—— value/ # 字符串、颜色等|—— layout/ # 布局文件|—— drawable # 图片资源|—— proguard-rules.pro # 混淆规则
1 setting.gradle 模块管理
路径:项目根目录/build.gradle
作用:
- 插件管理;
- 依赖解析管理;
- 应用名称;
- 定义项目中包含的模块;
// 插件管理 统一配置项目中所有 Gradle 插件的下载来源和解析规则
pluginManagement {// 插件仓库配置repositories {maven { url 'https://jitpack.io' } // 自定义仓库google() // Google 的 Maven 仓库(含 Android 插件)mavenCentral() // Maven 中央仓库gradlePluginPortal() // Gradle 官方插件门户}
}// 依赖解析管理:统一管理项目中所有依赖库下载来源和解析规则
dependencyResolutionManagement {// 如果模块声明私有仓库,则构建失败(强制集中管理,提高安全性)repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories {maven { url 'https://jitpack.io' }google()mavenCentral()}
}
rootProject.name = "ixuea" // 应用名称
include ':app' // 主模块
模块中如何使用:
// app/build.gradle
plugins {id 'com.android.application'
}dependencies {// 使用版本目录中的依赖implementation deps.deps.libs.androidx.core
}
2 build.gradle
build.gradle 文件分为两种级别:项目级和模块级。
2.1 项目级 build.gradle
路径:项目根目录/build.gradle
作用:配置整个项目的插件依赖、全局依赖版本管理
// 项目级配置
plugins {// apply false 表示声明插件但不立即应用到当前项目(即根项目),供子模块使用id 'com.android.application' version '7.4.2' apply falseid 'com.android.library' version '7.4.2' apply falseid 'org.jetbrains.kotlin.android' version '1.8.0' apply false
}// 全局依赖版本管理
ext {// SDK 版本配置sdk = [min: 24,target: 34,compile: 34]// 依赖版本管理versions = [kotlin: '1.9.20',retrofit: '2.9.0',room: '2.6.0']// 完整依赖声明libraries = [appcompat: "androidx.appcompat:appcompat:1.6.1",retrofit: "com.squareup.retrofit2:retrofit:${versions.retrofit}",room: "androidx.room:room-runtime:${versions.room}"]
}
2.2 模块级 build.gradle
路径:模块目录(如 app)/build.gradle
作用:配置特定模块的构建规则、依赖
plugins {// 应用插件 - 不需要指定版本(已在根项目声明)id 'com.android.application'id 'org.jetbrains.kotlin.android'
}android {namespace 'com.example.myapp'compileSdk rootProject.ext.sdk.compiledefaultConfig {applicationId "com.example.myapp"minSdk rootProject.ext.sdk.mintargetSdk rootProject.ext.sdk.targetversionCode 1versionName "1.0"}buildTypes {release {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}buildFeatures {viewBinding truecompose true}
}dependencies {implementation rootProject.ext.libraries.appcompatimplementation rootProject.ext.libraries.retrofit// 使用版本变量组合依赖implementation "androidx.room:room-runtime:${rootProject.ext.versions.room}"
}
3 gradle.properties
路径:模块目录(如 app)/gradle.properties
作用:用于定义项目范围的属性和 Gradle 构建的环境设置
# 配置 JVM 内存
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8# 强制使用 AndroidX 库
android.useAndroidX=true# Kotlin 代码规范
kotlin.code.style=official# Android 构建优化
android.nonTransitiveRClass=true# 自动迁移支持库到 AndroidX
android.enableJetifier=true
4 local.properties
路径:项目根目录/gradle.properties
作用:用于存储本地开发环境特有的设置
sdk.dir=/Users/[用户名]/Library/Android/sdk
5 proguard-rules.pro
路径:模块目录(如 app)/proguard-rules.pro
作用:代码优化和混淆