正文
-
代码和资源易于重用
-
无论是针对多个apk发行版还是针对不同风格的应用程序,都可以很容易创建应用程序的多个不同版本。
-
易于配置、扩展和自定义构建过程
-
良好的IDE集成
Gradle的Android插件结合Android Studio成为了目前最为流行的Android构建系统。
2. Android Studio的模块类型和项目视图
Android Studio中的每个项目包含一个或多个含有源代码文件和资源文件的模块,这些模块可以独立构建、测试或调试,一个Android Studio的模块类型可以有以下几种:
Android应用程序模块
Android应用程序模块可能依赖于库模块,尽管许多Android应用程序只包含一个应用程序模块,构建系统会将其生成一个APK。
Android 库模块
Android库模块包含可重用的特定于Android的代码和资源,构建系统会将其生成一个AAR。
App 引擎模块
包含应用程序引擎集成的代码和资源。
Java 库模块
包含可重用的代码,构建系统会将其生成一个JAR包。
Android Studio3.3.2 中的Android项目视图如下所示。
所有构建文件在 Gradle Scripts 层级下显示,大概介绍下这些文件的用处。
-
项目build.gradle:配置项目的整体属性,比如指定使用的代码仓库、依赖的Gradle插件版本等等。
-
模块build.gradle:配置当前Module的编译参数。
-
gradle-wrapper.properites:配置Gradle Wrapper,可以查看
Gradle核心思想(四)看似无用,实则重要的Gradle Wrapper
这篇文章。
-
gradle.properties:配置Gradle的编译参数。具体配置见
Gradle官方文档
-
settings.gradle:配置Gradle的多项目管理。
-
local.properties:一般用来存放该Android项目的私有属性配置,比如Android项目的SDK路径。
这篇文章主要介绍项目build.gradle和模块build.gradle。
3.项目build.gradle
我们新建一个Android项目,它的项目build.gradle的内容如下:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
复制代码
注释1处配置依赖的Gradle插件版本,Gradle插件属于第三方插件,因此这里在buildscrip块中配置谷歌的Maven库和JCenter库,这样Gradle系统才能找到对应的Gradle插件。
如果使用
google()
报
not found: 'google()'
错误,可以用如下代码替代:
maven { url 'https://maven.google.com' }
复制代码
如果你还不理解Gradle插件,可以查看
Gradle核心思想(五)通俗易懂的Gradle插件讲解
这篇文章。
4.模块build.gradle
新建一个Android项目,它的模块build.gradle的内容如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"