问题:

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

解决方案:

使用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文件,命令行,这几种方式实现所需要的。

Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.1——设置项目参数的更多相关文章

  1. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.5——在项目中共享配置

    问题: 取出多个模块下相同的配置 解决方案: 在顶级gradle配置文件里面使用allprojects或者subprojects块 讨论: 当你在android studio中新建android项目时 ...

  2. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.2——设置Flavors和Variants

    问题: 需要构建大体上一样,但是使用不同资源或者类的应用. 解决方案: 产品的flavors可以帮助你对同一个app创建不同的版本. 讨论: build types是开发过程的一部分,一般用来将app ...

  3. Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)

    如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...

  4. Android开发工具全面转向Android Studio(2)——AS project/module的CRUD

    本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...

  5. 配置cordova的android开发环境(无android studio)

    原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...

  6. 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。

    AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...

  7. Eclipse搭建Android开发环境并运行Android项目

    Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...

  8. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档

    问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...

  9. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.1——推荐配置

    问题: 你想要提高Gradle的构建效率. 解决方案: 使用下面推荐的技术组合. 讨论: 首先,这里没有可以影响app表现的建议.有很多你可以做的事来提高app,很多都和Android的混淆工具有关. ...

随机推荐

  1. git学习——远程仓库操作

    查看当前的远程库——git remote 列出了仅仅是远程库的简单名字 可以加上-v 现实对应的克隆地址 添加远程仓库——git remote add [shortname] [url] git re ...

  2. Spring集成Jersey开发(附demo)

    下文将会初步介绍如何在Spring中集成Jersey,并附简单的demo 所依赖的技术版本: Jersey 1.8 Spring 3.0.5.RELEASE 1. 项目依赖 pom.xml定义(注意去 ...

  3. lua类库 middleclass学习笔记

    middleclass使在lua中面象对象变的简单 抄了一遍他的示例代码运行着试了试,基本懂了 local class = require 'middleclass' --类的继承 Person = ...

  4. webview漏洞 -转

    原文链接:http://www.cnblogs.com/goodhacker/p/3343837.html 一.漏洞描述 近期,微信等多款安卓流行应用曝出高危挂马漏洞:只要点击好友消息或朋友圈中的一条 ...

  5. MySQL学习总结(一)下载与安装

    关于数据库这块平时用的也就是Oracle和SQL Server,关于别的数据库也就是耳闻,但从没有用过.所以,最近一直都在学习使用MySQL数据库,这个教程也是通过记录博客,增加学习的印象. 关于My ...

  6. should + mocha 搭建简单的单元测试环境

    快速搭建测试环境,详细用法请百度和访问两者的github mocha: http://mochajs.org/ should: https://github.com/shouldjs/should.j ...

  7. 下载The Swift Programming Language.mobi版

    下载 The Swift Programming Language.mobi 下载 http://download.csdn.net/detail/swifttrain/7444501

  8. Docker经常使用命令

    Usage: docker [OPTIONS] COMMAND [arg...]  -H=[unix:///var/run/docker.sock]: tcp://host:port to bind/ ...

  9. 美团HD(8)-利用NSPredicate匹配搜索结果

    监听文本框改变: DJSelectCityViewController.m /** 当searchBar内的文字发生改变时调用此方法 */ - (void)searchBar:(UISearchBar ...

  10. 获取CPU个数

    PROCESSER=`grep 'processor' /proc/cpuinfo | wc -l` JOBSS=$[$PROCESSER*2]