未能通知项目评估侦听器> javax/xml/bind/annotation/XmlSchema



我试图首先运行一个带有react-native run-android的 react-native 应用程序。我希望它能工作,就像我打电话给react-native run-ios时一样。有很多用户在堆栈上出现相同类型的错误,"未能通知项目评估侦听器"。

观察到的行为

> react-native run-android
Scanning folders for symlinks in /Users/tiagogouvea/www/go-along/mobile/node_modules (12ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.gradle.internal.reflect.JavaMethod (file:/Users/tiagogouvea/.gradle/wrapper/dists/gradle-4.0-milestone-1-all/2rnr7rhi2zsmkxo9re7615fy6/gradle-4.0-milestone-1/lib/gradle-base-services-4.0.jar) to method java.lang.ClassLoader.getPackages()
WARNING: Please consider reporting this to the maintainers of org.gradle.internal.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /Users/tiagogouvea/Library/Android/sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > javax/xml/bind/annotation/XmlSchema
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED in 4s
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

环境

  • npm ls react-native-scripts : 空
  • npm ls react-native : 反应-native@0.50.3
  • npm ls expo : 空
  • node -v : v8.0.0
  • npm -v : 5.5.1
  • yarn --version : 1.2.1
  • watchman version : 4.9.0

    1. 操作系统:macOs 10.12.6
    2. 手机/模拟器/模拟器和版本:Genymotion图像

正如OP提交的错误评论中提到的,Gradle似乎在Java 9或更高版本中存在问题。

您需要安装 JDK 8(JRE 是不够的,高于 8 的版本将不起作用(并告诉 Gradle 使用它,而不是系统上的默认 Java 版本。

就我而言(运行 Ubuntu 18.04(,这需要安装openjdk-8-jdk(我已经有 JDK 11 和 JRE 8,但没有 JDK 8(。

您可以通过多种方式告诉 Gradle 使用 JDK 8(在所有示例中,将路径替换为 JDK 安装的实际路径;此处显示的路径对 Ubuntu 18.04 amd64 有效(:

  1. 使用选项运行 Gradle

    -Dorg.gradle.java.home=/usr/lib/jvm/java-8-openjdk-amd64
    
  2. 确保~/.gradle/gradle.properties包含该行

    org.gradle.java.home=/usr/lib/jvm/java-8-openjdk-amd64
    
  3. 在您的build.gradle中包括以下行:

    compileJava.options.fork = true
    compileJava.options.forkOptions.executable = /usr/lib/jvm/java-8-openjdk-amd64
    

这帮助我摆脱了不同项目上的相同错误。

事实上,我运行的是Java 9,运行一个java --version给了我:

$: java --version java 9 Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

为了完全解决它,我做了:

1(删除了Java 9:

sudo rm -rf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin"  
sudo rm -rf "/Library/PreferencePanes/JavaControlPanel.prefPane"  
sudo rm -rf "~/Library/Application Support/Java"

2( 安装回 Java 8 - 在此处下载

3(在我的bash文件中添加了JAVA_HOME行(~/.bash_profile(:

nano ~/.bash_profile  
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

* 注意在路径上使用正确的jdk版本

而且,现在一切都很好。感谢您@user149408帮助!

我已经通过清理所有 Gradle 缓存、停止 Gradle 守护进程并使用以下命令成功创建了一个新版本来解决此问题。确保您当前的目录是安卓的。

rm -rf ~/.gradle/caches && ./gradlew --stop && ./gradlew cleanBuildCache && ./gradlew bundleRelease

相关内容

  • 没有找到相关文章

最新更新