首先将系统编译生成的framework.jar弄到AS工程中,将framework.jar 放到AS工程的app目录下,不建议放到libs目录下,因为libs目录下的jar文件默认会被编译进apk
1 在app/build.gradle文件的标签下添加一行 compileOnly files('framework.jar')
- 为了让classes.jar 在android.jar 前先加载 需要在app下的build.gradle 底下添加
preBuild {
doLast {
def imlFile = file("../.idea/modules/app/app.iml")
println 'Change ' + file("../.idea/modules/app/app.iml")
try {
def parseXml = new XmlParser().parse(imlFile)
def jdkNode = parseXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
parseXml.component[1].remove(jdkNode)
def sdkString = "Android API " + android.compileSdkVersion + " Platform"
new Node(parseXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
groovy.xml.XmlUtil.serialize(parseXml, new FileOutputStream(imlFile))
} catch (FileNotFoundException e) {
//nop, iml not found.
println("iml file not found")
}
}
}
- 还需要在工程的build.gradle添加
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:app/framework.jar'
}
}
}
完成后clean 重新build,查看app.iml文件,确认以下这行出现在framework.jar后面就可以了