Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD。
注:以下以Windows平台为标准,AS以目前最新稳定版1.4.1为准。
1、其实AS project/module的目录结构很简单,我浓缩成2张图给总结了,先看图,再看下面的文字,因为还有些细节图上体现不出来(我这个图上的项目来源于我之前的Eclipse项目,并且有lib项目库相互依赖)
2、上面的图很直观,但也很眼花缭乱,我再针对图总结下重点和疑问点。
①在AS的世界里,文件夹都以模块(module)为单位组织的,其实所谓的项目project也一样,上一篇Android开发工具全面转向Android Studio(2)——AS project/module的CRUD中就出现删除一个project就会提示cannot rename root module,那是因为可以在.idea/modules.xml中找到如下图所示,在编译时全部都以module同等对待,只不过在项目组织中,project是个root module而已。
既然project也是模块,module也是模块,那么他们就有共同的东西,在AS中,XXX.iml、build.gradle以及build文件夹就是模块共同的。
如上面的project中有_workspace_android_as.iml和build.gradle
比如appStore module中也有appStore.iml、build.gradle以及build文件夹
②毕竟project是比较大的概念,那么它一定得还有些module没有的东西,那就是:.gradle文件夹、.idea文件夹、gradle文件夹、gradle、local.properties和settings.gradle等。
以.开头的基本上就不用理会了,比较重要的是:gradle文件夹是gradle wrapper,local.properties是配置SDK,NDK路径的,而settings.gradle是一个很重要的文件,用于描述改project下有哪些module,或者说只有在这个project的settings.gradle注册过的module AS才认为是这个project的module。
③module之所以不是project肯定也有一些特殊之处,那就是含有资源文件,包括libs目录(eclipse项目中libs/*.jar文件)、assets目录(eclipse项目中assets)、java目录(eclipse项目中src)、jniLibs目录(eclipse项目中libs/XXXX/*.so文件)、res目录、AndroidManifest.xml。另外在module中build目录相当于eclipse项目中bin目录,而build.gradle更像eclipse项目中的project.properties,但是比project.properties强悍多了
原创随笔,转载注明出处。
Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)的更多相关文章
- Android开发工具全面转向Android Studio(2)——AS project/module的CRUD
本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...
- Android开发工具全面转向Android Studio(1)——准备开发环境
工欲善其事必先利其器,本文适合Android新手以及用过Eclipse而没用过Android Studio开发Android的老手,众所周知,谷歌是不会再维护和开发ADT了,旧的ADT已经是完全不能渲 ...
- Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具
Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路, ...
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...
- 最新版Android开发工具
最新版Android开发工具 JUN 27TH, 2014 Android Tools ADT Bundle ADT Bundle包含了Eclipse.ADT插件和SDK Tools,是已经集成好的I ...
- 【转】Android开发工具--android-studio-bundle-141.2288178
原文网址:http://www.androiddevtools.cn/ AndroidDevTools简介 Android Dev Tools官网地址:www.androiddevtools.cn 收 ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
随机推荐
- Thinkphp源码分析系列(四)–Dispatcher类
下面我们来分析一下Thinkphp中的url解析和路由调度类.此类主要功能是 // +--------------------------------------------------------- ...
- Sequelize 关系模型简介
Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...
- Support Vector Machine (2) : Sequential Minimal Optimization
目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...
- Net accounts命令
Net accounts 将用户帐户数据库升级并修改所有帐户的密码和登录请求. 语法 net accounts [/forcelogoff:{minutes | no}] [/minpwlen:len ...
- Linux守护进程
什么是守护进程? 守护进程是生存期长的一种进程,它们常常在系统引导装入时启动,仅在系统关闭时在终止.它们没有控制终端并且在后台运行.Linux 系统中有很多守护进程用以执行系统的日常事物,而且服务器程 ...
- 在html中关于如果function的函数名和input的name一样会发生怎样的现象
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="2_PageMethods. ...
- linux 学习1
这里主要是听讲的一些东西的总结, thanks to lamp brother ____安装虚拟机 vmware 8.0.4, 因为高版本占用空间大,没必要 cent OS 6.3 linux 版本 ...
- 100 Door Puzzle
问题重述: There are 100 doors in a long hallway. They are all closed. The first time you walk by each do ...
- iOS点击状态栏返回顶部问题。
在适配点击状态栏返回顶部的时候,有一个viewcontroller里面有一个UITableView和一个UITextView,UITableView的cell里面没有UIScrollView和UITa ...
- iOS 10开发NSAssert(断言)的使用
断言(NSAssert)的使用 字数1055 阅读3270 评论3 喜欢30 NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug ...