Gradle构建工具

定义

Gradle是基于JVM的新一代 构建工具

使用场景

开发软件时,用IDE去进行编码,当编码完成后,必须要进行编译,单元测试,打包等。这些需要开发人员手动实现。当版本迭代时,十分耗时且易出问题。这是项目自动化就出现了。

优势

1.节省时间及手动出现的错误
2.可编译,测试,打包等有序工作
3.与IDE和操作系统没有直接关系,具有平台无关性

ADT,ANT,Gradle

ADT : android 开发工具包,集成在eclipse中后,可以为Android提供开发环境,在Eclipse和SDK中起桥梁作用,Android Studio取代了ADT
ANT:  Apache的项目管理工具,最早的构建工具。基于IDEA,是java的构建工具(使用XML脚本),构建Tomcat
Gradle: 使用groovy作为build脚本,比xml易读易用

APK构建(没有使用构建工具之前)

Dex是很多.class文件处理后的产物,可以在Android环境下运行

 - 打包res资源文件(mainfest.xml和xml布局等),并将xml编译为二进制,其中assets和raw不会被编译成二进制,最终生成R.java和resource.arsc文件
 - AIDL工具将AIDL接口转换为对应的java接口
 - 所有java文件(包含R.java)会被编译成.class文件
 - Dex工具将.class文件编译出.dex文件
 - .dex文件,编译过的资源文件,无需编译的资源(eg:图片)会被APK Builder工具打包成apk文件
 - 通过keystore签名
 - 使用zipalign工具做对齐操作,减少内存开销

Gradle集成内容

 - Ant:可添加第三方库
 - Gant:Groovy的DSL,eg: dependencies{ 第三方框架   }
 - Maven:依赖管理,一旦第三方框架下载完成,就会存储在本地缓存,就可以使用了
 - Gradle Wrapper:版本兼容处理

如何引入Gradle

  • 引入android gradle插件版本,项目的build.gradle,
dependencies {
        classpath 'com.android.tools.build:gradle:2.2.1'
        }
  • gradle文件夹里面的gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
### Gradle 构建工具的功能与使用说明 #### 工具概述 Gradle 是一种强大的自动化构建工具,广泛应用于 JavaAndroid 开发领域。它通过声明式的配置文件 `build.gradle` 或 `build.gradle.kts` 定义项目的依赖关系和构建逻辑[^1]。 #### 配置依赖项 在 Gradle 中,可以通过定义依赖项的方式引入外部库。例如,在子模块的 `build.gradle` 文件中,可以这样指定 Hutool Core 库作为依赖项: ```groovy dependencies { implementation(libs.hutool.core) } ``` 此方法允许开发者轻松管理不同版本的库,并确保一致性。 #### 常用命令 Gradle 提供了一系列内置命令用于执行各种构建任务。以下是几个常见的例子: - 列出所有可用的任务: ```bash ./gradlew tasks ``` - 编译并打包所有构建变体的 APK 文件: ```bash ./gradlew assemble ``` - 编译并打包调试版 APK 文件: ```bash ./gradlew assembleDebug ``` - 编译、打包并安装调试版 APK 文件到设备: ```bash ./gradlew installDebug ``` - 清除项目的构建输出: ```bash ./gradlew clean ``` 这些命令简化了开发流程中的许多重复操作,提高了效率[^2]。 #### 配置文件格式 Gradle 支持两种主要的脚本编写方式——Groovy DSL 和 Kotlin DSL。尽管官方文档可能更倾向于展示 `.kts` 格式的内容,但实际上两者功能完全一致。如果遇到 `.gradle.kts` 的示例而实际使用的却是 Groovy 脚本(即 `.gradle`),可以直接转换语法结构而不影响其语义[^3]。 #### Android 插件特性 对于 Android 平台而言,Android Gradle Plugin (AGP) 将更多特定于移动应用开发的需求融入其中,比如资源处理、APK 打包以及 ProGuard/Dexguard 混淆支持等功能均已无缝集成至标准工作流之中[^4]。 --- ### 示例代码片段 下面是一个简单的 `build.gradle` 文件模板,展示了如何设置基本属性及添加第三方库: ```groovy plugins { id 'com.android.application' } android { compileSdkVersion 30 defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" } } dependencies { implementation 'org.apache.commons:commons-lang3:3.9' // 添加 Apache Commons Lang 库 } ``` 上述代码设置了目标 SDK 版本、默认配置选项,并加入了一个开源组件作为项目的一部分。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值