Android studio 4.1.3 的"app.iml"文件的位置和名称均发生了变化:
原本在app目录下的"app.iml"移动到了 ".idea/modules/app/XXX.app.iml",使用"framework.jar"的原理与AS3.0一样,这里只需要修改一下"app.iml"的路径即可:
dependencies {
implementation files('libs\\framework.jar')
}
preBuild {
doLast {
//def imlFile = file(project.name + ".iml")
def imlFile = file("..\\.idea\\modules\\app\\" + project.parent.name + ".app.iml")
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("Adroid-".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
}
}
}
修改完成后rebuild一下项目,看看"XXX.app.iml"文件里面的:
<orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />
如果这一行移动到底部了即成功了,可以使用"framework.jar"中的接口了。