我需要单独安装JDK(Java开发工具包)才能使用Android Studio吗?

7xzttuei  于 2023-06-06  发布在  Android
关注(0)|答案(7)|浏览(343)

我正在从这个YouTube playlist学习Android开发,其中指出我需要单独安装JDK(Java开发工具包)才能使用Android Studio。但是当我浏览教程时,我可以运行应用程序,而不需要单独安装JDK
这是否意味着在旧版本的Android Studio中需要单独安装JDK(Java开发工具包),而在新版本的Android Studio中则不需要?

cclgggtu

cclgggtu1#

这是Google在https://developer.android.com/studio/intro/studio-config.html上说的:
Android Studio 2.2及更高版本捆绑了最新的OpenJDK副本,这是我们建议您在Android项目中使用的JDK版本。
因此,如果您使用的是最新版本,您将不需要任何额外的JDK。此外,与June 2016相比,官方安装说明不再包含任何针对JDK的提示。

nr7wwzry

nr7wwzry2#

Android Studio 2.2及更高版本嵌入了最新的OpenJDK,以降低初学者的入门门槛。
但是,建议您自己安装JDK,因为您可以独立于Android Studio进行更新。
如果您使用的是< 24的Android API,则需要使用Java 7编译项目,或者执行一些额外的步骤来编译enable Java 8 features。(注意:Java 8支持相对较新)。
Android Studio 3.0及更高版本支持所有Java 7语言功能和部分Java 8语言功能

7ajki6be

7ajki6be3#

在Mac上,Android Studio的Java环境的路径可以使用以下导出命令设置:
export JAVA_HOME=/Applications/Android\Studio.app/Contents/jre/jdk/Contents/Home/
这使用了Android Studio附带的JAVA(OpenJDK)。

nmpmafwu

nmpmafwu4#

你 * 曾经 * 需要安装一个JDK;所以视频会告诉你怎么做最近的版本包括内置的JDK。请注意,Android Studio发展迅速,教程很快就过时了。
请注意,安装Android Studio不会自动配置内置的JDK命令行工具。如果您想使用Android SDK命令行工具,这很重要。要解决此问题,请在Android Studio安装中找到包含java命令(实际运行Java虚拟机的本机命令)的bin目录,并将其添加到路径中。(另一件事可能会改变,所以我不会添加特定的目录这个答案。)这个文件是java.exe在Windows上;在其他平台上,它被称为java,并具有可执行权限。
(You还需要添加包含SDK工具本身的目录。)
实际上有两个这样的目录,因为JDK和所有Java应用程序一样,包含一个Java运行时环境(JRE)。如果您只想运行SDK工具,那么选择哪个bin目录并不重要。但是如果你想在Android Studio之外编译和运行Java代码,那么你需要使用包含javac命令的bin,以及其他必要的JDK开发工具。
或者你可以安装最新的JDK。真实的不去。

6yt4nkrj

6yt4nkrj5#

显然不是我完成了安装Flutter的步骤,包括Android Studio。
但是,flutter doctor产生了一个问题:

✗ cmdline-tools component is missing
  Run `path/to/sdkmanager --install "cmdline-tools;latest"`
  See https://developer.android.com/studio/command-line for more details.

我最终找到了路径/to/sdkmanager,它是

/Users/<Mac User Name>/Library/Android/sdk/tools/bin/sdkmanager

但之后

/Users/<Mac User Name>/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"

产生了错误:

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

基于这篇文章,我不情愿地开始考虑安装Java。但是,我发现Android Studio中包含Java,所以我运行:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home

但是

/Users/<Mac User Name>/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"

产生了一个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)

然而,如此处所示:https://flutter-examples.com/flutter-command-line-tools-component-is-missing/,解决方案是使用Android Studio安装Android sdk命令行工具(最新版)。
一旦我这样做了,就不再需要运行--install "cmdline-tools;latest"了,因为cmdline-tools;latest已经被Android Studio安装了。
然后,我能够运行flutter doctor,并按照说明让flutter doctor不识别任何问题。
我还要注意的是,Android Studio并没有下载其他SDK组件,直到我实际使用Android Studio创建了一个项目。
我能够下载一个Android模拟器,并让项目在模拟器上运行,而不需要安装Java,除了AndroidStudio附带的Java

lrl1mhuk

lrl1mhuk6#

只需在www.example.com中添加JAVA_HOME=/path/to/jdk和STUDIO_JDK=/path/to/jdkstudio.sh,一切正常

k4emjkb1

k4emjkb17#

我想在OpenJDK13而不是嵌入式jre11上测试Android Studio。我不想在控制面板中创建全局envvar STUDIO_JDK | JAVA_HOME。我制作了一个小的studio-start.bat脚本,用于在自定义Java JDK版本上运行Android Studio IDE。
Android Studio Bumblebee | 2021.1.1 Build #AI-211.7628.21.2111.8092744, built on January 19, 2022具有此嵌入式Java虚拟机。

c:\android-studio\jre\bin\java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
OpenJDK 64-Bit Server VM (build 11.0.11+9-b60-7590822, mixed mode)

我想尝试在这个Java上运行IDE。

C:\java\jdk-13.0.2\bin\java --version
openjdk 13.0.2 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

创建C:\android-studio\studio-start.bat脚本。

@REM Use custom JDK for AndroidStudio IDE
@set basedir=%~dp0
set STUDIO_JDK=C:\java\jdk-13.0.2
call "%basedir%bin\studio.bat

@rem the following commands did not use a custom JDK envvar.
@rem start "AndroidStudio" /I "%basedir%studio64.exe"
@rem "%basedir%studio64.exe"

相关问题