저는 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
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변
당신의에서 PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
파일, 당신을 업데이트distributionUrl
다음에 :
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip
관련 Gradle 배포 문서 참조
답변
이 오류를 해결하는 가장 빠른 방법은 JDK 8을 사용하는 것입니다. JDK9를 실제로 사용해야하는 경우는 예외입니다.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
환경 변수 JAVA_HOME을 새 JDK 버전으로 변경하는 것을 잊지 마십시오!
답변
당신이 있는지 확인 JDK8
설치 후 설정 JAVA_HOME
에JDK8
예를 들면 :
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
또는 .bash_*
파일을 사용하여이 변수를 설정하십시오.
답변
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
답변
MacOS에서 다음 명령을 실행했습니다.
brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"
답변
이 오류가 발생했지만 최신 버전의 Java-10.0.2.
오류를 수정하기 @Blacktoviche
위해이 Github 문제에서 언급 한 단계를 따랐습니다 . https://github.com/facebook/react-native/issues/17688
android
Android 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 에뮬레이터에서 반응 네이티브 앱을 성공적으로 실행할 수있었습니다.
이것이 누군가를 돕기를 바랍니다!
답변
—- 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 다운로드 페이지