Android项目架构深度解析

如何创建一个项目

第一次构建需要蛮久时间的,可以耐心等待~

项目总体结构概览

manifests/ --- 清单文件(AndroidManifest.xml)

这是 Android 应用最核心的配置文件。

功能:

  • 声明 包名

  • 注册 四大组件(Activity、Service、BroadcastReceiver、ContentProvider)

  • 设置应用图标、名称、入口页面

  • 申请权限(如网络、定位、相机等)

  • 设置最小/目标 SDK 版本(可由 Gradle 控制)

简单来说,它是一个"配置清单",告诉 Android 系统:这个应用包含什么功能

kotlin/java/ --- 应用的核心逻辑代码

你的业务逻辑、事件响应、网络操作等都在这里完成。

bash 复制代码
com.example.myapplication/
├── MainActivity.kt    ← 启动页代码
├── api/               ← 网络接口
├── ui/                ← 界面逻辑
└── model/             ← 数据模型

这里是真正"写代码"的地方,比如你点击按钮、请求数据、播放音乐等都写在这。

res/ --- 资源文件目录(Resource)

这个文件夹下存放所有与 界面相关的资源

子目录 功能说明
layout/ 布局文件,UI 的结构定义,如 activity_main.xml
drawable/ 图片资源,如按钮背景、图标等
mipmap/ 应用启动图标(不同分辨率)
values/ 常量值,如颜色、字符串、样式等
xml/ 其他 XML 配置,如网络策略、安全配置

界面长什么样、用什么文字、什么颜色都在这控制。

build.gradle.kts(模块级)

app/ 下的 build.gradle.kts 是模块的构建脚本,配置了:

  • 使用的插件(如 com.android.application

  • 编译 SDK 版本

  • 应用 ID、版本号

  • 依赖的第三方库(如 Retrofit、Glide 等)

如果说代码是"造房子",这里就是"买材料"和"告诉工人怎么造"。


build.gradle.kts(项目级)

项目根目录下的 build.gradle.kts 用于配置整个项目的通用设置,如:

  • 所有模块用的仓库(如 MavenCentral、Google)

  • 版本统一管理入口(配合 libs.versions.toml


settings.gradle.kts

用于指定当前项目包含(编译)哪些模块(如 include(":app")表示只编译app模块),以及设置项目名称。


gradle.properties

配置一些全局的构建参数,比如是否启用 Kotlin 的某些功能,或者 Java 编译参数。


gradle-wrapper.properties

指定使用的 Gradle 版本,保证不同开发者之间构建环境一致。


local.properties

指定本地的 Android SDK 路径,不会上传到 Git,用于本地构建。


libs.versions.toml

这个是 版本控制中心(使用 Version Catalog 特性),可以统一管理所有依赖的版本号。


proguard-rules.pro --- ProGuard 混淆规则文件

这是 Android 应用发布时用于 代码混淆和压缩优化 的配置文件。

Manifest 是"声明",Kotlin/Java 是"实现",res/ 是"表现",Gradle 是"构建"。

相关推荐
alexhilton9 小时前
Jetpack Compose内部的不同节点类型
android·kotlin·android jetpack
Frank_HarmonyOS10 小时前
Android中四大组件之一的Activity的启动模式
android
似霰11 小时前
HIDL Hal 开发笔记7----简单 HIDL HAL 实现
android·framework·hal
用户20187928316714 小时前
📚 Android Settings系统:图书馆管理员的故事
android
青莲84314 小时前
Android 事件分发机制 - 事件流向详解
android·前端·面试
火柴就是我15 小时前
学习一些常用的混合模式之BlendMode. dst_atop
android·flutter
火柴就是我15 小时前
学习一些常用的混合模式之BlendMode. dstIn
android·flutter
ganshenml16 小时前
【Android】 开发四角版本全解析:AS、AGP、Gradle 与 JDK 的配套关系
android·java·开发语言
我命由我1234516 小时前
Kotlin 运算符 - == 运算符与 === 运算符
android·java·开发语言·java-ee·kotlin·android studio·android-studio
摘星编程17 小时前
【RAG+LLM实战指南】如何用检索增强生成破解AI幻觉难题?
android·人工智能