我试图在Windows 10上运行本机响应。当我运行npm run android时,出现以下错误
正在启动JS服务器... 在设备上构建和安装应用程序(cd android && gradlew.bat installDebug)...
失败:构建失败,并出现异常。
出了什么问题: 无法从“ 11.0.1”确定Java版本。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。
在https://help.gradle.org上获得更多帮助 无法在设备上安装该应用,请阅读上面的错误以获取详细信息。 确保您正在运行Android模拟器或已连接设备,并且 设置您的Android开发环境: https://facebook.github.io/react-native/docs/getting-started.html
答案 0 :(得分:3)
确保已在外壳中设置了Android和Java的必要路径。
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
ANDROID_HOME=/Users/username/Library/Android/sdk
ANDROID_NDK_HOME=/Users/username/Library/Android/sdk/ndk-bundle
而且,有时本机版本可能会与Java版本搞混,因此不建议立即使用Java SDK 11,因此建议使用Java 8,因为它是更稳定的版本。
尝试卸载Java SDK 11并安装Java 8,然后在shell配置中更新路径以匹配正确的位置,然后再试一次,您的应用应能按预期运行。
如果通过自制软件安装了Java,请尝试:
brew cask uninstall java
brew tap caskroom/versions
brew cask install java8
您完成了。
如果直接安装它,请尝试rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk
将其删除,然后直接或通过自制软件下载Java 8(推荐)。
答案 1 :(得分:0)
Android有时不支持最新的JAVA版本。
我建议使用 JAVA 8 ,它是Android最稳定的版本。
-
点击链接以安装JDK并再次更新JAVA_HOME
https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/
(忽略链接内的标题,只需遵循底部的步骤即可)
答案 2 :(得分:0)
TL; DR将Java版本降级为Java 8。
有时在Java 9和Java 11之间,java -version的格式已更改,导致Gradle损坏。
像1.x版本一样分级:
我测试过:
λ ~/m-demo/ master jenv versions
system
11.0
11.0.1
1.8
* 1.8.0.191 (set by ~/.jenv/version)
openjdk64-11.0.1
openjdk64-1.8.0.191