拷贝的问题:这个感觉设计的没什么区别,不知道是bug还是什么,反正下面的是规律
这个就是copy不会强制覆盖(原来这个是 文本 有变化才会覆盖,没有变化 不会覆盖)
task copyMapping(type: Copy) { from "${project.buildDir}/outputs/mapping/release/mapping.txt" into "${project.rootDir}/bin" }
这种方式就会强制覆盖
task copyMapping(type: Copy) { from "${project.buildDir}/outputs/mapping/release/" into "${project.rootDir}/bin" include "**/mapping.txt" }
在某个task中执行其他task
task a{
tasks.copyApk.execute() tasks.copyMapping.execute()}依赖关系assembleRelease.doLast { tasks.copyApk.execute() tasks.copyMapping.execute() } assembleRelease.dependsOn(replace)判断某个变量是否声明更多内容:http://www.kancloud.cn/digest/itfootball-gradle/105808if(project.hasProperty('gradleConfig')){
} else {}替换java文件中的一些值task replaceEnvConfig(type: Copy) { if ((project.hasProperty('gradleConfig'))) { def configHome = "${project.rootDir}/config" from(configHome) { include 'EnvConfig.java' filter org.apache.tools.ant.filters.ReplaceTokens, tokens: gradleConfig } into "${project.rootDir}/src/com/szzc/ucar/envconfig/" } }