React Native 오류 : " '9.0.1'에서 Java 버전을 확인할 수 없습니다."


108

저는 MacOS에서 작업 중이며 react-native.

시작하기위한 첫 번째 단계 중 하나는 다음을 실행하는 것입니다. react-native run-android또는 react-native run-ios. 하지만이 오류가 발생합니다.

react-native run-android

결과:

Scanning folders for symlinks in /Users/ric/myprojs/albums/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

이것은 내가 실행할 때 얻는 것입니다 java --version.

java --version

결과:

java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
mbp:albums ric$ java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

편집하다

내 javac 버전 :

javac --version

결과:

javac 9.0.1

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?


2
당신은 실행할 수 있습니다 javac -version하시기 바랍니다 터미널 너무
bennygenel

1
나는 발견 이 문제를 이 조금 오래지만 두 자바 버전 또는 Gradle을 관련이있을 수 있습니다.
bennygenel

답변:


205

당신의에서 PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties파일, 당신을 업데이트distributionUrl 다음에 :

distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip

관련 Gradle 배포 문서 참조


4
에 있어야 응용 프로그램 폴더 / 안드로이드 / Gradle을 / 래퍼 / gradle-wrapper.properties
무하마드 Adeel

6
gradle 버전을 귀하의 제안으로 변경 한 후 또 다른 오류가 발생합니다.
Can

7
이것이 왜 도움이됩니까? React-Native는 새 애플리케이션을 초기화 할 때 기본적으로 gradle-2.14.1을 사용하는데 왜 다른 애플리케이션이 필요한가요?
Waltari

11
이> 모두 javax / XML / 바인드 / 주석 /에 XmlSchema 추가 한 후이 오류가
Milon

15
최신 버전의 Gradle을 사용해야합니다. 예를 들어, 자바 (11)를 지원하기 위해, 당신은 사용할 수 있습니다gradle-4.10-all.zip
안드레이 Kolpakov


15

당신이 있는지 확인 JDK8설치 후 설정 JAVA_HOMEJDK8

예를 들면 :

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

또는 .bash_*파일을 사용하여이 변수를 설정하십시오.


1
Mac의 .zshrc에이 기능이 있습니다 . 최신 설치된 Java v8 버전 export JAVA_HOME=$(/usr/libexec/java_home)export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)선택하도록 변경하고 동일한 문제를 해결했습니다.
Greg Haygood

8
vi ~/.bash_profile

그런 다음 다음 행을 추가하십시오.

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

이제 파일을 소싱하여 현재 쉘에서 위의 변경 사항을 적용하십시오.

source ~/.bash_profile 

1
이 마지막 줄이 export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)문제를 해결했습니다. 감사합니다!
JohnSalzarulo

7

MacOS에서 다음 명령을 실행했습니다.

brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"

3

이 오류가 발생했지만 최신 버전의 Java-10.0.2.

오류를 수정하기 @Blacktoviche위해이 Github 문제에서 언급 한 단계를 따랐습니다 . https://github.com/facebook/react-native/issues/17688

androidAndroid Studio를 통해 프로젝트 내의 폴더를 열었을 때 Android Gradle plugin update recommended. 그 당시 저는를 클릭하라는 약간 오래된 튜토리얼을 따르고있었습니다 Don't remind me again for this project.

그러나 @Blacktoviche위에 링크 된 github 문제에서 권장하는대로 Gradle 플러그인을 업데이트해야하는 경우가 있습니다. 업데이트 후에는 클릭해야했습니다 Install Build Tools 27... and sync project(정확한 버전이 기억 나지 않습니다).

이 단계를 따른 후 Android Studio 에뮬레이터에서 반응 네이티브 앱을 성공적으로 실행할 수있었습니다.

이것이 누군가를 돕기를 바랍니다!


1

---- 2018 년 12 월 ---주의 사항 --- React Native는 Java 버전 8 이상에서는 작동하지 않으므로 버전을 제거해야합니다 9.0.1. 이렇게하려면 다음 명령을 실행하십시오.

cd /Library/Java/JavaVirtualMachines/
ls -l

Java 버전이 포함 된 폴더를 식별 한 다음 제거하십시오.

sudo rm -rf jdk.x.x_xxx.jdk

그런 다음 Oracle에서 Java 8을 다시 다운로드하여 설치할 수 있습니다. 를 참조하십시오 jdk8 다운로드 페이지


"React Native는 Java 버전 8 이상에서는 작동하지 않습니다."가 절대적으로 잘못되었습니다. 지금 JDK 13에서 실행되는 빌드가 있습니다.
Ian Kemp

내 대답은 2018 년 12 월입니다. 2018 년부터 React Native를 가져온 다음 JDK 13에서 실행 한 다음 작동하면 여기에 와서 답변을 업데이트하십시오.
Guilherme Ferreira

0

창을 사용하는 경우; 환경 경로 변수에 jdk 경로를 추가했는지 확인하십시오. 그런 다음 반응 네이티브 프로젝트의 Android 폴더를 Android Studio로 엽니 다. 필요한 사항을 자동으로 업데이트합니다.


0

일반적으로 Android Studio를 사용하여 프로젝트를 빌드하는 것을 잊었을 때이 오류가 발생합니다. 간단한 동기화 및 Gradle 업그레이드가 작업을 수행합니다.


0

내 JDK를 8로 다운 그레이드하여이 문제를 해결합니다.


0

Ubuntu에서는 터미널에서 다음 명령 줄을 실행해야합니다.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-installer
sudo apt install oracle-java8-set-default
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.