【gradle】- Android Gradle技巧总结

简介

本篇文章,主要记录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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在需要多渠道打包时,我们手动打包费时费力,于是我们需要这样一个脚本,只需双击便可在我们指定的路径下产出我们需要的所...
    分外清扬阅读 6,268评论 0 0
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoyanj...
    勤奋的pangdunhu阅读 6,440评论 0 1
  • Gradle配置最佳实践 本文会不定期更新,推荐watch下项目。如果喜欢请star,如果觉得有纰漏请提交issu...
    Solang阅读 5,628评论 0 4
  • 什么是 Gradle ? 所谓构建工具就是对你的项目进行编译、运行、签名、打包、依赖管理等一系列功能的合集,传统的...
    方子晗阅读 3,593评论 0 0
  • 微风,吹过苍茫的山峦 轻轻,拂过微蹙的眉弯 陌上的花开出艳丽的色彩 构成心形的期盼 三生石畔上是否刻了你我的名字 ...
    8一花一世界阅读 3,717评论 0 3

友情链接更多精彩内容