有的时候我们开发app 会用到系统的一些接口,然而这些接口在sdk 里面可能不存在,但是在android 源码中存在,于是我们可以调用android 编译之后的 jar 包,然后再app 中进行调用。
1、首先编译 整个 android 源码目录,然后找到 framwork.jar 文件
如果编译debug版本:
out/target/product/projectXX/system/framewor framework.jar
如果是user版本:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
2、将 framwork.jar 文件拷贝到 AS 项目中。
1).在app/libs/目录下添加framework.jar包。
2).打开build->Edit Libraries and Dependencies,把libs/framework.jar放到最前面
3).在project下的build.gradle中添加:
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:app/libs/framework.jar'
}
}
}
4)4.在app下的build.gradle的dependencies中添加:
compileOnly files('libs/framework.jar')
5、编译成功,引用需要的系统的接口。