我正在使用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
有关如何解决这个问题的想法吗?
答案 0 :(得分:176)
在 PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
文件中,将distributionUrl
更新为以下内容:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip
答案 1 :(得分:24)
实现此错误的最快方法是使用JDK 8.除非您确实需要使用JDK9。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
不要忘记将您的环境变量JAVA_HOME更改为新的JDK版本!
答案 2 :(得分:15)
确保您已安装JDK8
,然后将JAVA_HOME
设置为JDK8
例如:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
或使用.bash_*
个文件来设置此变量
答案 3 :(得分:7)
在MacOS上,我运行了以下命令:
brew cask uninstall java
brew tap caskroom/versions
brew cask install java8
答案 4 :(得分:6)
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)
现在在当前shell中获取文件以使上述更改生效:
source ~/.bash_profile
答案 5 :(得分:3)
我遇到了这个错误,但是对于Java的最新版本-10.0.2。
要解决我的错误,我按照了@Blacktoviche
在此Github问题中提到的步骤: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应用。
希望这对某人有帮助!
答案 6 :(得分:2)
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 download page
答案 7 :(得分:1)
在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
答案 8 :(得分:1)
我通过将JDK降级为8来解决此问题。
答案 9 :(得分:0)
如果您使用的是Windows;确保将jdk路径添加到Environment路径变量。 然后从您的react native项目打开android文件夹到android studio中。它将自动为您更新必要的内容。
答案 10 :(得分:0)
当我忘记使用Android Studio构建项目时,通常会出现此错误。一个简单的同步和升级Gradle就可以完成工作。