【发布时间】:2017-11-09 00:50:29
【问题描述】:
我正在尝试让 React Native 在模拟器上运行。我正在使用 Genymotion,它工作正常,虚拟机打开没有任何问题,我已将 SDK 添加到其配置中。
我打开了模拟器并可以正常工作,但是当我运行 react-native run-android 时出现以下错误。
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...
FAILURE: Build failed with an exception.
What went wrong:
java.lang.ExceptionInInitializerError (no error message)
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 9 而 React Native 需要 java 8 (https://github.com/facebook/react-native/issues/11755)
所以我做了以下
我尝试通过这样做来更改版本 sudo update-java-alternatives --set java-8-oracle
然后检查版本 javac -version
它返回 javac 1.8.0_131
如果我再次运行该应用程序,我仍然会从上面收到错误
但是当我回显 $PATH 时,我看到它仍在引用 java 9 文件夹
echo $PATH /home/andrei/.nvm/versions/node/v7.5.0/bin:/home/andrei/bin:/home/andrei/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-9-oracle/bin:/usr/lib/jvm/java-9-oracle/db/bin:/home/andrei/Android/Sdk
我该如何改变或解决这个问题?
【问题讨论】:
-
如果在 Ubuntu 上发生这种情况,它与 Android 有什么关系?
-
嗯,我使用的是安卓模拟器,它需要运行 java 。我标记了 android,因为我正在尝试构建一个 android 开发环境
-
意味着应用程序在 Android 设备上崩溃了,因此它与 ubuntu 无关。
-
不,它甚至没有在 android 上运行它在尝试编译我猜的代码时崩溃了
-
Compile = IDE,与操作系统无关。如果应用程序在 Ubuntu 操作系统上运行时崩溃,这将导致使用 ubuntu 对其进行标记
标签: java react-native android-emulator react-native-android