导读
最近想重新复习、整理下以前的笔记,也方便下刚学习Android的同学们或从eclipse转Android Studio的同志们,作以下文章提供学习0.0
Eclipse 项目结构:
Eclipse 项目结构图:

==注意:==
如果同学们发现有些目录没有,那是因为需要自己创建的 Eclipse 工程目录结构简析:
src:java源代码存放目录
gen:系统自动生成的文件目录
R.java 中记录了项目中各种资源ID
assets:资源文件目录,不会在R文件注册,文件会原封不动的保存到apk包中
libs 工程依赖库目录(jar包),会被添加到android depend 目录下
res:系统资源目录,所有文件都会在R文件生成资源ID
res/anim/ (自创建文件)
存放定义动画的xml文件drawable:存放应用程序的图片 (自创建文件)
h high 高分辨率l low 低分辨率m middle 中间分辨率x 特大分辨率xx 超大分辨率layout:界面布局目录
res/raw/ (自创建文件)
该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,不会在R文件注册,文件会原封不动的保存到apk包中(raw与assert调用方式不同)res/values/:专门存放应用使用到的各种类型数据目录。不同类型的数据存放在不同的文件中.
strings.xml 定义字符串和数值arrays.xml 定义数组colors.xml定义颜色和颜色字串数值dimens.xml 定义尺寸数据styles.xml 定义样式。res/xml/ (自创建文件)
在Activity中使用getResources().getXML()读取该目录下的XML资源文件AndroidManifest.xml:清单文件(程序入口文件),在软件安装的时候被读取
Android中的四大组件(Activity、ContentPRovider、BroadcastReceiver、Service)都需要在该文件中注册,程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡proguard-project.txt: 项目混淆文件, 保护代码
project.properties:项目环境配置文件,读取该项目使用Android版本号.早期版本名为:default.properties
bin:二进制文件,包括class、资源文件、dex、apk等
proguard.cfg:用来混淆代码的配置文件,防止别人反编译
Android Studio 项目结构:
Android Studio 项目结构图:


==注意:==
res目录,所有以drawable开头的文件夹用来放图片,以mipmap开头的放应用图标,以value开头的放字符串、样式、颜色等配置的,以layout开头的放布局文件 由于Android Studio 没有提供drawable-xxx,建议自己创建这些文件夹,一般都放在drawable-xxhdpi文件夹下即可 .9图只能放在drawable目录下 Android Studio 工程目录结构简析:
├─.gradle 系统自动生成的gradle目录(不用关心) ├─.idea 系统自动生成的关于AS的环境配置目录.包括版权,字典,jar包信息,项目名称,编译信息等等 │ .gitignore git忽略文件列表 │ build.gradle 项目全局的Gradle构建脚本 │ gradle.properties 全局的Gradle配置文件,这里配置的属性会影响到项目中所有的gradle编译版本 │ gradlew 用于在命令行界面中执行gradle命令(只能在linux或Mac中使用) │ gradlew.bat 用于在命令行界面中执行gradle命令(只能在Windows中使用) │ local.properties 本地属性文件,用于指定本地Android sdk路径 │ Myapplication.iml IntelliJ IDEA项目自动生成的文件.(不用关心) │ settings.gradle 用于指定项目中所有引入的模块.(不用关心) │ ├─app moudle 目录,项目的代码,资源等内容都放这里 │ │ .gitignore git忽略文件列表 │ │ app.iml IntelliJ IDEA项目自动生成的文件(不用关心) │ │ build.gradle 当前Module的Gradle编译文件 │ │ proguard-rules.pro proguard混淆文件 │ │ │ ├─build 系统自动生成的当前moudle的编译目录,相当于Eclipse中默认Java工程的bin目录.编译生成的apk在此目录 │ ├─libs jar依赖包存放目录 │ └─src java源代码存放目录 │ ├─androidTest 用于编写Android测试用例的 │ │ └─java │ │ └─zs │ │ └─xmx │ │ └─myapplication │ │ ApplicationTest.java │ │ │ ├─test 用于编写Unit测试用例的 │ │ │ └─main 主目录(存放java文件,资源,清单文件) │ │ AndroidManifest.xml 清单文件,用于给应用程序添加权限声明 │ │ │ ├─java java源码目录 │ │ └─zs │ │ └─xmx │ │ └─myapplication │ │ MainActivity.java │ │ │ └─res 资源文件目录 │ ├─drawable 图片资源.9图片只能放到drawable目录下,建议自己创建如下mipmap-xxx文件,一般都放在drawable-xxhdpi文件夹下即可 │ │ │ ├─layout 界面布局目录 │ │ activity_main.xml │ │ │ ├─menu menu菜单xml文件 │ │ menu_main.xml │ │ │ ├─mipmap-hdpi 高分辨率图标 │ │ ic_launcher.png │ │ │ ├─mipmap-mdpi 中间分辨率图标 │ │ ic_launcher.png │ │ │ ├─mipmap-xhdpi 特大分辨率图标 │ │ ic_launcher.png │ │ │ ├─mipmap-xxhdpi 超大分辨率图标 │ │ ic_launcher.png │ │ │ ├─values 专门存放应用使用到的各种类型数据目录。不同类型的数据存放在不同的文件中. │ │ strings.xml 定义字符串和数值 │ │ arrays.xml 定义数组 │ │ colors.xml定义颜色和颜色字串数值 │ │ dimens.xml 定义尺寸数据 │ │ styles.xml 定义样式。 │ │ │ │ │ │ │ └─values-w820dp │ dimens.xml │ ├─build 系统自动生成项目空间的编译目录 └─gradle gradle 目录,包含了gradle wrapper的配置文件 └─wrapper gradle wrapper可以看作是对gradle的封装,它可以使得在没有安装gradle的电脑上也可以使用Gradle进行构建.(不用关心) gradle-wrapper.jar gradle 下载的jar包缓存,具体在 .gradle/caches/modules-2/files-2.1目录 gradle-wrapper.properties 声明了gradle的目录与下载路径以及当前项目使用的gradle版本
SDK工程目录结构:
SDK工程目录结构图:

SDK工程目录简析:
add-ons: 附加组件,放在一个额外的工具.google api,提供google地图的jar包
build-tools: 编译工具,谷歌sdk升级后采用的目录
docs: 文档目录.开发文档.
extras: 附加工具
support: 提供向下兼容的jar包.和额外的驱动,摄像头驱动,手机驱动
platform: 开发平台
platform tools: 开发的工具
sample: 实例代码
source: 源代码
system-image: 系统镜像
tools目录: 开发工具