如何在模型 DSL 的字符串中替换项目属性?我尝试了以下方法:
apply plugin: 'com.android.model.native'
model {
android {
...
sources {
main {
jni {
source {
srcDirs "src"
include "*.cpp"
}
exportedHeaders {
srcDir "${project.rootDir}/include"
}
}
}
}
}
}
但我得到了这个错误:
Error:Attempt to read a write only view of model of type 'org.gradle.model.ModelMap<org.gradle.language.base.FunctionalSourceSet>' given to rule 'android { ... } @ android/build.gradle line 6, column 5'
如果我将属性值分配给模型块之外的变量并替换该变量,它会起作用:
def fooDir = project.rootDir
...
srcDir "${fooDir}/include"
但这有点不方便。