Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓工作室可以';我找不到家_Java_Android_Android Studio - Fatal编程技术网

Java 安卓工作室可以';我找不到家

Java 安卓工作室可以';我找不到家,java,android,android-studio,Java,Android,Android Studio,我似乎无法编译我的Android应用程序,因为Android Studio出现了一个非常恼人的异常: 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

我似乎无法编译我的Android应用程序,因为Android Studio出现了一个非常恼人的异常:

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的Java7JRE/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-version的输出:

javac 1.7.0_51
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的输出-版本

javac 1.7.0_51
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)
输出
printenv JAVA_HOME

/usr/lib/jvm/java-7-oracle
哪个javac
的输出:

/usr/bin/javac
我也已注销并再次登录到我的会话

我真的不知道我错过了什么。为什么Android Studio不能编译我的应用程序?

我在以下方面找到了解决方案:


似乎发生的事情是,以前版本的Android Studio配置了一些东西,但此配置使用时间太长:)

刚刚下载了最新版本(Android-Studio-ide-1641136.dmg),我刚刚更改了Info.plist文件内容。从Java版本开始,它最初被配置为使用1.6*。我已经安装了1.8,所以刚改成1.8*就可以工作了


我在Mac Yosemite上。

我发现Android Studio.bat文件有问题 在这里

    ::------------------------------------------------------
    :: Locate a JDK installation directory which will be used to run the IDE.
    :: Try (in order): ANDROID_STUDIO_JDK, ..\jre, JDK_HOME, JAVA_HOME.
    :: ---------------------------------------------------------------------
    IF EXIST "%ANDROID_STUDIO_JDK%" SET JDK=%ANDROID_STUDIO_JDK%
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%~dp0\..\jre" SET JDK=%~dp0\..\jre
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%JDK_HOME%" SET JDK=%JDK_HOME%
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME%
    IF "%JDK%" == "" GOTO error
您在最后两行代码中是否发现了问题?
似乎如果您的环境变量为%JAVA_HOME%,批处理文件将转到错误,并显示错误消息,您没有ANDROID STUDIO,即使%JAVA_HOME%包含有效路径,但如果环境变量类似于%ANDROID_STUDIO_JDK%,就像我自己创建的一样,那么它将工作

提议的解决办法 (1) 编辑批处理文件 你在哪里看到这个
如果存在“%JAVA\u HOME%”,则设置JDK=%JAVA\u HOME%
如果“%JDK%”==“转到错误

将其更改为此
如果存在“%JAVA\u HOME%”,则设置JDK=%JAVA\u HOME%
如果不是“%JDK%”==“转到JDK”
如果“%JDK%”==“转到错误

(2) 创建名为%ANDROID\u STUDIO\u JDK%的环境变量 如图所示
我也遇到了这个错误。经过几个小时的努力,我终于解决了这个问题

在我的例子中,从命令行执行应用程序就成功了

以下是我所做的(我使用的是Windows10)。请在项目的根目录上运行这些命令(我们有app目录):

1) gradlew assembleDebug

  • Gradle将执行其任务,您应该会看到这样一条消息:buildsuccessful
2) adb安装-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) adb shell am start-n package_name/package_name.MainActivity,其中“package_name”必须替换为您的包名(您可以在AndroidManifest.xml上找到它)。如果“MainActivity”不是您的启动程序活动,请将其替换为您自己的活动

  • 您将看到消息:开始:Intent{cmp=package\u name/.MainActivity},其中“package\u name”是您的应用程序的包名
它将在您的设备上安装应用程序,之后,Android Studio似乎会再次找到JAVA_HOME变量。你应该能够通过点击Android Studio上的“运行”按钮来运行应用程序


希望它能帮助别人

检查echo$JAVA\u HOME

如果它没有给你正确的路径。跟随


如果它为您提供了正确的路径集,那么您需要更新您的gradle插件版本(它对我有效)并重建项目。

我通过使用更新build.gradle(顶级)解决了这个问题


我通过更新(build.gradle(Project:projectName))的类路径解决了这个问题


更新build.gradle模块

    classpath 'com.android.tools.build:gradle:3.0.1'

解决了我的问题

转到设置->项目结构->JDK路径,将其更改为系统JDK而不是Studio JDK,您将启动并运行。

如果您尝试
printenv JAVA_HOME
将其添加到问题中,输出是什么,根据
哪个javac
的输出,可能您没有在
/usr/lib/jvm/java-7-oracle
上安装JDK。
/usr/bin/javac
是符号链接吗?(到哪里?)找到解决方案,请参阅答案。My JAVA_HOME设置为JAVA_HOME=C:\Program Files\JAVA\jdk-13.0.1,但android studio在启动时会产生错误。该目录在我的系统上有效。太棒了!对我来说是~/.AndroidStudioBeta/config/options/jdk.table.xml,但这是相同的原则。我从opensdk切换到oracle jdk,无法再编译了。请注意,您需要重新启动studio才能重新编制索引并使其正常工作。在Windows上,这是C:\Users\\\.AndroidStudio\config\options\jdk.table.xml,但删除它仍然无法修复错误。我猜是因为我的错误以“错误:任务执行失败”:CordovaLib:CompiledBugJavaWithJavaC”开头在我的例子中,
classpath'com.android.tools.build:gradle:2.2.3
    classpath 'com.android.tools.build:gradle:3.0.1'