如何在Android studio导入jdk9及以上版本中依赖包,如'rt.jar',' dt.jar'等

发布时间 2023-04-25 10:12:45作者: 冰白寒祭
1、如何获取jdk9及以上版本中依赖包,如'rt.jar',' dt.jar'等

​ 在jdk9及后续版本中,jdk开始使用模块化规则,实现更好的封装和定义良好的接口,近一步加强了java的自由度,开发者可以定制化SDK

​ 包括rt.jar在内的依赖均已移除,以模块化形式更高效的存诸在 JAVA_HOME/jmods目录下

​ 如果需要可以用命令进行抽取,例如需要用到javax.imageio.*包下的类,则可以将jmods目录下的java.desktop.jmod

进行重新打包

(1)解压jmods目录下的java.desktop.jmod模块到当前目录
jmod extract 'C:\Program Files\Eclipse Adoptium\jdk-17.0.2.8-hotspot\jmods\java.desktop.jmod'
(2)使用jar工具在当前目录创建一个新的JAR文件
jar cf java.desktop.jar -C classes .
(3)使用命令进行验证,将会成列出jar包中所有条目
jar tf .\java.desktop.jar
2、在Android studio如何引用依赖包?

将jar包复制到项目的lib目录下并右键选择Add As Library,将可以正常使用jar包中的类库

模块的build.gradle文件中生成如下指令,

implementation files('libs\\java.desktop.jar')

虽然可以正常使用类库,但是在构建的时候会报错

此时将指令更改为

compileOnly files('libs\\java.desktop.jar')

即可