文章目录
- src目录
- gen目录
- BuildConfig.java
- R.java
- assets目录
- bin目录
- res目录
- layout目录
- values目录
- drawable开头的目录
- Android 9
- AndroidManifest.xml
- project.properties
- proguard-project.txt
先来看一下Android开发
的目录结构是什么样子:
下面是对各个目录的作用进行说明:
src目录
src
目录和创建基础的java project
长得一模一样,这个目录就是用来存放java源代码
的文件
gen目录
gen目录
全程:Generated Java Files
译为生成的JAVA文件
,也就是说这个目录下的Java文件
是自动生成的。看一下图片:
里面主要有两个两个类:BuildConfig.java
和R.java
BuildConfig.java
首先打开BuildConfig.java
,下面是最开始的源代码:
/** Automatically generated file. DO NOT MODIFY */
package com.example.demo;
public final class BuildConfig {
public final static boolean DEBUG = true;
}
可以看到在这个源代码的第一行就写了
Automatically generated file. DO NOT MODIFY
译为:自动生成的文件,不要修改
,那好了,我们不动他就是了。这个文件的主要作用就是:检查你的代码,并且不断运行调试
R.java
这个R.java
比较重要了,所有的资源都会在这个R.java
中自动生成一个十六进制
,对资源进行一个注册保存,由于代码比较长,这里截个图:
在这里面我们也可以看到写在最上面的注释,自动生成的文件,不要修改!
,也不需要开发人员对他进行维护。那好吧,我们还不动这个文件就好了。
如果你不小心删除了这个文件,系统还会继续给你自动生成一个一模一样的文件。如果开发人员添加了一个新的资源,那么R.java
会自动进行收录并且生成一个十六进制
。
至于如何在.xml
和.java
文件中引用R.java
的资源,我会咋以后的博客里面写出。
assets目录
assets
译为:资产
。所以这个目录又叫做资产目录
。在这个目录下存储资源文件,一般是用来存放原始格式
的文件,例如音频、视频等二进制格式文件
。
还有一点值得注意的是:该目录下的所有资源都不能够被R.java
文件索引
,因此他只能以字节流的形式进行读取。如果缺省,则为空目录。
从上图可以看到,最开始创建的目录下没有任何资源,即为空目录。
bin目录
这个目录下是保存了编译过程中所产生的文件,以及最终产生的apk
文件。也属于自动生成,无需干预。
只需要apk
文件,就可以安装app
res目录
这个目录也是资源目录。所有的图像
、颜色
、风格
、主题
、界面布局
和字符串
等资源都保存在其下的几个子目录中。他们都会被索引
。
可以看到,这个文件内有超级多文件,下面看一看一些目录:
layout目录
这个目录用来保存与用户界面相关的布局文件,比如我们最开始创建的activity_main.xml
文件
values目录
该目录保存颜色、风格、主题和字符串等资源
drawable开头的目录
看见这么多drawable
开头的目录不禁让人头皮发麻,我们都打开来看一下:
可以看到,这些文件下都是一个同名文件,用这么多文件的目的就是为了适配不同尺寸、不同分辨率的手机,以显示到最佳的展示效果
Android 9
这个文件夹是引进来的已经有的类库,这里我创建的版本太高了,一般都是Android 4
,因为Android 4
版本的安卓系统具有划时代
的意义,……不再多说。
AndroidManifest.xml
安卓清单文件,这里对安卓里面的对象或组件进行登记注册
。也是Andriod
项目的配置文件
,项目中定义的所有四大组件
都需要在这个文件里注册
。另外还可以在这个文件中添加权限声明
,也可以重新指定项目指定的程序最低兼容版本和目标版本
。
project.properties
这个文件通过一行代码指定了当前的SDK版本
,也是自动生成的文件。
proguard-project.txt
这个文件是防反编译
的,以后的博客再做详细的介绍~