我使用以下任务来确保最后列出了SDK依赖项:
task pushDownJdkDependency {
def imlFile = file("ui.iml")
doLast {
try {
def parsedXml = (new XmlParser()).parse(imlFile)
def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
parsedXml.component[1].remove(jdkNode)
new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': "Android API 18 Platform", 'jdkType': 'Android SDK'])
def writer = new StringWriter()
new XmlNodePrinter(new PrintWriter(writer)).print(parsedXml)
imlFile.text = writer.toString()
} catch (FileNotFoundException e) {
// nop, iml not found
}
}
}
确保使用正确的SDK标识符.然后将任务挂接到构建过程中:
gradle.projectsEvaluated {
preBuild.dependsOn(pushDownJdkDependency)
}
除此之外,将任务添加到运行配置中.不幸的是,由于缺乏声誉,我无法发布图像.