Cordova cannot be compiled and previewed in mac system

/usr/local/bin/cordova run --emulator android
Android Studio project detected
ANDROID_HOME=/usr/local/Caskroom/android-platform-tools/27.0.1
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
(node:24129) UnhandledPromiseRejectionWarning: CordovaError: Requirements check failed for JDK 1.8 or greater
    at /Users/yinminqian/Desktop/MyApp/platforms/android/cordova/lib/check_reqs.js:370:19
    at _fulfilled (/Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:816:13)
    at /Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:624:44
    at runSingle (/Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:137:13)
    at flush (/Users/yinminqian/Desktop/MyApp/platforms/android/cordova/node_modules/q/q.js:125:13)
    at process._tickCallback (internal/process/next_tick.js:112:11)
(node:24129) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:24129) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

this is an error message. Should it be the pot of the environment?

Mar.12,2021

jdk version is too high


it seems that the jdk version is too high. Uninstall jdk9, and install jdk8

Menu