admin管理员组文章数量:1130349
这个也适用于configurationspileOnly configurations.xxCompile configurations.implementation configurations.xxImplementation 等 Configuration 对象出现该问题.
环境
- migrate AndroidX后,gradle 版本:5.6.4, gradlePlugins版本:3.6.4
相关代码
task getLibs {
configurations.compile.setCanBeResolved(true)
configurations.compile.asFileTree.each { File file ->
if (file.getName().matches(".*\\.zip")) {
copy {
from zipTree(file)
into property_unzippedDir
}
}
}
}
问题
在 sync gradle时 configurationspile.asFileTree 这段代码会报错:
cannot change strategy of configuration ‘complie’ after it has been resolved
解决方案
- 上述代码改为:
task getLibs {
configurations.compile.setCanBeResolved(true)
configurations.compile.copy().asFileTree.each { File file ->
if (file.getName().matches(".*\\.zip")) {
copy {
from zipTree(file)
into property_unzippedDir
}
}
}
}
在compile后面调用copy() 方法然后再调用asFileTree
原理
copy()方法注解如下:
这个也适用于configurationspileOnly configurations.xxCompile configurations.implementation configurations.xxImplementation 等 Configuration 对象出现该问题.
环境
- migrate AndroidX后,gradle 版本:5.6.4, gradlePlugins版本:3.6.4
相关代码
task getLibs {
configurations.compile.setCanBeResolved(true)
configurations.compile.asFileTree.each { File file ->
if (file.getName().matches(".*\\.zip")) {
copy {
from zipTree(file)
into property_unzippedDir
}
}
}
}
问题
在 sync gradle时 configurationspile.asFileTree 这段代码会报错:
cannot change strategy of configuration ‘complie’ after it has been resolved
解决方案
- 上述代码改为:
task getLibs {
configurations.compile.setCanBeResolved(true)
configurations.compile.copy().asFileTree.each { File file ->
if (file.getName().matches(".*\\.zip")) {
copy {
from zipTree(file)
into property_unzippedDir
}
}
}
}
在compile后面调用copy() 方法然后再调用asFileTree
原理
copy()方法注解如下:
本文标签: 解决方案StrategychangeConfigurationresolved
版权声明:本文标题:cannot change strategy of configuration ‘complie‘ after it has been resolved解决方案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754915062a2741257.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论