Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android gradle未执行复制文件的任务_Android_Gradle_Android Gradle Plugin - Fatal编程技术网

Android gradle未执行复制文件的任务

Android gradle未执行复制文件的任务,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我在build.gradle中使用以下代码,为飞艇复制不同的配置文件。但是,我发现没有调用我的任务copyReleaseConfigFileTask/copyDebugConfigFileTask。有人能给我一些提示,为什么我在下面定义的任务没有得到执行 task copyReleaseConfigFileTask(type: Copy) << { println "-> using airship release config" from 'app/src/m

我在
build.gradle
中使用以下代码,为飞艇复制不同的配置文件。但是,我发现没有调用我的任务
copyReleaseConfigFileTask
/
copyDebugConfigFileTask
。有人能给我一些提示,为什么我在下面定义的任务没有得到执行

task copyReleaseConfigFileTask(type: Copy) << {
    println "-> using airship release config"
    from 'app/src/main/assets/airshipconfig.properties.release'
    into 'app/src/main/assets/airshipconfig.properties'
}

task copyDebugConfigFileTask(type: Copy) << {
    println "-> using airship debug config"
    from 'app/src/main/assets/airshipconfig.properties.debug'
    into 'app/src/main/assets/airshipconfig.properties'
}

assembleDebug {
    dependsOn copyDebugConfigFileTask
}

assembleRelease {
    dependsOn copyReleaseConfigFileTask
}

task copyReleaseConfigFileTask(type:Copy)首先,您没有正确配置任务。您已经尝试在执行阶段进行CopySpecification配置,尽管它必须在配置阶段完成。要实现这一点,您必须删除
,首先,您没有正确配置任务。您已经尝试在执行阶段进行CopySpecification配置,尽管它必须在配置阶段完成。要实现这一点,您必须删除
,如果执行您建议的更改,我的任务根本无法执行。我没有看到消息,也没有复制任何文件。您的任务是否在执行图上?我是说,你是如何让它运转的?您是调用
assembleedbug
还是
assembleerelease
?这些任务是否在日志输出中显示?我调用了gradle作为./gradlew assembleDebug,FWIW我使用的是gradle 2.10。您是否询问我是否在配置阶段看到app:copyDebugConfigFileTask或app:copyReleaseConfigFileTask,答案是肯定的。我确实看到了“:app:copyDebugConfigFileTask-UP-DATE”如果它说它是最新的,那么它意味着在执行阶段什么都不会做,因为Gradle看不到预览运行的构建和现在的构建之间有任何区别。这可能是由于以下事实造成的:此文件中没有任何更改或路径错误。您可以使用--rerun tasks标志运行构建,以防止任何任务优化。然后你的任务将被执行。此外,它被用作一个文件夹,但你把它变成了一个文件。如果在复制过程中必须重命名文件,请使用重命名closure。如果执行您建议的更改,则根本不会执行我的任务。我没有看到消息,也没有复制任何文件。您的任务是否在执行图上?我是说,你是如何让它运转的?您是调用
assembleedbug
还是
assembleerelease
?这些任务是否在日志输出中显示?我调用了gradle作为./gradlew assembleDebug,FWIW我使用的是gradle 2.10。您是否询问我是否在配置阶段看到app:copyDebugConfigFileTask或app:copyReleaseConfigFileTask,答案是肯定的。我确实看到了“:app:copyDebugConfigFileTask-UP-DATE”如果它说它是最新的,那么它意味着在执行阶段什么都不会做,因为Gradle看不到预览运行的构建和现在的构建之间有任何区别。这可能是由于以下事实造成的:此文件中没有任何更改或路径错误。您可以使用--rerun tasks标志运行构建,以防止任何任务优化。然后你的任务将被执行。此外,它被用作一个文件夹,但你把它变成了一个文件。如果在复制过程中必须重命名文件,请使用重命名闭包
task copyReleaseConfigFileTask(type: Copy) {
    doLast {
         println "-> using airship release config"
    }
    from 'app/src/main/assets/airshipconfig.properties.release'
    into 'app/src/main/assets'
    rename('airshipconfig.properies.release','airshipconfig.properties')
}

task copyDebugConfigFileTask(type: Copy) {
    doLast {
        println "-> using airship debug config"
    }
    from 'app/src/main/assets/airshipconfig.properties.debug'
    into 'app/src/main/assets'
    rename('airshipconfig.properties.debug','airshipconfig.properties')
}