【问题标题】:TNS Doctor - JDK not configured correctly?TNS Doctor - JDK 配置不正确?
【发布时间】:2020-11-24 19:28:08
【问题描述】:

Nativescript tns 医生告诉我 JDK 配置不正确,尽管看起来确实如此。

我目前在 Mac 上运行 Big Sur。 安装所有 iOS 和 Android 要求后,我不断从 TNS Doctor 收到此错误:

✖ Error executing command 'javac'. Make sure you have installed The Java Development Kit (JDK) and set JAVA_HOME environment variable. 

您将无法为 Android 构建项目。 为了能够为 Android 构建,请确认您已安装 Java 开发工具包 (JDK) 并根据系统要求将其配置为 描述于http://docs.nativescript.org/setup/ns-cli-setup/ns-setup-os-x.html#system-requirements

✖ 警告:Java 开发工具包 (JDK) 未安装或配置不正确。

在我的 ~/.bash_profile 中,我将 JAVA_HOME 描述为:

export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

我的整个 ~/.bash_profile:

Setting PATH for Python 3.9
The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
export PATH
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk

printenv:

TERM_PROGRAM=Apple_Terminal
ANDROID_HOME=/usr/local/share/android-sdk
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/lb/d2r8qcsj3p765gs3pnhz9ndh0000gn/T/
TERM_PROGRAM_VERSION=440
ANDROID_SDK_ROOT=/usr/local/share/android-sdk
TERM_SESSION_ID=34C4C80E-4538-4E20-A8CD-F34C21412E64
USER=anthonydionise
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.QtbknDrCPH/Listeners
PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
__CFBundleIdentifier=com.apple.Terminal
PWD=/Users/anthony
JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
LANG=en_US.UTF-8
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
SHLVL=1
HOME=/Users/anthony
LOGNAME=anthony
_=/usr/bin/printenv

除了 tns 错误,JAVA_HOME 似乎配置正确;运行 avdmanager 运行完美。

avdmanager create avd -n test -k "system-images;android-25;google_apis;x86"

Parsing /usr/local/Caskroom/android-sdk/4333796/build-tools/28.0.3/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/emulator/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/android/m2repository/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/google/m2repository/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/intel/Hardware_Accelerated_Execution_Manager/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/patcher/v4/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/platform-tools/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/platforms/android-28/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/system-images/android-25/google_apis/x86/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/tools/package.xmlAuto-selecting single ABI x86
Do you wish to create a custom hardware profile? [no] n

似乎成功创建了一个设备。 avdmanager 列出设备

Parsing /usr/local/Caskroom/android-sdk/4333796/build-tools/28.0.3/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/emulator/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/android/m2repository/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/google/m2repository/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/extras/intel/Hardware_Accelerated_Execution_Manager/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/patcher/v4/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/platform-tools/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/platforms/android-28/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/system-images/android-25/google_apis/x86/package.xmlParsing /usr/local/Caskroom/android-sdk/4333796/tools/package.xmlAvailable Android Virtual Devices:
    Name: test
    Path: /Users/anthonydionise/.android/avd/test.avd
  Target: Google APIs (Google Inc.)
          Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86

The following Android Virtual Devices could not be loaded:
    Name: Pixel_3a_API_30_x86
    Path: /Users/anthonydionise/.android/avd/Pixel_3a_API_30_x86.avd
   Error: Google pixel_3a no longer exists as a device

(不太清楚像素设备是什么)

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    我的 .bash_profile 文件中的这个设置适用于我:

    export JAVA_HOME=$(/usr/libexec/java_home)
    

    在此处查看此相关问题和答案: How to set JAVA_HOME environment variable on Mac OS X 10.9?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2018-01-06
      • 2016-03-14
      • 2014-12-21
      相关资源
      最近更新 更多