当前位置: 首页 > 知识库问答 >
问题:

Android Studio 找不到JAVA_HOME

鱼渝
2023-03-14

由于Android Studio的一个非常烦人的异常,我似乎无法编译我的Android应用程序:

Execution failed for task ':myapp-services:compileDebugJava'.
    Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.

我使用的是Ubuntu 12.04,我运行的是Oracle的Java 7 JRE/JDK。

~/.bashrc 中:

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"

android-studio/bin/studio.sh

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"

javac 版本的输出:

javac 1.7.0_51

java 版本的输出:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

打印JAVA_HOME的输出:

/usr/lib/jvm/java-7-oracle

其中javac的输出:

/usr/bin/javac

我也已注销并重新登录我的会话。

我真的不确定我在这里错过了什么。为什么 Android Studio 无法编译我的应用程序?

共有3个答案

东郭存
2023-03-14

我也收到此错误。经过几个小时的尝试,我已经设法解决了这个问题。

就我而言,从命令行执行应用程序就可以了!

这是我所做的(我使用的是Windows 10)。请在项目的根目录上运行以下命令(我们有应用程序目录):

1) gradlew 组装调试

  • Gradle 将执行其任务,您应该会看到以下消息:构建成功

2) adb install -r app\build\outputs\apk\app-debug-unaligned.apk

  • 执行此行后,您将看到消息:[100%] /data/local/tmp/app-debug-unaligned.apk pkg:/data/local/tmp/app-debug-unaligned.apk 成功

3) 亚行外壳 AM 启动 -n package_name/package_name。MainActivity,其中“package_name”必须替换为您的软件包名称(您可以在 AndroidManifest.xml 上找到它)。如果“主活动”不是您的启动器活动,请将其替换为您自己的活动。

  • 您将看到以下消息:正在启动:意图 { cmp=package_name/。主活动 },其中“package_name”是应用的包名称。

它将在您的设备上安装该应用程序,之后,Android Studio似乎再次找到JAVA_HOME变量。您应该能够通过点击Android Studio上的“运行”按钮来运行该应用程序。

希望它对某人有所帮助!

宰父劲
2023-03-14

我在不同的答案中找到了一个解决方案:

rm ~/.AndroidStudioPreview/config/options/jdk.table.xml

似乎已经发生的事情是为以前版本的Android Studio配置的,并且此配置存在的时间太长:)

陆敏学
2023-03-14

我通过更新build.gradle(顶级)解决了它

classpath 'com.android.tools.build:gradle:2.1.2'
 类似资料:
  • AndroidStudio 2.2.3无法解决我的RealmRecycorViewAdapter引用。我直接从Realm站点跟随了RecyclerViewAdpper示例。有人能帮我弄清楚为什么它找不到RealmRecyclerViewAdapter吗? 以下是我的进口声明: 这是我的项目级gradle文件: 这是我的应用程序级gradle文件: com.android.application应用

  • 我试图导入的应用程序中的gradle版本与JDK11不兼容,而JDK11正是android studio用作其嵌入式JDK的。我的机器上有JDK8。我已经尝试进入项目结构来更改JDK8位置的路径,但是如果我尝试更改它,就会出现错误。它说我必须选择一个有效的JDK11目录。如何让android studio使用JDK 8?错误截图

  • 当我尝试启动UIAutomatorViewer.bat时,我得到以下错误: 错误:没有找到合适的Java。为了正确使用Android Developer工具,您需要在系统上安装一个合适的Java JDK版本。我们建议您安装JDK版本的JavaSE,可在以下站点获得:http://www.oracle.com/technetwork/java/JavaSE/downloads 如果已经安装了Java

  • 我是一名学习使用jsp和Servlet构建Web应用程序的学生。一个月以来,我的Web应用程序项目一直运行良好,但今天它的行为突然变得奇怪了。当我提交jsp页面时,它无法找到我的servlet。我已经使用servlet注释来映射请求。 以下是我的JSP:- 以下是我的servlet:- 以下是我的控制台日志:-

  • 问题内容: 我正在运行Windows 8,但无法使javac正常工作。 我已将环境变量中的PATH设置为 我尝试过是否使用’;’ 但无济于事。 我最近在桌面上添加了这个问题;工作,但不是这种情况。 我确保javac确实也存在于bin中。 关于修复的任何建议将不胜感激。 编辑echo%PATH%给出: 确切的错误是:无法将“ javac”识别为内部或外部命令,可操作程序或批处理文件。 问题答案: 至

  • 问题内容: 我正在为我的项目使用jersey,并尝试从字符串中解析URI。 代码很简单,但是下面出现错误 看来程序找不到委托。我已经导入了,并且应该在我的构建路径中包含委托。但我仍然会收到此错误。 有人知道如何解决吗?谢谢! 问题答案: 如果您使用的是Maven,请使用以下依赖项: 对于Gradle,以下将起作用:

  • 问题内容: 我只需要重新安装mysql,我就无法启动它。它找不到套接字(mysql.sock)。问题是我也不能。在Mac OS X 10.4终端中,键入:,然后返回。套接字文件存在于该位置是有道理的,但实际上并不存在。 如何找到套接字文件? 如果locate返回错误的位置,则它必须具有某种内存,并且可能具有索引。如何刷新该索引? 问题答案: 回答问题的第一部分: 跑 并检查“ socket”变量

  • 问题内容: 我正在Eclipse 4.3中设置一个Spring 3.2.3 + Hibernate 4项目。 当我将代码添加到上下文中时,我开始在每个bean中收到以下错误: 现在,我在项目中添加了AspectJ Tools和Cglib依赖项,并且JAR在那里,包括它找不到的类。该应用程序正常运行,并且Spring正在成功管理会话和事务。 我一直在寻找解决方案,但每个答案都指出,由于缺少JAR,因