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

相关推荐
峥嵘life7 小时前
Android蓝牙停用绝对音量原理
android
czlczl200209259 小时前
IN和BETWEEN在索引效能的区别
android·adb
Volunteer Technology9 小时前
ES高级搜索功能
android·大数据·elasticsearch
北京自在科技9 小时前
Find Hub App 小更新
android·ios·安卓·findmy·airtag
lbb 小魔仙9 小时前
2026远程办公软件夏季深度横测:ToDesk、向日葵、网易UU远程全面对比,远控白皮书
android·服务器·网络协议·tcp/ip·postgresql
coding_fei10 小时前
AudioServer初始化过程
android
brucelee18610 小时前
Docker 运行 Android 模拟器
android·docker·容器
私人珍藏库10 小时前
[Android] 小柚市场app v2.3.0.8安卓版TV版
android
HackTorjan10 小时前
MySQL高可用架构设计与最佳实践
android·人工智能·mysql·adb·自动化
Gary Studio10 小时前
自定义 Android 系统服务与 HAL 交互全流程指南
android·交互