我正在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)
现在源文件以使上述更改在当前 shell 中生效:
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 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 本机应用程序。
希望这对某人有所帮助!
2018 年 12 月 ---- 日---关注---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 下载页面
如果您使用的是 Windows;确保将 jdk 路径添加到环境路径变量。然后从你的反应原生项目打开你的安卓文件夹到安卓工作室。它将自动更新必要的内容。
当我忘记使用Android Studio构建项目时,我通常会收到此错误。一个简单的同步和升级 Gradle 就可以完成这项工作。
我通过将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