Eclipse,Android Studio项目结构图与SDK工程目录结构图

时间:2022-01-27 12:55:36

导读

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

看图以简析为准,有新增内容


Eclipse 项目结构:

Eclipse 项目结构图:

Eclipse,Android Studio项目结构图与SDK工程目录结构图

==注意:==

  1. 如果同学们发现有些目录没有,那是因为需要自己创建的

Eclipse 工程目录结构简析:

  • src:java源代码存放目录

  • gen:系统自动生成的文件目录

  • R.java 中记录了项目中各种资源ID

  • assets:资源文件目录,不会在R文件注册,文件会原封不动的保存到apk包中

  • libs 工程依赖库目录(jar包),会被添加到android depend 目录下

  • res:系统资源目录,所有文件都会在R文件生成资源ID

  • res/anim/ (自创建文件)

    • 存放定义渐变动画的XML文件

    • res/animator/ (自创建文件)

    - 存放定义属性动画的XML文件

  • drawable:存放应用程序的图片 (自创建文件)

    • h high 高分辨率
    • l low 低分辨率
    • m middle 中间分辨率
    • x 特大分辨率
    • xx 超大分辨率
  • layout:界面布局目录

  • res/raw/ (自创建文件)

    • 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,不会在R文件注册,文件会原封不动的保存到apk包中(raw与assert调用方式不同)
    • 要使用原始 InputStream 打开这些资源,请使用资源 ID(即 R.raw.filename)调用Resources.openRawResource()。
    • 但是,如需访问原始文件名和文件层次结构,则可以考虑将某些资源保存在 assets/ 目录下(而不是 res/raw/)。assets/ 中的文件没有资源 ID,因此您只能使用 AssetManager 读取这些文件。
  • res/values/:专门存放应用使用到的各种类型数据目录。不同类型的数据存放在不同的文件中.

    • strings.xml 定义字符串和数值
    • arrays.xml 定义数组
    • colors.xml定义颜色和颜色字串数值
    • dimens.xml 定义尺寸数据
    • styles.xml 定义样式。(可自定义一个新的.xml文件,专门放我们自定义的style)
    • attrs.xml 自定义控件属性设计(自定义)
  • res/xml/ (自创建文件)

    • 在Activity中使用getResources().getXML()读取该目录下的XML资源文件
    • preference.xml PreferenceActivity或PreferenceActivity的布局文件
    • 可以在运行时通过调用 Resources.getXML() 读取的任意 XML 文件。各种 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 项目结构图:

Eclipse,Android Studio项目结构图与SDK工程目录结构图

Eclipse,Android Studio项目结构图与SDK工程目录结构图

==注意:==

  1. res目录,所有以drawable开头的文件夹用来放图片,以mipmap开头的放应用图标,以value开头的放字符串、样式、颜色等配置的,以layout开头的放布局文件
  2. 由于Android Studio 没有提供drawable-xxx,建议自己创建这些文件夹,一般都放在drawable-xxhdpi文件夹下即可
  3. .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 定义样式。
│ │ attrs.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版本


补充 : 需要自己建立的文件夹

main/assets/ 
main/aidl/
main/jni/ -->放置c代码
main/jniLibs/ -->放置so库
main/res/raw/-->放原始文件
main/res/anim/-->放渐变动画XML文件
main/res/animator/-->放属性动画XML文件
main/res/xml/ --> xml资源文件

可参照Eclipse结构简析


SDK工程目录结构:

SDK工程目录结构图:

Eclipse,Android Studio项目结构图与SDK工程目录结构图

SDK工程目录简析:

  • add-ons: 附加组件,放在一个额外的工具.google api,提供google地图的jar包

  • build-tools: 编译工具,谷歌sdk升级后采用的目录

  • docs: 文档目录.开发文档.

  • extras: 附加工具

  • support: 提供向下兼容的jar包.和额外的驱动,摄像头驱动,手机驱动

  • platform: 开发平台

  • platform tools: 开发的工具

  • sample: 实例代码

  • source: 源代码

  • system-image: 系统镜像

  • tools目录: 开发工具