之前我们打包签名的方式都是手动操作Build>Generate Signed Apk的方式去做,可是如果渠道包是十多个或者几十个的话这个手动操作就有点太浪费时间了,今天我们学习怎么用Gradle去配置一个自动化的打包脚本。
- 配置签名文件
signingConfigs {
we {
storeFile file("we_sign.keystore")
storePassword "maiqi160909"
keyAlias "maiqi"
keyPassword "maiqi160909"
}
}
- 配置productFlavors(产品风格)productFlavors下面可以配置我们想要的渠道名
productFlavors {
qihu {
buildConfigField("boolean", "XS", "true")
}
xiaomi {
buildConfigField("boolean", "XS", "false")
}
appf{
buildConfigField("boolean", "XS", "false")
}
}
buildConfigField这个是配置字段 (类型,keu,value) 配置完后会在BuildConfig根据Flavors生产相应的字段,这种方式的好处在于,如果某些代码的逻辑是根据不同Flavors来实现的,那么我们就可以根据这个Flavors里面的值去做一些判断。 比较典型的例子有打开log的开关、是不是线上版本、测试服和正式服的地址。
- 自动build打包
配置完后下面我们就可以通过gradlew 命令来进行自动打包了,如果没有当前版本就是自动下载。
gradlew build build全部Flavors的debug和Release包。 build/outputs/apk下面
gradlew assemblexiaomiRelease build小米的Release包
gradlew assemblexiaomiDeubg build小米的Debug包
gradlew assembleRelease build全部Flavors的Release包
gradlew installRelease Release模式打包并安装
gradlew uninstallRelease 卸载Release模式包