Android Studio目录结构浅析
让我们来简单了解下Android Studio中不同目录(文件)的位置和用途。
首先看下一个App的最简单的目录结构

OK,我们这么看,第一,把这么多文件先分成这么三块
1. 编译系统(Gradle)
2. 配置文件
3. 应用模块
Gradle是Google推荐使用的一套基于Groovy的编译系统脚本(当然,你也可以使用ant),具体的介绍和文档可以参考这个传送门:https://developer.android.com/tools/building/plugin-for-gradle.html
如果你学会之后,会对Android项目的编译了如指掌(总之非常爽~),它的缺点目前是效率不高,然后因为有功夫网的存在,所以在bintray上下载依赖会比较慢。
上面那个图中出现gradle字眼的就是gradle相关的一些文件。
Android中使用Gradle Wrapper对Gradle进行了一层包装,我猜测这么做的原因是因为gradle更新速度实在太快,为了兼容性着想,才出了这么一套方案。(如果觉得这个猜想有问题请指正)gradlew相关的文件就是和Gradle Wrapper有关。我们对除了app文件夹以外的文件列一下。
| 文件(夹)名 | 用途 |
|---|---|
| .gradle | Gradle编译系统,版本由wrapper指定 |
| .idea | Android Studio IDE所需要的文件 |
| build | 代码编译后生成的文件存放的位置 |
| gradle | wrapper的jar和配置文件所在的位置 |
| .gitignore | git使用的ignore文件 |
| build.gradle | gradle编译的相关配置文件(相当于Makefile) |
| gradle.properties | gradle相关的全局属性设置 |
| gradlew | *nix下的gradle wrapper可执行文件 |
| graldew.bat | windows下的gradle wrapper可执行文件 |
| local.properties | 本地属性设置(key设置,android sdk位置等属性),这个文件是不推荐上传到VCS中去的 |
| settings.gradle | 和设置相关的gradle脚本 |
这些就是外部文件相关的一些文件的介绍。我们来看下更重要的app模块里的文件

这是app模块下的文件目录结构,介绍下他们的用途
| 文件(夹)名 | 用途 |
|---|---|
| build | 编译后的文件存在的位置(包括最终生成的apk也在这里面) |
| libs | 依赖的库所在的位置(jar和aar) |
| src | 源代码所在的目录 |
| src/main | 主要代码所在位置(src/androidTest)就是测试代码所在位置了 |
| src/main/assets | android中附带的一些文件 |
| src/main/java | 最最重要的,我们的java代码所在的位置 |
| src/main/jniLibs | jni的一些动态库所在的默认位置(.so文件) |
| src/main/res | android资源文件所在位置 |
| src/main/AndroidManifest.xml | AndroidManifest不用介绍了吧~ |
| build.gradle | 和这个项目有关的gradle配置,相当于这个项目的Makefile,一些项目的依赖就写在这里面 |
| proguard.pro | 代码混淆配置文件 |
以上就是对Android Studio目录结构的简单介绍~
Android Studio目录结构浅析的更多相关文章
- android studio 目录结构讲解
android studio 目录结构讲解 src 毫无疑问,src目录是放置我们所有 Java代码的地方,它在这里的含义和普通 Java 项目下的 src目录是完全一样的,展开之后你将看到我们刚才创 ...
- Android开发学习2--Android Studio目录结构、Module目录介绍、Android创建及运行和HelloWord的扩展----极其简单的游戏界面
学习笔记: 1.Android Studio项目结构 Android Studio提供了很多项目结构,最常用的是Android 和 project Project列举出了所有文件. 建议使用Andro ...
- Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...
- Android SDK目录结构和工具介绍
Android SDK目录结构和工具介绍是本文要介绍的内容,主要是来了解并学习Android SDK的内容,具体关于Android SDK内容的详解来看本文. AD: Android SDK目录结构和 ...
- maven项目eclipse目录结构浅析
maven项目eclipse目录结构浅析 PS:Java Resources是为了方便我们编译,到最后都会编译到 WEB-INF/classes Maven项目的目录结构
- Android开发新手学习总结(六)——android开发目录结构【图文版】
转载链接:http://bbs.itcast.cn/thread-87059-1-1.html?rss 既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最 ...
- Android Studio项目结构
我们创建了一个Android Project,打开就如下图所示: 我们选择Project视图,就会有以下的项目文档结构: 上面笔者标注的数字是接下来要讲解的内容. 我们先来看1: 我们创建Appl ...
- Android项目目录结构模板以及简单说明【简单版】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...
- Android开发自学笔记(Android Studio) 目录
开发环境如下: 操作系统:Windows 10 Pro IDE:Android Studio 1.3.X 或更高版本 其它请参见文章说明. 1. 环境搭建 1.1 (番外)AndroidStudio常 ...
随机推荐
- 安装mint的时候提示:Not compatible with your operating system or architecture: fsevents@1.0.11
Since fsevents is an API in OS X allows applications to register for notifications of changes to a g ...
- 更好的逐帧动画函数 — requestAnimationFrame 简介
本文将会简单讲讲 requestAnimationFrame 函数的用法,与 setTimeout/setInterval 的区别和联系,以及当标签页隐藏时 requestAnimationFrame ...
- 以HTML为表现的日志记录组件
日志搬家:http://www.loogn.net/blog/Article.aspx?id=21 关于日志记录,如果你不想随用随写,又不想用log4net的话,也许你可以了解一下这个! 我也是个很懒 ...
- vi实战记录
vi编辑器在Unix和Linux中比较早期的,Vim是vi的扩展集,是对vi的加强. 服务器最小化,默认集成vi编辑器!了解vi常用命令,工作起来颇有-洪荒之力!!! 01.关于退出 :wq! -- ...
- 关于最近折腾的ubuntu12.10
win7旗舰正版up1 UltraISO + ubuntu-12.10-desktop-i386.iso + 4GKingston = 启动U盘 USB HDD 启动 进入ubuntu桌面,安装,磁盘 ...
- 1104关于优化mysql服务器几个参数和思路
转自http://www.cnblogs.com/AloneSword/p/3207697.html 按照从大到小,从主要到次要的形式,分析 mysql 性能优化点,达到最终优化的效果. 利用 min ...
- json写入和读取代码
#写入new文件 import json dic = {'name':'alex'} i = 8 s = 'hello' l = [11,22] f = open("new_hello&qu ...
- Java--剑指offer(10)
46.每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指定一 ...
- 【UOJ #17】【NOIP 2014】飞扬的小鸟
http://uoj.ac/problem/17 dp,注意细节. #include<cstdio> #include<cstring> #include<algorit ...
- HoG
实现步骤 先计算每一个像素点位置上x和y方向上的梯度. 这样在每一个像素点位置上得到一个二维向量, 计算它的方向和模长 将图片分为一个个的cell, 如\(8\times 8\). 计算它的HOG: ...