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

相关推荐
丐中丐9992 小时前
一个Binder通信中的多线程同步问题
android
诸神黄昏EX2 小时前
Android Qualcomm USB 专题系列【篇二:UsbGadget模式配置】
android
vocal2 小时前
【我的AOSP第一课】Android Init 语言与 rc 文件
android
诸神黄昏EX2 小时前
Android Qualcomm USB 专题系列【总篇:USB HAL架构】
android·linux·网络
原神启动13 小时前
Ansible(三)—— 使用Ansible自动化部署LNMP环境
android·自动化·ansible
前端老白3 小时前
webview在微信小程序中,安卓加载失败,IOS正常加载
android·ios·微信小程序·webview
2501_937154933 小时前
适配中兴主流机型 纯净版刷机固件技术优势合集
android·源码·源代码管理·机顶盒
2501_915106323 小时前
用 HBuilder 上架 iOS 应用时如何管理Bundle ID、证书与描述文件
android·ios·小程序·https·uni-app·iphone·webview
TheNextByte13 小时前
如何通过OTG或不使用OTG将文件从Android传到U盘
android