Android基础——工程目录结构篇

这篇文章默认读者已经了解Android Studio编辑器下android工程如何创建。
如果有错误或不准确的地方,欢迎指正。
注意:如果一点基础没有,以下目录有看不懂的不要紧,未来用到的时候会有详细的介绍。

Android工程目录.png

一、.gradle:gradle系统编译文件夹。

android studio使用gradle构建脚本,使用Groovy语言。可以理解为为了方便构建项目的工具。而.gradle文件夹中就是这个工具的编译文件。

二、.idea:编辑器编译文件夹。

android studio是基于idea开发的编辑工具。.idea文件夹可以理解为工作空间的配置文件夹。

三、app:模块文件夹。

android studio是以项目为工作空间的编辑器。一个项目拥有一个窗体(即工作空间),而一个项目可以有多个模块构建。
这个文件夹就是我们开发一款应用程序最重要的文件夹了。所有的代码、资源(包括图片、视频、字体、第三方资源等)文件。

(一)、build:代码、资源等文件的编译文件夹

(二)、libs:放置第三方依赖库的文件夹。

一般用来放置.jar、.aar文件(*.so文件不推荐放在这里)

(三)、src:模块的代码、资源文件夹

1、androidTest:android应用程序测试用文件夹。

说实话我没用过,据说可以监控和记录应用程序的运行状态和结果。

2、main:资源和代码文件夹

(1)、java:代码的文件路径

一般代码都放在java下的包名下,例如:
MainActivity.java放在java/com/example/myapplication/MainActivity.java

(2)、res:资源的文件路径

①、drawable:绘制资源文件

一般用于放置一些xml绘制文件,也可以放一下图片资源
可能还有drawable-v24、drawable-hdpi、drawable-mdpi等,都是为了适配在不同分辨率的屏幕用的。

②、layout:放置布局文件

我们使用的app所看到的页面长什么样,几乎都是在这个文件夹下的xml所绘制的。

③、mipmap:放置应用程序logo的文件夹

在手机桌面上我们所看到的图标存放在这个文件夹下,同drawable文件夹,也有不同的分辨率的文件夹来适配不同分辨率的手机。
而我一般把应用程序所用到的图片也放在这里,但是google官方不推荐把logo以外的图标放这里,更希望把图片放在drawable里。

④、values:公共资源文件夹

这个文件夹里一般有颜色资源、文字资源、样式资源等文件夹,其他地方使用这些资源可以从这里调用,方便统一管理。

(3)、AndroidManifest.xml:应用程序配置文件

用来配置权限、程序入口、应用程序主题、应用程序组件等。

(四)、test:单元测试文件夹

这个我也没用过,可以在开发时测试代码的运行结果,和androidTest的区别是androidTest是运行时测试用test是开发时测试用,androidTest一个依赖于android设备,test脱离android设备。
一般布局文件、样式文件、图片文件等都在这里。

(五)、.gitignore:该模块的git版本控制文件

(六)、build.gradle(app):该模块的gradle配置文件。

这个配置文件就很重要了,打包、导入第三方、应用支持的android版本、包名等等等...都需要在这里进行配置。

(七).proguard-rules.pro:模块的混淆配置文件

一般来说一个项目打包上线后为了防止应用程序被破解,都会混淆代码,这样可以使破解后代码的可读性大大降低。注意:混淆不能阻止反编译,但可以让反编译的代码更加难以读懂。

四、gradle:gradle系统支持文件夹。

为了支持gradle系统,gradle文件夹里包含了提供构建支持的gradle-wrapper.jar文件和配置文件gradle-wrapper.properties

五、.gitignore:git版本控制管理文件

用户管理git代码忽略文件等。

六、gradle.properties(project):工程的构建的配置文件

常用户声明远程仓库的地址。

七、gradlew和gradlew.bat:自动编译的执行脚本。

gradew是Linux系统中用的,gradlew.bat是Windows系统中用的。

八、gradle.properties:gradle构建环境的配置文件

关于构建环境的配置以后再说。

九、settings.gradle:工程的模块配置文件

之前说了,一个项目可以有多个模块,这里就是配置这些模块的地方。可以理解为该项目有配置下这些模块构成。

以上就是一个android工程的大概目录结构,基本上都介绍了,不过不全,剩下的将在以后使用到的时候再着重介绍

你可能感兴趣的:(Android基础——工程目录结构篇)