本文共 992 字,大约阅读时间需要 3 分钟。
自动调整 *.iml 中 orderEntry 顺序
apply plugin: 'com.android.application'android { ........ preBuild { doLast { def imlFile = file(project.name + ".iml") println 'Change ' + project.name + '.iml order' try { def parsedXml = (new XmlParser()).parse(imlFile) def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' } parsedXml.component[1].remove(jdkNode) def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform" new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK']) groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile)) } catch (FileNotFoundException e) { // nop, iml not found } } } ........}
如上所示,通过对 *.iml 文件进行 xml 解析,然后删除 代表Android SDK 的 jdk 默认节点,并在最后追加 Android SDK 节点。
转载地址:http://cdlzl.baihongyu.com/