在Android Studio中,可以通过菜单栏“File->Setting->Build,Execution,Deployment->Gradle”来配置Gradle,如图1所示。
图1 通过菜单栏配置Gradle
从图1中可以看出,配置Gradle的界面主要分为四部分。
1 Linked Gradle projects
Linked Gradle projects表示和要配置的Gradle相关联的项目,从下面列表中可以看出,就是创建的MyApplication这个项目。
2 Project-level settings
Project-level settings表示项目级别的设置,包含了四个部分的内容。
2.1 Group modules
Group modules表示模块分组,将模块进行分组,有利于模块的显示与管理。该选项选择模块分组的方式,分别是“using explicit module groups”和“using qualified names”。
2.1.1 using explicit module groups
using explicit module groups表示使用明确的模块分组,选中该选项后,可以手动对模块进行分组,手动完成为模块分组命名以及在模块分组中加入模块等动作。
2.1.2 using qualified names
using qualified names表示使用限定名,选中该选项之后,Android Studio会根据模块的限定名进行自动分组。
相关链接1 限定名是注明了命名空间的节点名字,包括命名空间和本地名。
2.2 Store generated project files externally
Store generated project files externally的意思是在外部存储生成的项目文件。当选中该项之后,不会在.idea文件夹中产生.iml文件和库文件,这样就可以版本控制来共享项目。
相关链接2 .idea文件夹,是Android Studio/IntelliJ IDEA工程打开后生成的工作环境配置文件夹。
相关链接3 iml文件,是IntelliJ IDEA Module文件的简称,是IntelliJ IDEA的工程配置文件,缺少该文件时,IDEA无法识别项目。
2.3 设置Gradle Wrapper的读取方式
Use default gradle wrapper(recommended)和Use local gradle distribution是Android Studio启动时,读取Gradle Wrapper的两种方式。
2.3.1 Use default gradle wrapper(recommended)
Use default gradle wrapper(recommended)表示使用默认的方式读取Gradle Wrapper,这也是Android Studio推荐的读取方式。默认情况下,Gradle Wrapper保存在~/.gradle/wrapper/dists中,使用该种方式读取Gradle Wrapper时,首先去默认的路径中读取,如果不存在,则在gradle_wrapper.properties文件中指定的网址上下载后保存在默认路径中进行读取。
2.3.2 Use local gradle distribution
Use local gradle distribution表示使用本地保存的Gradle Wrapper。选中该选项后,还需要设置该选项下面的Gradle home,即Android Studio启动时,将会去Gradle home指定的路径读取Gradle Wrapper。
相关链接4 Gradle Wrapper,是Gradle 的包装,通过读取Gradle配置文件,为每个项目自动下载和配置Gradle。
3 Global Gradle settings
图1中的第三部分是Global Gradle settings,即全局的Gradle设置,包含两个设置Offline work和Service directory path。
3.1 Offline work
在使用Gradle Wrapper下载了Gradle后,Gradle会读取工程的build.gradle文件,根据文件中的配置下载Android Plugin for Gradle(Gradle插件),并保存在~/.gradle/caches/modules-2/files-2.1/com.android.tools.build中。当选中Offline work选项后,Android Studio会直接去上述文件夹中读取Gradle插件文件。
3.2 Service directory path
通过Service directory path可以指定Gradle插件的位置,需要注意的是该项与“3.1 Offline work”没有关联。