认识Android的基础工程结构

212 阅读2分钟

一、新建基础工程

选择AS的File New Project,选择No Acitivity,按需要配置如下信息。

“use legacy android.support library”选项默认不要勾选,代表不使用Android Support库,使用Androidx代替。从Android9开始引入Androidx,说明见: developer.android.com/jetpack/and…

image.png

新建成功后,视图选择Project,方便查看目录结构。

image.png

二、工程目录结构

image.png

  1. .gradle文件夹。工程隐藏目录,存储gradle版本的文件,根据gradle/gradle-wrapper.properties文件配置的版本决定。(代码不需要提交到git库管理)

  2. .idea文件夹。工程隐藏目录,是本地idea代码编辑器的配置等相关信息。(代码不需要提交到git库管理)

  3. gradle文件夹。指定使用的gradle的版本及下载地址。gradle是Android工程的编译工具,类似于Maven或Ant。

  4. app文件夹。Android工程的主目录。

    1)libs文件夹。手动添加的代码依赖的库文件,如jar包等。

    2).gitigonre文件。用于配置无需git管理的规则配置文件。

    3)build.gradle文件。用于配置工程编译的属性,如下,部分和单元测试相关的配置可去除。

image.png

4)proguard-rules.pro文件。用于指定编译生成发布apk,混淆代码的规则配置文件。指定该配置文件的路径是在build.gradle文件中定义的。根据引入的三方库或混淆需要,需要自定义该文件,如禁止混淆继承Activity的类。

-keepclassmembers class * extends android.app.Activity { public void *(android.view.View); }

5)src目录。工程代码和资源存放目录。

不需要单元测试情况下,androidTest和test目录可以删除。res目录作为重点放在第三章介绍。

  1. build.gradle文件。对工程的整体配置,不同于app目录下的对单个应用的编译配置。
  2. local.properties文件。用于指定本地ndk或sdk的存储路径。(代码不需要提交到git库管理)
  3. gradle.properties文件。gradle的配置文件,如用于指定是否使用androidx。

三、RES目录

image.png

1、values目录和values-night目录

values-night为夜间模式使用的配置目录,当手机系统设置为深色模式的时候,APP自动切换。

2、mipmap目录和drawable目录

mipmap下存放的图片,系统会预先放入内存,提高图片渲染的速度和质量。Google建议,mipmap只存放应用的图标,其它图片还是放在 drawable目录。

drawable-*dpi代表的含义,如果我们对应用的图片各个尺寸必须单独提供,一般UI设计是按照2倍像素做的UI稿,所以图片需要放入drawable-xhdpi目录下,详细说明见: developer.android.com/training/mu… image.png