App工程引入并配置framework.jar

524 阅读1分钟

日常Android app项目开发中,使用的是Android studio 默认引入的Android sdk,我们调用某些系统函数如AccessibilityService,就是在指定的sdk版本下对应的framework文件夹下面(这里的称谓是android.jar),如下图所示:

Image_20230316144541.png

那么如果用户自己在fws(framework)层中新增了函数,想要在项目中调用,该如何配置呢?显然,这里需要依赖fws.jar(framework.jar的简称,后面都次代替),接下来便会介绍引入与配置过程。

一,首先,在app module新增libs目录,并将编译好的fws.jar拷贝进去,并在app module下的build.gralde中引用该文件

Image_20230316150536.png

二. 修改jar包的依赖顺序

// 在app module下的 build.gradle文件中,添加下面的代码
gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        Set<File> fileSet = options.bootstrapClasspath.getFiles()
        List<File> newFileList = new ArrayList<>()
        newFileList.add(new File("libs/fws.jar"))
        newFileList.addAll(fileSet)
        options.bootstrapClasspath = files(newFileList.toArray())
    }
}

三. 检查JDK版本

这里需要注意下,app module依赖的jdk版本,需要和编译fws.jar的版本保持一致,否则会报如下错误:

Image_20230316151449.png

出现上述错误是因为fws.jar的jdk版本是1.8,而当前项目依赖的jdk是jdk11,需要修改下依赖

Image_20230316151623.png

然后执行sync project即可