您的位置:首页 > 其它

Gradle参数话构建项目

2017-02-20 18:14 218 查看

Gradle支持三种Properties, 这三种Properties的作用域和初始化阶段都不一样,下面分别列出了其部分特点:

System Properties:

可通过gradle.properties文件,环境变量或命令行-D参数设置 2. 可在setting.gradle或build.gradle中动态修改,在setting.gradle中的修改对buildscript block可见;所有工程可见,不建议在build.gradle中修改多子工程项目中,子工程的gradle.properties会被忽略掉,只有root工程的gradle.properties有效;

列表内容

Project Properties:

可通过gradle.properties文件,环境变量或命令行-P参数设置,优先级是:

可在build.gradle中动态修改,但引用不存在的project properties会立即抛错

动态修改过的project properties在buildscript block中不可见

Project ext properties:

可在项目的build.gradle中声明和使用,本工程和子工程可见

不能在setting.gradle中访问

如果有多处设置,加载次序如下(注意:gradle 2.0是这样的, 1.10~1.12有bug), 后面的覆盖前面的设置

* from gradle.properties located in project build dir.

* from gradle.properties located in gradle user home.

* from system properties, e.g. when -Dsome.property is used in the command line.

* setting.gradle

* build.gradle

根据其特点,这里给出一个使用System Properties来解决问题的方案。

首先在setting.gradle中定义一个变量,然后在gradle.setting控制打包中使用该变量,通过命令行打包时,即可传入该变量 gradle assembleRelease -Dparm=path
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息