项目概览

Android Studio中的项目包含了开发一个app的工作环境所需要的一切。从代码,到资源,到测试到构建配置。当你创建一个新的项目的时候,Android Studio为所有的文件创建了必要结构,使它们在IDE左边的Project中可见(单击View >Tool Windows >Project)。

模块(Modules)

模块是构建设置(build settings)和源文件的集合,可以将你的项目分成几个独立可用的单元。你的项目可以有一个或多个模块,一个模块必须将其他模块作为依赖。每个模块可以单独构建,测试和调试。

你可以通过点击 File>New >New Module来创建模块文件。

Android Studio提供一些不同类型的模块。

Android app 模块

为你的应用源码、资源文件、设置文件和Android Manifest文件提供了一个容器。当你创建一个新的项目是,默认的模块名称为“app”。

在Create New Module窗口,Android Studio提供了以下app模块:

1) Phone & Tablet Module

2) Android Wear Module

3) Android TV Module

4) Glass Module

它们都提供了相应的代码模板和必要的文件。

Library 模块

  提供了一个可芙蓉代码的容器,你可以将模块用作其他模块的依赖或者导入其他项目。Library模块在结构上跟Android app 模块是一样的。但是在构建上,它会成成一个包而不是APK文件,所以不能独立安装到设备中。
在Create New Module窗口,Android Studio提供了以下两种Library模块:

1) Android Library:这种类型的Library可以包含任何Android 项目中支持的文件类型。包括源码,资源和manifest文件。构建结果是生成一个AAR文件,你可以将AAR文件作为依赖添加到Android app模块中。

2) Java Library:这种类型的Library仅仅包含Java源文件。构建结果是生成一个Jar文件,你可以将jar文件作为依赖添加到Android app模块中或者其他Java项目中。

当你创建一个Library模块并且想作为依赖添加到当前的Android app模块中,你可以通过如下方式声明:

dependencies {

compile project(‘:my-library-module’)

}

项目文件

默认情况下,Android Studio在Android 视图下显示你的项目文件,这样视图的项目机构并没有直接映射文件实际存在的位置。而是根据模块和文件类型在你关键的源文件中方便的进行导航,隐藏不常用的文件或文件夹。Android视图显示与保存在磁盘中的项目结构的区别如下:

1) 将所有的build.gradle都归置到Gradle Script组中。

2) 将所有的Manifest文件归置到manifests中。

3) 显示相关的资源文件到一个组中,而不是不同的文件夹。比如不同分辨率的图标。

在Android APP模块中,文件按照以下方式分组:

Manifests

包含AndroidManifest.xml文件。

Java

包含根据包名进行分类的Java源文件,包含单元测试代码。

Res

包含所有的非代码资源,比如XML布局,UI字符和图片文件,分成几个子文件夹。

Android 项目视图

为了在Android视图中查看项目真实的结构(包括隐藏的文件),在项目窗口中选择Project试图。

当你选择项目视图后,你可以看到更多的文件和目录。最重要的如下:

模块名/

Build/

包含构建输出

Libs/

包含私有库

Src/

包含所有的代码和资源文件,子文件夹如下:

androidTest/

包含运行在设备上的Instrumentation测试

Main/

AndroidManifest.xml/

用于描述应用和各个组件

Java/

包含Java源代码

Jni/

包含使用Java Native Interface(JNI)的本地代码

Gen/

包含由Android Studio生成的Java文件,比如R.java和有AIDL文件生成的接口文件。

Res/

包含应用的资源,比如drawable文件,布局文件和UI字符。

Assets/

包含需要打包进apk文件中的文件。

Test/

包含运行在JVM的本地测试

Build.gradle(module)

定义了模块的运行配置

Build.gradel(project)

这个定义了可以应用于所有模块的构建配置。

项目结构设置

为了更改你的Android Studio项目的多种设置,通过点击File>Project Structure来打开Project Structure。它包含如下几个部分:

1) SDK Location:设置项目使用的JDK、Android SDK和Android NDK的位置。

2) Project:设置Gradle插件版本以及中央库

3) Developer Services:包含谷歌或第三方的Android Studio额外组件的设置。

4) Modules:允许你编辑构建设置,包含目标和最小SDK,app简明,library依赖。

开发者服务

Project Structure的Developter Services包含几个可以应用于你的app中的服务。包含如下:

1) AdMob:允许你开启Google的AdMob组件,用于广告。

2) Analytics:允许你开启Google Analytics。

3) Authenication:允许你开启Google Sign-In

4) Cloud:允许你开启Firebase

5) Notifications:允许你使用Google Cloud Messaging

模块

Modules设置允许你更改每个项目模块的设置。每个模块的设置页分成如下部分:

1) Properties:声明SDK的版本以及模块的构建工具版本。

2) Signing:签名

3) Flavors:

