Gradle脚本打包Android项目及相关配置

Gradle脚本打包Android项目及相关配置

本文简单介绍gradle,然后说明如何使用gradle脚本打包AndroidStudio工程,主要是用于脚本自动化构建,比如用在Jenkins自动打包Android项目时。
核心shell脚本./gradlew assembleRelease

什么是gradle

Gradle是一个开源的自动化构建工具,专注于灵活性和性能。它使用一种基于GroovyKotlin的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
官网:https://gradle.org/
常用场景:Android Studio

DSL(Domain Specified Language)领域专用语言。
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。官网:http://www.groovy-lang.org/
Kotlin科特林是一个用于现代多平台应用的静态编程语言,由JetBrains开发。Kotlin已正式成为Android官方支持开发语言。官网:https://kotlinlang.org/ 中文官网:https://www.kotlincn.net/

对比Ant

相对现在Android Studio默认使用的Gradle,早期的Eclipse+ADT是通过Ant进行Android打包,而其设置方式是通过XML实现的。

gradle配置参考文档

这方面文档很多,引用一下他人的
Android:Gradle 通用配置
史上最全Android build.gradle配置详解

使用IDE打包Android工程

使用Android Studio,直接Build -> Make Project 则运行gradle配置进行打包了。

使用gradle脚本打包Android工程

这通常需要先安装全局的gradle,然后配置环境变量。之后直接运行gradle assembleDebug或者gradle assembleRelease就可以打包了。实际打包结果取决于你所安装的Gradle版本,这和使用AndroidStudio菜单操作的打包结果可能不同。
windows下全局环境变量设置
打开环境变量管理,设置全局环境变量GRADLE_HOME为gradle安装位置,例如c:/gradle/gradle-4.10.3
设置path,添加%GRADLE_HOME%%GRADLE_HOME%/bin

使用gradlew打包无需配置环境变量

gradlew实际上是gradle的一个包装warpper,使用Android Studio时会自动生成对应的gradlew文件,gradle文件夹,
也可以手动在命令行运行gradle wrapper得到这些文件。
在这里插入图片描述
而文件gradle-wrapper.properties包含了相关配置,通常如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

此时可以通过运行以下脚本进行打包。
./gradlew assembleDebug
./gradlew assembleRelease
注意windows下最好使用cmder或者类似的可以运行shell脚本的工具。
其打包效果,与直接使用AndroidStudio相同,默认情况下,是无签名的release包,希望自动增加签名需要如下配置。

给release打包配置签名

如何签名:Gradle签名打包及Cordova签名打包Android

生成JKS文件参考:android signingConfigs打包配置

cordova打包时签名

cordova打包时,不要修改build文件,在android根目录下增加文件release-signing.properties,内容如下:

storeFile=./xxx.jks
storePassword=zzz
keyAlias=xxx
keyPassword=yyy

相关资料

知乎:如何通俗地理解 Gradle?
CSDN:ant 脚本编写
Runoob: 1.2.1 使用Eclipse + ADT + SDK开发Android APP
CNBlogs: 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
CNBlogs: Android Ant 和 Gradle 打包流程和效率对照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值