Android Studio 项目目录结构

【摘要】有一次 Android Studio 重装,再打开以前的项目,结果一大堆错误,很大的原因来自多 Android Studio 中项目文件的不熟悉,不清楚是干嘛的,所以今天理一下,只做一个粗略的了解。

0、目录结构

目录结构

    这是项目视图下看到的项目文件目录,跟文件的实际存储位置一致。

    备注:在 Android Studio 中一个项目(Project)可以有多个模块(Module),比如本例的 Hqfwzx 就是一个模块(Module)。我们看到的 .gradle, .idea, app, gradle 都是 Hqfwzx 这个模块(Module)持有的。

    1)    .gradle 文件夹包含的是 gradle 工具的各个版本。

.gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。——来自“百度百科”

    平时我们构建代码使用的是哪个版本呢?可以在 gradle\wrapper\gradle-wrapper.properties 文件中查看,并且可以修改。可能大家遇到这样的情况:把别人的项目拷过来用,发现打开的时候在下载东西,而且下载很久都还没结束。原因就是别人的项目指定了 gradle 版本(如下图),但是在你的电脑上没有,所以 Android Studio 会自动下载。你也可以在打开之前修改这个项目的 gradle 版本,修改成你本地电脑有的(如果兼容的话),这样就可以直接打开了。

查看 gradle 版本

    2)    .idea 文件夹包含了开发所需的各种环境。

.idea 文件夹

IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。——来自“百度百科”

    3)    app 文件夹包含了我们要开发的 app 的所有。

app 文件夹

        在这个 app 文件夹目录下同样有一个 build.gradle 文件,这个文件的设置只对本 app 有效,而上一层目录下的 build.gradle 对本项目有效。平时我们需要引用别人的开源库,就是在这里面添加的。

两个 build.gradlle 的位置

    4)    gradle 文件夹包含了 gradle 工具的打包。 wrapper 的意思就是“包装、打包”。这个目录的意义是:把项目拷贝给别人时,别人电脑上可能根本没有安装 gradle 工具,为了能够使用本项目,可以使用项目中打包好的 gradle 工具。具体没有了解过。

gradle 文件夹

    5)    .gitignore 文件,从字面意思上是 git ignore,具体作用没有了解,因为平时从来没有接触到该文件。

.gitignore 内容

    6)    build.gradle (主目录下的)文件是最顶层的构建文件,这里配置所有模块通用的配置信息。注意与 模块下的 build.gradle 文件区分。

build.gradle

 7)    gradle.properties 文件, gradle 的相关配置。

gradle.properties

8)     gradlew 文件

gradlew

9)    gradlew.bat 是 windows 下的批处理文件。

gradlew.bat

10)    hqfwzx.iml 文件保存这个模块的相关信息,格式是 xml 。

hqfwzx.iml

11)    local.properties 文件保存 Android SDK 所在的路径。

loacl.properties

    12)    setting.gradle 文件在初始化过程中被执行,一个 Gradle 构建通常包括三个阶段:初始化,配置,和执行。

setting.gradle

参考:

    英语能力好的同学尽量阅读英文原版文档吧,因为原版文档原理解释的非常清楚。你去看别人的博客,已经是经过别人理解后的结果,可能会有些误差。但我看着这满屏的英文时,阅读效率很低,光理解某个词就要花不少时间。

英文原版文档

参考:

1、The Gradle Wrapper

2、Android Studio中的Project和Module是个什么鬼?

3、android studio使用教程(六) project和module gradle脚本查看

4、Gradle for Android 系列:初识 Gradle 文件

5、《详解build.gradle文件》

6、gradle-wrapper.properties中各属性的含义

7、Gradle学习笔记 使用Gradle Wrapper

8、彻底搞懂Gradle、Gradle Wrapper与Android Plugin for Gradle的区别和联系

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容