Android Studio 项目基本结构

Android Studio 是 Google 官方出的用于开发 Android 项目的 IDE,用以取代以前的 Eclipse + ADT。由于 Android Studio 使用 Gradle 作为构建工具,所以新建工程时目录结构与 Eclipse + ADT 的目录结构发生了巨大的变化,这里记录 Android Studio 中 Android 项目的基本结构,主要是介绍新出现的 Android Project View。当前 Android Studio 版本是 1.1。

Android Studio 下载与安装

可以从网上搜索相关资料,比较多。

  1. 下载地址:Download Android Studio and SDK Tools
  2. 下载与安装参考:[Android] 环境配置之正式版Android Studio 1.0

Android Studio 视图介绍

Android Project View

新建一个 Android 工程后的界面如下:
Android 工程视图

这种视图的官方介绍地址:Android Studio Overview:Android Project View

记录一下自己的理解:

  • 这种视图下,构建工具集和与项目文件集合分离,因此可以看到比较清晰的项目结构。app 作为项目惟一的 module 作为一个顶层目录,Gradle Scrpts 作为构建系统的顶层目录。需要注意的是,app 和 Gradle Scripts 并不是真正在硬盘上存在的目录。

  • app 目录下列举了 Android 应用中需要编辑的文件与文件夹,Gradle Scripts 下面的则都是构建脚本,这里的脚本是 Android Studio 自动帮助我们创建的。

  • 经过实验,一个 Android 项目可以包含多个 module,每个 module 都可以是一个 Application 或者 Lib。因为所有 module 之间是平等关系,且 Application 之间无法依赖。猜测应该是一个或几个 Application 有共同的一个或几个 Lib。有如下两种场景:
    1)一个 Application,一个或多个 Lib,Application 依赖 Lib;
    2)多个 Application,Application之间无构建关系,但因为依赖中有共同的 Lib,所以放在了同一个 Android 项目下。

多个 module 时的截图:
多 module Android 工程视图

上图中 app,secpro,thirdp 都是 Application 的 module,firstl 是 Lib 的 module。从目录层级上看 4 个 module 之间是平等的。三个 Application 之间没有构建关系(一个应用不可能依赖另一个应用才能够构建),所以他们存在于同一个 Android 工程下的惟一原因就是都需要依赖于那个 Lib。

另外,几个 module 的实际文件夹,都在同级目录下。

Android Studio Project and Directory Structure

这种视图就是常见的以硬盘目录结构为工程结构的样子了,如下:
Android Studio 目录结构视图

Android Studio 项目的 Gradle Scripts 介绍

“Android 工程视图”下,“app”组里的各项在 Eclipse 的 Android 工程中也都有,不需要介绍。介绍一下“Android 工程视图”组里“Gradle Scripts”的各项,以及文件在“Android Studio 目录结构视图”中的位置。

对比两张图:
Android 工程视图Android 工程视图 Android Studio 目录结构视图Android Studio 目录结构视图

  • build.gradle (Project: FirstP) 对应 FirstP/build.gradle
    这个文件是整个 Android 项目的基础配置文件,内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的 jcenter(), 之前版本则是 mavenCentral(),jcenter 可以理解成是一个新的中央远程仓库,兼容 maven 中心仓库,而且性能更优。另一个是声明了android gradle plugin 的版本。
  • build.gradle (Module: app) 对应 FirstP/app/build.gradle
    这个文件是具体 module 的配置文件,针对具体 module 的构建相关修改都应该集中在这里。具体含义参考链接。
  • proguard-rules.pro (ProGuard Rules for app) 对应 FirstP/app/proguard-rules.pro
    这个文件用于对 module 内的文件进行混淆声明。
  • gradle.properties (Project Properties) 对应 FirstP/gradle/gradle.properties
    这个文件里面声明了gradle的目录与下载路径以及当前项目使用的 gradle 版本,这些默认的路径我们一般不会更改的,这个文件里指明的 gradle 版本不对也是很多导包不成功的原因之一。
  • settings.gradle (Project Settings) 对应 FirstP/settings.gradle
    这个文件是全局的项目配置文件,里面主要声明一些需要加入 gradle 的 module。
  • local.properties (SDK Location) 对应 FirstP/local.properties
    包含了 Android SDK 的本地路径,Android 项目构建时会从这里读取 SDK 路径。也可以在这里配置 NDK 路径,格式与 SDK 一样。

其它

参考

版权信息

自由转载-非商用-非衍生-保持署名(知识共享 Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值