web-dev-qa-db-ja.com

Reactネイティブエラー:「 '9.0.1'からJavaのバージョンを特定できませんでした。」

私はMacOSに取り組んでいて、react-nativeから始めています。

始めるための最初のステップの1つは、実行することです: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

これを修正する方法についての任意のアイデア?

87
Xar

PROJECT_PATH/Android/gradle/wrapper/gradle-wrapper.propertiesファイルで、distributionUrlを次のように更新します。

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

関連する gradle distribution documentation を参照してください。

174
Muhammad Adeel

本当にこのエラーを回避する最も早い方法はJDK 8を使用することです。本当にJDK 9を使用する必要がある場合を除いて。

http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html

環境変数Java_HOMEを新しいJDKバージョンに変更することを忘れないでください。

24
Xen_mar

JDK8がインストールされていることを確認してからJava_HOMEJDK8に設定してください

例えば:

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

または.bash_*ファイルを使用してこの変数を設定してください。

15
bobu

MacOSでは、以下のコマンドを実行しました。

brew cask uninstall Java
brew tap caskroom/versions
brew cask install Java8
7
Andres Felipe
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 
6
sotheng ski

私はこのエラーを受けていましたが、もっと新しいバージョンのJava - 10.0.2のためです。

私のエラーを修正するために、私はこのGithub号で@Blacktovicheによって言及されたステップに従った: https://github.com/facebook/react-native/issues/17688

Android Studioを介してプロジェクト内のAndroidフォルダーを開くと、Android Gradle plugin update recommendedとプロンプトが出されました。当時、私はDon't remind me again for this projectをクリックするように指示された少し古くなったチュートリアルに従っていました。

ただし、上記のgithubの問題で@Blacktovicheが推奨しているように、Gradleプラグインを更新する必要がある場合があります。更新後、Install Build Tools 27... and sync projectをクリックする必要もありました(正確なバージョンを覚えていません)。

これらの手順を実行した後、私はAndroid Studioエミュレータで反応ネイティブアプリケーションを正常に実行することができました。

これが誰かに役立つことを願っています!

React Nativeは8以上のJavaバージョンでは動作しませんので、9.0.1バージョンをアンインストールする必要があります。これを行うには、以下のコマンドを実行します。

cd /Library/Java/JavaVirtualMachines/
ls -l

Javaバージョンを含むフォルダを特定してから削除します。

Sudo rm -rf jdk.x.x_xxx.jdk

その後、OracleからJava 8を再度ダウンロードしてインストールできます。 jdk8ダウンロードページを参照してください

2

私はJDKを8にダウングレードすることでこれを解決します。

1
Gurzoni

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
1

あなたが窓を使っているならば。 jdkパスをEnvironmentパス変数に追加してください。次に、ネイティブプロジェクトからAndroidスタジオにAndroidフォルダーを開きます。それはあなたのために必要なものを自動的に更新します。

0
Shaon

私は通常、Android Studioを使ってプロジェクトをビルドするのを忘れたときにこのエラーが発生します。簡単な同期とアップグレードGradleは仕事をするでしょう。

0
Nick Rameau