我正在使用Ubuntu 18.04。我已经安装了jdk-10.0.1和最新版本的Android SDK。我已验证JAVA_HOME
和ANDROID_HOME
变量已设置为更正各自的目录。
当我触发以下命令时
ionic cordova build android --prod --release
它在lint操作后给出了以下错误
ANDROID_HOME = /家庭/ ABY /的Android / SDK
JAVA_HOME = /家庭/ ABY /爪哇/ JDK-10.0.1
(node:7586)UnhandledPromiseRejectionWarning:CordovaError:JDK 1.8或更高版本的要求检查失败 at /home/aby/Projects/platforms/android/cordova/lib/check_reqs.js:370:19 在_fulfilled(/home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:854:54) at self.promiseDispatch.done(/home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:883:30) 在Promise.promise.promiseDispatch(/home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:816:13) at /home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:624:44 在runSingle(/home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:137:13) 在同花顺(/home/aby/Projects/platforms/android/cordova/node_modules/q/q.js:125:13) at _combinedTickCallback(internal / process / next_tick.js:131:7) at process._tickCallback(internal / process / next_tick.js:180:9)
(node:7586)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误源于在没有catch块的情况下抛出异步函数,或者拒绝未使用.catch()处理的promise。 (拒绝id:1)
(node:7586)[DEP0018]弃用警告:不推荐使用未处理的拒绝承诺。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。
我该怎么做才能让它发挥作用?可能是这个错误的原因还是我应该使用JDK而不是OpenJDK?
答案 0 :(得分:0)
根据官方Cordova文档,它仅支持JDK 1.8,直到日期(2018年4月)。或者,cordova中的版本检测脚本可能存在问题。
Cordova: Installing the requirements
所以我为JDK 1.8配置了我的系统
后来我发现了这个stackoverflow参考: