Pracuję na MacOS i dopiero zaczynam react-native
.
Jednym z pierwszych kroków do rozpoczęcia jest uruchomienie: react-native run-android
lub react-native run-ios
. Ale pojawia się ten błąd:
react-native run-android
Wynik:
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
Oto, co otrzymuję, gdy biegam java --version
:
java --version
Wynik:
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)
Edytować
Moja wersja javac:
javac --version
Wynik:
javac 9.0.1
Masz jakiś pomysł, jak to naprawić?
react-native
gradle
Xar
źródło
źródło
javac -version
też biegać w terminalu, proszęOdpowiedzi:
W swoim
PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
pliku zaktualizuj swójdistributionUrl
do następujących:Zobacz powiązaną dokumentację dotyczącą dystrybucji gradle
źródło
gradle-4.10-all.zip
Naprawdę najszybszym sposobem obejścia tego błędu jest użycie JDK 8. Z wyjątkiem sytuacji, gdy naprawdę potrzebujesz użyć JDK9.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Nie zapomnij zmienić zmiennej środowiskowej JAVA_HOME na nową wersję JDK!
źródło
Upewnij się, że masz
JDK8
zainstalowane, a następnie ustawićJAVA_HOME
naJDK8
na przykład:
lub użyj
.bash_*
plików do ustawienia tej zmiennejźródło
export JAVA_HOME=$(/usr/libexec/java_home)
zmiana go na wybranieexport JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
najnowszej zainstalowanej wersji Java v8 i naprawiono ten sam problem.Następnie dodaj następujące wiersze:
Teraz pobierz plik, aby powyższe zmiany były skuteczne w bieżącej powłoce:
źródło
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
rozwiązała dla mnie sprawę - dzięki!Na MacOS uruchomiłem następujące polecenia:
źródło
Otrzymałem ten błąd, ale dla nowszej wersji Java - 10.0.2.
Aby naprawić mój błąd, wykonałem kroki wymienione
@Blacktoviche
w tym problemie na Github: https://github.com/facebook/react-native/issues/17688Kiedy otworzyłem
android
folder wewnątrz mojego projektu za pośrednictwem Android Studio, zostałem poproszonyAndroid Gradle plugin update recommended
. W tym czasie postępowałem zgodnie z nieco przestarzałym samouczkiem, który nakazał mi kliknąćDon't remind me again for this project
.Jednak zgodnie z
@Blacktoviche
zaleceniami w kwestii github, do której link znajduje się powyżej, czasami konieczna jest aktualizacja wtyczki Gradle. Po aktualizacji musiałem też kliknąćInstall Build Tools 27... and sync project
(nie pamiętam dokładnej wersji).Po wykonaniu tych czynności udało mi się pomyślnie uruchomić moją natywną aplikację React na emulatorze Android Studio.
Mam nadzieję, że to komuś pomoże!
źródło
---- Grudzień 2018 --- zachowaj uwagę --- React Native nie działa z wersjami Java wyższymi niż 8, więc musisz odinstalować swoją
9.0.1
wersję. Aby to zrobić, wykonaj następujące polecenia:Zidentyfikuj folder zawierający Twoją wersję Java, a następnie usuń go
Następnie możesz ponownie pobrać i zainstalować Javę 8 z Oracle. Zapoznaj się ze stroną pobierania jdk8
źródło
Jeśli używasz systemu Windows; Upewnij się, że dodajesz ścieżkę jdk do zmiennej ścieżki środowiska. Następnie otwórz folder Androida z projektu natywnego Reaguj w Android Studio. Automatycznie zaktualizuje niezbędne rzeczy.
źródło
Zwykle pojawia się ten błąd, gdy zapomnę zbudować projekt za pomocą Android Studio. Prosta synchronizacja i aktualizacja Gradle załatwią sprawę.
źródło
Rozwiązuję ten problem, obniżając mój JDK do 8.
źródło
W systemie Ubuntu należy uruchomić następujące wiersze poleceń w terminalu:
źródło