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常 ...
随机推荐
- Asp.net WebApi Put模式调用,“HTTP 错误 405.0 - Method Not Allowed”解决方法
IIS10.0在部署了WebAPI之后,默认是不支持Put模式调用的.需要按照下面方法启用. 步骤一:在IIS管理界面要支持Put模式的IIS站点,选择 "功能视图". 步骤二:选 ...
- list使用例子(转)
例子: 在vs2010中创建一个winform的解决方案,然后定义一个类Person,Person.cs 的代码如下: using System;using System.Collections.Ge ...
- EF 相见恨晚的Attach方法
一个偶然的机会,让我注意了EF 的Attach方法,于是深入了解让我大吃一惊 在我所参与的项目中所有的更新操作与删除操作都是把原对象加载出来后,再做处理,然后再保存到数据库,这样的操作不缺点在于每一次 ...
- 制作stick侧边栏导航效果
其实这种效果网上好多的插件,但是我想自己实现看看,其实把思路理清实现起来就非常简单了,让我们看看: 分析: 从图中我们可以看出:右边的top=100px,那么它应该在第一个框的top+height=1 ...
- 准备.Net转前端开发-WPF界面框架那些事,UI快速实现法
题外话 打开博客园,查看首页左栏的”推荐博客”,排名前五的博客分别是(此处非广告):Artech.小坦克.圣殿骑士.腾飞(Jesse).数据之巅.再看看它们博客的最新更新时间:Artech(2014- ...
- 我做PHP,但是我要批判下整天唱衰.NET的淫
笔者每天都能看到月经贴-".NET已死"!!! 笔者之前一直在CSDN上面写博客,泡论坛,但是有约莫一年来着了发现CSDN上面的博客都没啥更新,CSDN首页推荐的一些文章也没啥新意 ...
- PHP学习资料分享
PHP有着开源.执行效率高.优化代码运行等特性,功能强大,被广泛运用,很多大型企业网站开发的首选,百度.腾讯.新浪.金山等均采用了PHP开发.学好PHP对网络开发人员而言具有很好的发展前景,市场对PH ...
- swagger editor使用
swagger editor使用 swagger是一套开源的API设计工具,包括Swagger UI,Swagger Editor等. Swagger Editor 其中Swagger Editor是 ...
- php file_get_contents失败[function.file-get-contents]: failed to open stream: HTTP request failed!解决
在使用file_get_contents方法来获取远程文件时会出现 [function.file-get-contents]: failed to open stream: HTTP request ...
- cmd 下telnet 不是内部或外部命令
问题:cmd 下telnet 提示不是内部或外部命令 解决方案: