如何在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 studio2.3导入android studio2.1的问题
如何向Android Studio里导入从Github上面下载的Project?