Android的Gradle技巧 1.1 Gradle在Android中构建文件

本文介绍如何使用Gradle构建Android项目,包括构建文件结构、依赖管理及插件配置等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android的Gradle技巧 掌握Android的新构建系统

Android的Gradle基础
Android应用程序是使用开源Gradle构建系统构建的。 Gradle是一个最先进的API,轻松支持自定义,并广泛应用于Java世界。 Gradle的Android插件增加了针对Android应用程序的各种功能,包括构建类型,风格,签名配置,库项目等。

1.1 Gradle在Android中构建文件
问题
您想要了解为新的Android应用程序生成的Gradle构建文件。

使用Android Studio创建一个新的Android项目,并查看文件settings.gradle,build.gradle和app / build.gradle。
讨论
Android Studio是Android项目唯一官方支持的IDE。要使用Android Studio创建新的Android项目,请使用“开始新的Android Studio项目”向导(图1-1)。


图1-1。 Android Studio快速入门
向导将提示您输入项目名称和域。您可以使用快速启动向导在oreilly.com域中启动一个名为My Android App的新Android Studio项目,如图1-2所示。
从这里,只选择“手机和平板电脑”选项,并添加一个默认名称为MainActivity的空白活动。
活动的名称和类型不影响Gradle构建文件。
在“Android”模式下生成的“项目”视图如图1-3所示,其中相关的Gradle文件被突出显示。


图1-2。创建新项目向导


图1-3。项目结构(Android视图)
默认(项目)视图中的项目布局如图1-4所示。


图1-4。项目结构(项目视图)
Android项目是多项目Gradle构建。 settings.gradle文件显示哪些子目录包含其自己的子项目。默认文件内容如示例1-1所示。
实施例1-1。 settings.gradle
include':app'
include语句指示app子目录是唯一的附加子项目。如果您添加Android库项目,它也将被添加到此文件。
顶级Gradle构建文件在示例1-2中。
实例1-2。顶级build.gradle文件

// Top-level build file where you can add configuration options
// common to all subprojects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
默认情况下,Gradle分发不包括Android功能。 Google为Gradle提供了一个Android插件,可轻松配置Android项目。顶层构建文件中的buildscript块会告诉Gradle在哪里下载该插件。
如您所见,默认情况下,插件是从jcenter下载的,这意味着Bintray JCenter Artifactory存储库。支持其他存储库(特别是mavenCentral(),默认Maven存储库),但JCenter现在是默认的。来自JCenter的所有内容都通过具有安全HTTPS连接的CDN提供。它也往往更快。
allprojects部分指示顶层项目和任何子项目都默认使用jcenter()存储库来解析任何Java库依赖项。
Gradle允许您定义自己的任务,并将它们插入到有向无环图(DAG)中,Gradle用它来解析任务关系。这里,一个干净的任务已经添加到顶级构建。类型:删除部件表示新任务是从Gradle中创建的内置删除任务的自定义实例。在这种情况下,任务从根项目中删除构建目录,默认为顶层的构建文件夹。
应用程序子项目的Gradle构建文件如示例1-3所示。
实例1-3。应用程序子项目的Gradle构建文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.kousenit.myandroidapp"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
}

Gradle中的应用功能将Android插件添加到构建系统,这将启用Android部分域特定语言(DSL)配置。
本节在配方1.2中详细讨论。
依赖块由三行组成。第一个,fileTree依赖,意味着在libs文件夹中以.jar结尾的所有文件都被添加到编译类路径。
第二行告诉Gradle下载JUnit的4.12版本并将其添加到“测试编译”阶段,这意味着JUnit类将在src / androidTest / java源代码树中可用,以及(可选)src / test / java树,可以添加纯单元测试(即那些不涉及Android API)。
第三行告诉Gradle从Android支持库中添加版本23.3.0的appcompat-v7 jar文件。注意,-v7意味着支持Android应用程序回到版本7的Android,而不是版本7的支持库本身。支持库作为编译依赖项列出,因此其所有类在整个项目中可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值