Android 项目的核心配置文件

发布于:2025-06-05 ⋅ 阅读:(23) ⋅ 点赞:(0)

配置文件关系图

|—— 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 false
    id 'com.android.library' version '7.4.2' apply false
    id '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.compile
    
    defaultConfig {
      	applicationId "com.example.myapp"
        minSdk rootProject.ext.sdk.min
        targetSdk rootProject.ext.sdk.target
      	versionCode 1
        versionName "1.0"
    }
  
  	buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    buildFeatures {
        viewBinding true
        compose true
    }
}

dependencies {
    implementation rootProject.ext.libraries.appcompat
    implementation 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

作用:代码优化和混淆


网站公告

今日签到

点亮在社区的每一天
去签到