写在前面;
Gradle是谷歌钦定的android项目构建工具。熟练使用gradle可以实现很多骚操作,比如多渠道打包,指定打包文件路径和文件名等,而且实现方式不止一种。Gradle工具的编程语言叫做 Groovy, Groovy的语法相对宽松,有点类似javascript,怎么写的人都有,但是最终目标可能是一致的。
本文收录一些Gradle骚操作供大家分享,经本人验证可行,会提供完整Demo(Gradle会存在新旧版本兼容问题,运行demo不要改动gradle版本配置):
Demo地址:https://github.com/18598925736/EnjoyGradleHank/commits/master
配置buildTypes{ xxx } 自定义"构建类型“
...
android {
...
// 配置签名文件
signingConfigs {
debug {
// 这里会使用默认签名
}
release {
storeFile file("mykey.jks")
storePassword "android"
keyAlias "android"
keyPassword "android"
v2SigningEnabled true
}
}
//level 1: 打包方式,默认有debug和release,当然可以自己加喜欢的
buildTypes {
//内置 debug 和 release,但是我们可以忽略不计
uat {
// 测试环境可调试
debuggable true
signingConfig signingConfigs.release
}
prd {
// 正式环境 可调式
debuggable true
signingConfig signingConfigs.release
}
online {
// 正式发布包 不可调试
debuggable false
signingConfig signingConfigs.release
}
}
}
dependencies {
...
}
关键点:
- 配置buildTypes之前,必须 配signingConfigs,把签名文件配好,否则,就会出现 install Task缺失的情况
- buildTypes里面默认就有 debug和release,这一点在as里面可以看到,下图中另外3个是我们自己加的type:
- 通过指定的buildType打包出来的apk,可以读到 当前包的buildType,并且用于app程序内部,比如配置app的网络环境