【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