我从Gradle收到有关不推荐使用的动态属性的警告。
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties. Deprecated dynamic property: "srcDirs" on "source set aild", value: "[src]". Deprecated dynamic property "srcDirs" created in multiple locations.
不幸的是,我不擅长Gradle语法,因此在阅读以上文章后,我不明白应更改哪些值才能迁移到新标准。
该项目仍然可以在Eclipse中构建,因此配置类似于
apply plugin: 'android'
android {
buildToolsVersion "19.0.3"
compileSdkVersion 19
buildTypes {
...
}
productFlavors {
...
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java {
srcDirs = ['src']
}
resources.srcDirs = ['src']
aild.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
lib.srcDirs = ['libs']
jniLibs.srcDirs=['libs']
}
full {
java {
srcDirs = ['flavors/full/src']
}
}
light {
java {
srcDirs = ['flavors/light/src']
}
res {
srcDirs 'flavors/light/res'
}
assets {
srcDirs 'flavors/light/assets'
}
}
}
}
最佳答案
您的脚本中的错误是以下代码行:
aild.srcDirs = ['src']
在较早版本的Gradle中,允许您在配置期间动态添加新属性。本质上,该行将要做的是在“aild”对象上创建一个名为“srcDirs”的新字段并设置其值。我相信他们不赞成这种行为的原因是,它通常是代表 bug 或错字的代码气味。如果确实要动态创建该属性,则可以执行以下操作:
aild.ext.srcDirs = ['src']
但是,我认为这实际上不是您想要的。经过一番谷歌搜索后,我认为您可能想尝试将“aild”更改为“aidl”,甚至只是一起删除该行,因为我认为您实际上不在项目中使用它。
关于android - Gradle:不推荐使用的动态属性。如何重新配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22506118/