Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 studio 如何在运行";时清除特定的gradle缓存文件;清洁工程;指挥部?_Android Studio_Gradle_Android Gradle Plugin - Fatal编程技术网

Android studio 如何在运行";时清除特定的gradle缓存文件;清洁工程;指挥部?

Android studio 如何在运行";时清除特定的gradle缓存文件;清洁工程;指挥部?,android-studio,gradle,android-gradle-plugin,Android Studio,Gradle,Android Gradle Plugin,我在项目的build.gradle文件中添加了以下任务: task('clearLibCache', type: Delete, group: 'MyGroup', description: "Deletes any cached artifacts with the domain of com.test in the Gradle or Maven2 cache directories.") << { def props = project.properti

我在项目的build.gradle文件中添加了以下任务:

task('clearLibCache', type: Delete, group: 'MyGroup',
        description: "Deletes any cached artifacts with the domain of com.test in the Gradle or Maven2 cache directories.") << {
    def props = project.properties
    def userHome = System.getProperty('user.home')
    def domain = props['domain'] ?: 'com.test'
    def slashyDomain = domain.replaceAll(/\./, '/')
    file("${userHome}/.gradle/caches").eachFile { cacheFile ->
        if (cacheFile.name =~ "^$domain|^resolved-$domain") delete cacheFile.path
    }
    delete "${userHome}/.m2/repository/$slashyDomain"
}
task('clearLibCache',类型:Delete,组:'MyGroup',
description:“删除Gradle或Maven2缓存目录中具有com.test域的任何缓存工件。”)
如果(cacheFile.name=~“^$domain | ^resolved-$domain”)删除cacheFile.path
}
删除“${userHome}/.m2/repository/$slashyDomain”
}
我希望在点击“cleanproject”菜单时执行此任务,并且仅在这种情况下执行

如何做到这一点?

引擎盖下的“Clean project”菜单项似乎可以做一些事情(根据您单击Gradle控制台窗口时的输出):

  • gradle clean,相当于调用
    /gradlew clean
  • 生成调试构建的源代码和依赖项,如果需要,包括一个可模仿的Android源代码jar
我将使您的任务成为Gradle clean任务的依赖项,这样每当清理项目时,也会调用此任务。这可以通过在声明任务后在
build.gradle
中添加行
clean.dependsOn clearLibCache
来实现