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 是"构建"。

相关推荐
石山岭12 小时前
自己动手写了一个 Android 虚拟定位 App:GPSSimulate 技术实
android·前端
杉氧14 小时前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
Kapaseker18 小时前
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了
android·kotlin
三少爷的鞋20 小时前
Android 现代架构不需要事件总线进阶篇
android
杉氧1 天前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
召钱熏1 天前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
杉氧1 天前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
通玄1 天前
Jetpack Compose 入门系列(七):ViewModel 与界面状态管理
android
落魄Android在线炒饭1 天前
Android Framework 开发技巧:android.jar 生成与系统快速编译验证
android
如此风景2 天前
Kotlin Flow操作符学习
android·kotlin