简体   繁体   English

Java Home与众不同吗? 如何在Android Studio中正确设置?

[英]Java Home is different? How to set it correctly in Android Studio?

I had got a problem with JAVA Compiler. 我在使用JAVA编译器时遇到了问题。 The JDK change patch in Project Structure wasn't working so I edited jdk.table.xml : 项目结构中的JDK更改补丁不起作用,因此我编辑了jdk.table.xml

<jdk version="2">
      <name value="1.8" />
      <type value="JavaSDK" />
      <version value="java version &quot;1.8.0_111&quot;" />
      <homePath value="$APPLICATION_HOME_DIR$/jdk1.8.0_111" />
      <roots>
        <annotationsPath>
          <root type="composite">
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/lib/jdkAnnotations.jar!/" />
          </root>
        </annotationsPath>
        <classPath>
          <root type="composite">
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/charsets.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/deploy.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/access-bridge-64.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/access-bridge.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/cldrdata.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/dnsns.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/jaccess.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/jfxrt.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/localedata.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/nashorn.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/sunec.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/sunjce_provider.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/sunmscapi.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/sunpkcs11.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/ext/zipfs.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/javaws.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/jce.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/jfr.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/jfxswt.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/jsse.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/management-agent.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/plugin.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/resources.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jre/jre/lib/rt.jar!/" />
          </root>
        </classPath>

And also, in JAVA_HOME I got: 而且,在JAVA_HOME中,我得到了:

E:\\Program Files\\Android\\Android Studio\\jdk1.8.0_111 E:\\ Program Files \\ Android \\ Android Studio \\ jdk1.8.0_111

Which is the same like in jdk.table.xml I can't build 'cause i'm getting: 就像在jdk.table.xml中一样,我无法构建,因为我正在获取:

Error:The newly created daemon process has a different context than expected. 错误:新创建的守护进程具有与预期不同的上下文。 Java home is different. Java家是不同的。 Expecting: 'E:\\Program Files\\Android\\Android Studio\\jdk1.8.0_111' but was: 'E:\\Program Files\\Android\\Android Studio\\jdk1.8.0_111\\jre'. 应为:“ E:\\ Program Files \\ Android \\ Android Studio \\ jdk1.8.0_111”,但应为:“ E:\\ Program Files \\ Android \\ Android Studio \\ jdk1.8.0_111 \\ jre”。

Please help guys! 请帮助大家!

#EDIT #编辑

Now I've got in jdk.table.xml : 现在我有了jdk.table.xml

  <jdk version="2">
      <name value="1.8" />
      <type value="JavaSDK" />
      <version value="java version &quot;1.8.0_111&quot;" />
      <homePath value="$APPLICATION_HOME_DIR$/jdk1.8.0_111" />
      <roots>
        <annotationsPath>
          <root type="composite">
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/lib/jdkAnnotations.jar!/" />
          </root>
        </annotationsPath>
        <classPath>
          <root type="composite">
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/charsets.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/deploy.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/access-bridge-64.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/access-bridge.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/cldrdata.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/dnsns.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/jaccess.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/jfxrt.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/localedata.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/nashorn.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/sunec.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/sunjce_provider.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/sunmscapi.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/sunpkcs11.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/ext/zipfs.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/javaws.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/jce.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/jfr.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/jfxswt.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/jsse.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/management-agent.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/plugin.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/resources.jar!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/lib/rt.jar!/" />
          </root>
        </classPath>
        <javadocPath>
          <root type="composite" />
        </javadocPath>
        <sourcePath>
          <root type="composite">
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/src.zip!/" />
            <root type="simple" url="jar://$APPLICATION_HOME_DIR$/jdk1.8.0_111/jre/javafx-src.zip!/" />
          </root>
        </sourcePath>
      </roots>

JAVA_HOME : JAVA_HOME

E:\Program Files\Android\Android Studio\jdk1.8.0_111

Path: 路径:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;E:\Program Files\Condusiv Technologies\ExpressCache\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;%JAVA_HOME%\bin

And still getting: 仍然得到:

Error:The newly created daemon process has a different context than expected.

Java home is different. Java家是不同的。 Expecting: 'E:\\Program Files\\Android\\Android Studio\\jdk1.8.0_111' but was: 'E:\\Program Files\\Android\\Android Studio\\jdk1.8.0_111\\jre'. 应为:“ E:\\ Program Files \\ Android \\ Android Studio \\ jdk1.8.0_111”,但应为:“ E:\\ Program Files \\ Android \\ Android Studio \\ jdk1.8.0_111 \\ jre”。 Please configure the JDK to match the expected one. 请配置JDK以匹配预期的JDK。 Open JDK Settings 打开JDK设置

Where I need to remove /jre/? 我需要在哪里删除/ jre /? What is wrong now? 现在怎么了?

I think you are using Windows 我认为您正在使用Windows

so you can see this link and setup the JAVA_HOME and PATH 这样您就可以看到此链接并设置JAVA_HOME和PATH

https://www.mkyong.com/java/how-to-set-java_home-on-windows-10/ https://www.mkyong.com/java/how-to-set-java_home-on-windows-10/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM