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

导读

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

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


Eclipse 项目结构:

Eclipse 项目结构图:

这里写图片描述

==注意:==

  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 项目结构图:

这里写图片描述

这里写图片描述

==注意:==

  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工程目录结构图:

这里写图片描述

SDK工程目录简析:

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

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

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

  • extras: 附加工具

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

  • platform: 开发平台

  • platform tools: 开发的工具

  • sample: 实例代码

  • source: 源代码

  • system-image: 系统镜像

  • tools目录: 开发工具

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值