gradle

Introduction to gradle for Android Studio

refs: https://www.studytonight.com/android/introduction-to-gradle

Android Studio 中,gradle 是一个用来构建安卓应用的工具。在最开始,编译和构建应用是在命令行中执行,后来在 Eclipse 中出现了图形界面的编译工具 ANT,它能够编译源代码、外部库并把它们合并在一起,最终生成 apk 文件。

Gradle 是用在 android studio 中的构建工具,它能够进行编译、测试、部署的操作,并把代码转换成 .dex 文件,然后在设备中运行应用程序。

现在的 android studio 中预安装了gradle,所以程序员不需要再安装额外的运行时软件来构建工程。当点击 Run 按钮时,会触发一个 gradle 任务进行构建项目,然后应用程序会在 AVD 中或设备中运行。

Gradle 不是编译器或连接器,但它控制并监督编译、连接、运行测试用例的操作,并最终把代码打包到一个 apk 文件中。

每个 android studio 工程有两个 build.gradle 文件,一个是给应用程序用的,另一个是给工程级(或模块级)构建文件用的。

构建过程流程图:

在构建过程中,编译器把源代码、资源文件、外部jar包和 AndroidManifest.xml (包含应用程序的元数据(meta-data))结合起来,转成一些 .dex (Dalvik Executable files, 包含一些字节码文件) 文件。这些字节码文件能够被任何 android 设备运行。然后 apk管理器 把这些 .dex 文件和其他资源文件合并成一个 apk 文件。apk 打包器 会根据运行时使用的 debug 还是 release 按钮对 apk 文件进行标记。

Debug apk 通常是用来测试或只在部署阶段使用。Release apk 是为正式发布所用。

setting.gradle:
指定 app 中的所有模块。

build.gradle (工程级):
顶级 build.gradle 文件是工程级构建文件,定义了工程级的构建配置。它的配置参数所有模块共用。
build.gradle (应用程序级):
每个模块中的 build.gradle 文件。这个文件包含了各个模块的包的名字,并用 applicationID 标记。还包括各个模块的 版本名 (apk 版本),版本代码,最小sdk和目标sdk,当使用外部依赖包时(不是jar包),你需要在应用程序级的 gradle 文件中引入

从命令行构建项目:

./gradlew Build         # build project
./gradlew clean build   # build project complete scratch
./gradlew clean build   # run the test
./gradlew wrapper       # see all the available tasks
原文地址:https://www.cnblogs.com/minding/p/13044836.html