4) Build Types:创建或更改构建配置。

5) Dependencies:列出所有依赖。

本文作者:宋志辉

个人微博:点击进入

1.0、Android Studio管理你的项目的更多相关文章

  1. [转]Android Studio创建Xposed模块项目时BridgeApi的正确添加方式

    使用Android Studio创建的空项目作为Xposed Module App,对于Api Jar包的引用方式,一开始是按照傻瓜式Jar Lib的处理方式,复制XposedBridgeApi-54 ...

  2. 使用 Xcode 和 Android Studio 管理 iOS 和 Android 项目版本

    在移动应用开发和运营的过程中,版本管理是一个老生常谈的基础问题,一些版本的基本概念也常常会困扰我们的研发和运营人员.同时,手动管理软件版本,也常常会因为不小心导致后续的发布和更新问题. 这里,我准备了 ...

  3. Android studio 添加引用Module项目 与 设置Module项目的Libs的Jar在主项目里使用

    前言 添加引用Module项目 设置Module项目的Libs的Jar在主项目里使用 1.在项目里添加libs包,并且加入jar 2.设置这个module项目的build.gradle depende ...

  4. 如何从Eclipse 迁移到Android Studio 且保持Eclipse项目结构

    本文demo下载:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=531 Android项目 Eclipse与A ...

  5. Android Studio 之 导入Eclipse项目常见问题及解决方案

    在将Eclipse做的Android项目成功导入Android Studio 后,启动生成,遇到一些问题,现总结如下: 问题1:图片命名问题 AS对图片命名要求比eclipse严格,图片名称只能有&q ...

  6. Android studio升级后原有项目无法正常编译运行问题

    Android studio工具升级后Gradle版本问题 背景 升级AndroidStudio到最新版本后,原来可正常编译输出AndroidTest的项目无法正常编译通过. 原因 升级后的Andro ...

  7. Android Studio将Eclipse的项目作为module的依赖库

    情形: 我们现在有一个eclipse的项目,我们想把这个项目作为android studio的module的一个依赖库. 以前我们在eclipse的时候常常是在一个工作区里面把一个A工程 as a l ...

  8. Android Studio安卓学习笔记(一)安卓与Android Studio运行第一个项目

    一:什么是安卓 1.Android是一种基于Linux的自由及开放源代码的操作系统. 2.Android操作系统最初由AndyRubin开发,主要支持手机. 3.Android一词的本义指“机器人”, ...

  9. Android教程-01 Android Studio创建第一个项目

    视频教程建议采用超清模式, 关注更多视频订阅我的优酷 最近一直使用Android Studio 简单把Android Studio介绍下 1. 首先介绍下 Android Studio的快捷键 由于之 ...

随机推荐

  1. ●BZOJ 3566 [SHOI2014]概率充电器

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3566题解: 概率dp,树形dp 如果求出每个点被通电的概率t, 那么期望答案就是t1×1+t ...

  2. Codeforces Round #402 (Div. 1)

    A题卡壳了,往离线倒着加那方面想了会儿,后来才发现方向错了,二十多分钟才过掉,过了B后做D,想法好像有点问题,最后只过两题,掉分了,差一点回紫. AC:AB Rank:173 Rating:2227- ...

  3. bzoj 1082: [SCOI2005]栅栏

    Description 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购 买木材.可是木材店老板说他这里只剩下少部分大规格的木板了.不过约翰可以购买这些 ...

  4. bzoj2434阿狸的自动机

    转载自 http://www.cnblogs.com/zj75211/p/6934976.html ●BZOJ 2434: [Noi2011]阿狸的打字机   ●赘述题目 (题意就不赘述了) ●解法: ...

  5. ubuntu linux c学习笔记----共享内存(shmget,shmat,shmdt,shmctl)

    shmget int shmget(key_t key, size_t size, int flag); key: 标识符的规则 size:共享存储段的字节数 flag:读写的权限 返回值:成功返回共 ...

  6. ubuntu 安装 WPS for Linux(ubuntu)字体配置(字体缺失解决办法)及卸载libreoffice

    从官网下载安装wps for Linux sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb 启动WPS for Linux后,出现提示"系统 ...

  7. Java面试题—初级(8)

    基本表结构:  student(sno,sname,sage,ssex)学生表        course(cno,cname,tno) 课程表        sc(sno,cno,score) 成绩 ...

  8. 数据结构之Trie树

    1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tr ...

  9. 在vue生命周期中及时销毁全局作用的代码

    一.纯客户端中 对于全局的代码,比如定时器等,在 beforeDestroy或 destroyed 生命周期时将其销毁.如果在跳转路由时候,组件销毁了,全局的定时器却没有销毁,这会使得页面产生卡顿. ...

  10. canvas初学 半动态画太极图

    可直接复制粘贴运行 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head&g ...