私は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
これを修正する方法についての任意のアイデア?
PROJECT_PATH/Android/gradle/wrapper/gradle-wrapper.properties
ファイルで、distributionUrl
を次のように更新します。
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.Zip
関連する gradle distribution documentation を参照してください。
本当にこのエラーを回避する最も早い方法はJDK 8を使用することです。本当にJDK 9を使用する必要がある場合を除いて。
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_*
ファイルを使用してこの変数を設定してください。
MacOSでは、以下のコマンドを実行しました。
brew cask uninstall Java
brew tap caskroom/versions
brew cask install Java8
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
私はこのエラーを受けていましたが、もっと新しいバージョンの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ダウンロードページを参照してください
私はJDKを8にダウングレードすることでこれを解決します。
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
あなたが窓を使っているならば。 jdkパスをEnvironmentパス変数に追加してください。次に、ネイティブプロジェクトからAndroidスタジオにAndroidフォルダーを開きます。それはあなたのために必要なものを自動的に更新します。
私は通常、Android Studioを使ってプロジェクトをビルドするのを忘れたときにこのエラーが発生します。簡単な同期とアップグレードGradleは仕事をするでしょう。