【gradle】- Android Gradle技巧总结

作者: 拔萝卜占坑 | 来源:发表于2019-11-27 11:21 被阅读0次

简介

本篇文章,主要记录Android Gradle常用的使用方法,以及一些配置。

日志

task pdsTest{
    println("kotlin_version=$kotlin_version")
    logger.debug("kotlin_version=$kotlin_version")
}

用logger需要指定打印日志级别,日志级别参考:Choosing a log level.

配置日志级别方法:

  1. 添加任务执行参数:


    屏幕快照 2019-11-26 下午5.04.39.png
  2. gradle.properties配置
    可以配置的选项参考:Build Environment
org.gradle.logging.level=(quiet,warn,lifecycle,info,debug)

app module访问gradle.properties属性

 println("properties=${project.properties['GLIF']}")

GLIF是属性名,可以是自定义的。

签名

出于安全考虑,将签名信息放到文件中。

  1. 创建用于存储签名信息的signing.properties文件

    STORE_FILE=../pds.keystore
    STORE_PASSWORD=pds
    KEY_ALIAS=pds
    KEY_PASSWORD=pds
    

    解析.properties文件,gradle提供了Properties类支持。

    File propFile = file('signing.properties')
    if (propFile.exists()) {
          Properties props = new Properties()
          props.load(new FileInputStream(propFile))
          if (props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
                        props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
              android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
              android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
              android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
              android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
                } else {
                    android.buildTypes.release.signingConfig = null
                }
            } else {
                android.buildTypes.release.signingConfig = null
            }
    

Project

里面定义很多工程全局属性对象,以及gradle执行生命周期方法。里面有详细的注释,请自行查看,文档可以参考:Interface Project

在 app module build.gradle中通过project变量来获取其它属性对象。比如上面gradle.properties数据内容。

在我们进行gradle插件开发时,可以将project作为参数传入,这样可以获取工程配置信息。

dependencies依赖

参考:Interface DependencyHandler

gradle任务

参考:Developing Custom Gradle Task Types

相关文章

网友评论

    本文标题:【gradle】- Android Gradle技巧总结

    本文链接:https://www.haomeiwen.com/subject/hmfywctx.html