Android Studio

建立系统工具包你用来生成,测试,运行您的应用程序和软件包。构建系统是独立于Android的工作室,所以你可以调用它的Android的工作室或从命令行。在你写你的应用程序,你可以使用编译系统的特点:
定制,配置,和扩展的建立过程。

为您的应用程序使用同一项目的不同特点,创建多个应用程序。
重用代码和资源。

AndroidStudio构建系统由Gradle构成。Gradle是一种高级的构建工具,用于管理依赖性,允许你定义自定义构建逻辑。
Android插件工具并不依赖于Android Studio,虽然Android Studio由它完全集成。

Gradle的配置包含以下方面

构建变量

构建系统可以根据不同的配置为同一个项目生成多个APK。当你想建立不同版本的应用程序,而不必为每个人单独的项目,这是很有用的。

依赖关系
构建系统管理项目的依赖,并从本地文件系统和远程存储库支持的依赖。这可以防止你不必搜索,下载和复制二进制包为你的依赖到你的项目目录。

清单条目
构建系统使您可以指定的值在生成配置清单文件中的某些元素。这些新的值将覆盖在manifest文件中的现有值。如果你想生成多个的
APK为您的项目中,他们每个人都有不同的包名,最小的SDK版本,或目标SDK版本,这是很有用的。

签名

构建系统使您可以指定生成配置签名设置,它可以在生成过程中签署您的APK。

ProGuard

构建系统使您可以指定一个不同的 ProGuard的规则文件的每个版本变量。构建系统可以运行ProGuard的生成过程来混淆你的类。

测试
构建系统生成的项目中的测试源测试​​APK,所以你不必创建一个单独的测试项目。构建系统可以在生成过程中运行测试。

Gradle构建文件使用Groovy的语法。Groovy是一种动态语言,你可以用它来 ​​定义自定义生成逻辑,并与Android的插件Gradle提供了Android特有的元素进行交互。

按照惯例建立

Android Studio生成系统假定合理的默认值的项目结构和其他编译选项。
如果您的项目符合这些约定,你的Gradle构建文件是很简单的。当一些这些公约并不适用于你的项目,使您可以配置生成过程的几乎每一个方面。
例如,如果您的项目的源位于比默认值不同的目录,你可以在构建文件中指定此位置。

项目和模块

一个项目代表一个完整的Android应用程序。Android Studio项目包含一个或多个module 。一个module 是您的应用程序的独立组件,
你可以构建,测试或调试。module 包含您的应用程序的源代码和资源。Android的Studio项目包含三种模块:

Java库模块
包含可重用的代码。构建系统生成一个JAR包的Java库模块。
Android库模块

包含可重复使用的Android特有的代码和资源。构建系统产生AAR(安卓归档)包库模块。

Android应用程序模块
包含应用程序代码,并可能依赖于库模块,虽然很多Android应用程序只包含一个应用程序的模块。构建系统生成APK包,为应用模块。

Dependencies 依赖关系


Android Studio生成系统管理项目的依赖和支持模块依赖关系,局部二进制依赖,以及远程二进制依赖。

模块依赖关系
一个项目模块可以在构建文件中包括的其它模块的列表它依赖于。当你建立这个模块,构建系统组装,包括所需要的模块。

本地依赖性
如果你有二进制存档在你的本地文件系统中的一个模块依赖于,例如JAR文件,你可以在构建文件中该模块声明这些依赖关系。

远程依赖性
当你的一些依赖关系都可以在一个远程存储库,您不必下载它们,并将它们复制到您的项目。而Android工作室打造的系统支持远程的Maven的依赖关系。的Maven是一个受欢迎的软件项目管理工具,可帮助使用库组织项目的依赖关系。


许多流行的软件库和工具都可以在公共Maven仓库。对于这些依赖项,您只需要指定自己的Maven坐标,它唯一标识一个远程存储库中的每个元素。在构建系统中使用的Maven坐标的格式是组:名称:版本。例如,Maven的坐标为谷歌番石榴库16.0.1版本是 com.google.guava:番石榴:16.0.1。
在Maven的中央存储库,广泛用于分发很多库和工具。


Build Tasks

Android Studio生成系统定义了一系列分层的构建任务:
顶级任务:用于产生必要的结果的任务。
构建系统提供项目任务:构建您的应用程序和模块的任务,以建立独立的模块。

Gradle Wrapper

Android Studio项目包含的Gradle Wrapper由以下构成:
A JAR file
A properties file
A shell script for Windows platforms
A shell script for Mac and Linux platforms

Note:你应该提交以上所有的文件到资源控制系统。
使用Gradle wrapper(而不是本地Gradle安装),确保您始终运行的Gradle在属性文件中定义的版本。要配置您的项目使用Gradle较新版本,
编辑属性文件并指定新的版本。

Android Studio 会从Gradle Wrapper目录下读取你的配置文件,然后运行改wrapper,因此你可以根据不同版本的Gradle无缝的处理多个项目
Android Studio 不支持Shell脚本,因此你应该在Gradle文件中定义自定义的逻辑来替代。
ps: http://blog.csdn.net/xushuaic/article/details/26097663

更多相关文章

  1. Android高频面试专题 - 基础篇(四)BroadcastReceiver
  2. Android(安卓)2.2 SDK操作系统界面截屏抢先看
  3. android手机文件后缀揭秘
  4. Android(安卓)进程保活招式大全
  5. Android(安卓)4.1.2系统添加重启功能
  6. 关于build-tools 26.0.0报错解决及Neon3 2017版本android解决
  7. Android系统给第三方app签名流程
  8. Project Ara 开发者大会后的进展
  9. GitHub上优秀Android(安卓)开源项目

随机推荐

  1. Android中文件与文件夹的创建(file)
  2. Android开机动画之开机bootvideo与bootan
  3. android popupwindow 动画 特效 案例
  4. EditText的属性说明
  5. android之微信分享图片
  6. Android(安卓)简单通用的基类
  7. Android(安卓)Studio 中的maven仓库使用
  8. Android三种网络通讯机制介绍及区别
  9. Android高仿360安全卫士--布局篇
  10. Android(安卓)OKHTTP3.4版本封装