问题:

开发的时候经常需要向项目中添加一些额外的参数或者硬编码的值。

解决方案:

使用ext块设置公用的值。如果需要从build文件中移除这些值,可以将参数放到gradle.properties文件中,或者在命令行下使用-P设置参数。

详细:

Gradle文件支持使用简单的ext(ext代表extra)语法定义参数。这样可以定义一次变量,在整个文件中使用它。

你可以将参数值硬编码到build文件。如:

Groovy风格被应用在这里,意味着AAVersion没有类型,在赋值的时候使用字符串,并且插入到两个Groovy字符串中。

使用def关键字意味着在当前文件中这是一个本地变量。如果定义参数的时候没有使用def(或者使用其他类型),这个变量是对应于整个项目,即在它的任何子项目中都可以使用这个参数。

如果希望将实际的参数值从build文件中移除?考虑一种情况,使用maven仓库的时候需要登录验证,如:这是硬编码的

你不必再build文件中记录实际的username和password值。你可以将他们写入根目录下的gradle.properties文件中,如

这样credentials块里面的值可以用变量代替,如:

你也可以在命令行下使用-P设置参数,如:

如果你使用多种方式设置参数,可以使用下面的方法:

执行printProperties任务可以心事ext块下的变量。

如果是参数是在gradle.properties文件中定义,结果有点不同:

参数可以通过命令行的方式设置(优先级最高)。

你可以通过,extras块,properties文件,命令行,这几种方式实现所需要的。

最新文章

  1. 浅谈WEB安全性(前端向)
  2. 4、解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制
  3. Ulink2 "No Ulink Device found" 解决办法
  4. android 获取设备拔插状态广播事件易漏掉的一行属性!
  5. Atitit 控制中心快速启动面板quick launcher
  6. c中的函数
  7. 【测试】DG的主切备,备切主
  8. HDU_2553——n皇后问题,作弊
  9. Jetty:配置安全
  10. C语言程序设计课程设计自查表格
  11. UVa225,Golygons
  12. Erlang Port 小心换行
  13. 从零学习Fluter(七):Flutter打包apk详解
  14. 在运行create_list.sh时候报错:AttributeError: 'module' object has no attribute 'LabelMap'
  15. vue+webpack+vue-cli+WebStrom 项目搭建
  16. FreeMarker快速入门
  17. 使用SVD方法实现电影推荐系统
  18. docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置
  19. PAT——1075. 链表元素分类(25)
  20. Vue学习—组件的学习

热门文章

  1. python实现word2vec训练结果bin文件转txt文件
  2. 淘宝JAVA中间件Diamond
  3. 用C++实现Huffman文件编码和解码(2 总结)
  4. $ 和getElementId的区别 / 一个jquery对象的原型
  5. JavaScript操作dom总结
  6. 【原】Ubuntu下使用teamviewer
  7. 解决Odoo访问fonts.googleapis.com导致速度慢的问题
  8. 【Java】Java_05 标识符与字符集
  9. mongoDB _id:ObjectId("xxxx")详解
  10. mongoDB 高级查询之取模查询$mod