【问题标题】:JDK Error on ionic cordova run android离子科尔多瓦运行android上的JDK错误
【发布时间】:2018-08-04 01:09:15
【问题描述】:

ANDROID_HOME=C:\Users\tgiak\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-9.0.4 (节点:11252)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):CordovaError:JDK 1.8 或更高版本的要求检查失败 (节点:11252)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

还是出现这个错误,升级 Java 后重新安装了所有的 npm 模块。我无能为力了。

【问题讨论】:

    标签: cordova ionic-framework ionic3


    【解决方案1】:

    Android SDK支持 JDK 9。它支持JDK 8 的一些功能,因此可以使用。

    因此,Ionic 和 Cordova 应用程序无法将 JDK 9 用于 Android 平台。您需要安装 JDK 8 并将 JAVA_HOME 重置为 JDK 8 并尝试。 为了验证您的设置是否有效,请使用以下命令:

    cordova requirements
    

    在您的项目文件夹中。

    【讨论】:

      【解决方案2】:

      在尝试使用以下命令时,我在使用 ionic 3.19.1 cordova 8.0.0 时遇到了同样的错误:ionic cordova build android

      在尝试安装 jdk1.8.0_162 并卸载旧版本后没有成功。我查看了引发错误的 check_reqs.js 文件的代码,发现使用以下正则表达式检查 java 版本:

      /javac ((?:1\.)(?:[8-9]\.)(?:\d+))|((?:1\.)(?:[1-9]\d+\.)(?:\d+))/ijavac -version 命令。

      这样,我可以在我的用户目录中的某处找到一个 javac.exe 1.7 版本,该版本被另一个应用程序使用,该应用程序在较新版本之前包含在 PATH 变量中,并且未在“卸载程序”窗口中列出。

      我还用下面的命令查看了PATH变量中javac第一版的完整文件名

      for %i in (javac.exe) do @echo %~$PATH:i
      

      所以解决方案是从 PATH 变量中删除旧版本的目录路径

      【讨论】:

        猜你喜欢
        • 2018-03-01
        • 2019-06-03
        • 2023-03-22
        • 2019-02-04
        • 1970-01-01
        • 1970-01-01
        • 2017-12-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多