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

Posted 冰白寒祭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android studio导入jdk9及以上版本中依赖包,如'rt.jar',' dt.jar'等相关的知识,希望对你有一定的参考价值。

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\')

即可

如何在 Android Studio 中指定 JDK 版本?

【中文标题】如何在 Android Studio 中指定 JDK 版本?【英文标题】:How to specify the JDK version in Android Studio? 【发布时间】:2015-08-18 07:46:06 【问题描述】:

Android Studio 出现如下所示的 Gradle 构建错误:

Error:(3, 22) compileSdkVersion android-22 requires compiling with JDK 7

现在它给了我这些可点击的提示:

Download JDK 7
Select a JDK from the File System
Open build.gradle File

我已经下载并安装了 JDK 7。问题是当我在“文件系统”中选择它时,我只能找到一个名为 1.6.0 JDK 的目录。此外,JDK 7 的安装跳过了我选择安装目录的要点,所以我真的不确定它在哪里。我的 java 控制面板说我有“Java 7 Update 79”所以我很确定我很接近,我只需要告诉 android studio 它在哪里。我还在终端中运行了java -version 命令,它说我的版本是“1.7.0_79”。

任何帮助将不胜感激!

【问题讨论】:

在我的情况下,使用Win 7,默认安装路径是`C:\Program files\Java\",看看是否安装在那里。 【参考方案1】:

Mac 可以使用 cmd + ;Ctrl + Alt + Shift kbd> + S 用于 Windows/Linux 以打开项目结构对话框。在那里,您可以设置 JDK 位置以及 Android SDK 位置。

要获取您的 JDK 位置,请在终端中运行 /usr/libexec/java_home -v 11。为 Java 7 发送 1.7,为 Java 8 发送 1.8,或为 Java 11 发送 11。

【讨论】:

对,但我不知道JDK安装在哪里。 JDK 7 没有安装在与 JDK 6 相同的目录中。有没有办法找到 JDK 7 的安装位置?因为根据终端和java控制面板,我有Java版本1.7.0_79,我只是不知道它在哪里,因为它不在JDK 6旁边。 啊。对于那个很抱歉。那不是你问的:) 我会看看我是否能找到安装位置的信息。我不记得 7 在 Windows 上的安装位置 @ThePartyTurtle 您使用的是 Windows、Mac 还是 Linux。好吧,不管怎样,use this answer 来获取位置。 应该指定!我在 Mac 上。是的,有趣的是它没有将它安装到同一个目录中。另外,如果我的终端和 Java 控制面板告诉我我有 1.7.0_79,这是否一定意味着我有 JDK 7? 我已将命令添加到答案的底部,该命令将为您提供 JDK 位置。【参考方案2】:

Android Studio 北极狐 (2020.3.1)

在 Android Studio Arctic Fox (2020.3.1 Patch 4) 中,JDK Location 设置移至:

File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK

最高到 Android Studio 4.2

您可以按照 Ben Kane 的回答,JDK Location 设置位于:

File > Project Structure > SDK Location

【讨论】:

我如何为现在和将来在北极狐中创建的所有个项目全局更改此设置? 我在北极狐中没有看到 Gradle JDK。 上面的例子只是 gradle 的 JDK,那么用于构建和编译代码的系统其余部分的 JDK 呢?【参考方案3】:

对于新的 Android Studio 版本,转到 C:\Program Files\Android\Android Studio\jre\bin(或 Android Studio 安装文件的位置)并在此位置打开命令窗口并在命令提示符下键入以下命令:-

java -version

【讨论】:

最佳答案! 为什么要投票?这根本无法回答问题。【参考方案4】:

这是一个老问题,但我的回答仍然可以帮助某人

用于在 android studio 版本中检查 Java 版本, 只需打开 Android Studio 的终端并输入

java -version 

这将显示安装在android studio中的java版本

【讨论】:

已经有两个答案表明了这个确切的解决方案。请务必在贡献自己的答案之前查看现有答案。如果他们是正确的,请给他们投票。您的答案明显不同,可能值得对其进行编辑以解释原因。 这不起作用。它为您提供系统使用的 java 版本,而不是 Android Studio 使用的版本。【参考方案5】:

在 Android Studio 4.0.1 中,Help -> About 显示了工作室使用的 Java 版本的详细信息,以我为例:

Android Studio 4.0.1
Build #AI-193.6911.18.40.6626763, built on June 25, 2020
Runtime version: 1.8.0_242-release-1644-b01 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1237M
Cores: 8
Registry: ide.new.welcome.screen.force=true
Non-Bundled Plugins: com.google.services.firebase

【讨论】:

【参考方案6】:

在 Mac 上,您可以使用终端转到 /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home(或安装您的 Android SDK 的任何位置)并在命令提示符中输入以下内容:

./java -version

【讨论】:

也使用 Mac,但我总是得到“没有 Java 运行时存在,请求安装。”,即使我去指定的文件夹。有效的是export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home ,然后是java -version【参考方案7】:

gradle sync 使用以下 JDK 位置:

在 Android Studio 中,File -> Project Structure

导航到SDK Location

cd /Applications/Android\ Studio\ 4.1.0.app/Contents/jre/jdk/Contents/Home

➜  Home ./bin/java --version
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6916264, mixed mode)

【讨论】:

【参考方案8】:
    gradle.properties:org.gradle.java.home=/Applications/Android\ Studio.app/Contents/jre/Contents/Home ./gradlew assembleDebug -Dorg.gradle.java.home=/Applications/Android\ Studio.app/Contents/jre/Contents/Home

【讨论】:

我什么都试过了。只有这个有效!我正在使用工作室版本 4.1.2。看看升级 Android Studio 是否有效。 对于 ubunut 20.x,在你的 gradle.properties 文件 org.gradle.java.home=/usr/lib/jvm/default-java 或任何你安装 jdk 11 的地方。(在 ubuntu 中它默认为上述路径。)

以上是关于如何在Android studio导入jdk9及以上版本中依赖包,如'rt.jar',' dt.jar'等的主要内容,如果未能解决你的问题,请参考以下文章

如何导入别人android studio

如何解决android studio2.3导入android studio2.1的问题

如何将github导入android studio

如何向Android Studio里导入从Github上面下载的Project?

如何导入在Android Studio中的javax.swing

如何在最新的 android studio 中自动导入缺失的类?