当我尝试在一个简单的项目上运行react-native run-android时,我看到以下错误。
同样的项目在iOS模拟器中运行良好。
我认为按照说明我已经完成了所有设置,但我完全不知道为什么会这样。这是完整的日志:
$ react-native run-android JS服务器已经运行。 / bin / sh:adb:找不到命令 在设备上构建和安装应用程序(cd android&& ./gradlew installDebug ...
失败:构建因异常而失败。
出了什么问题: org.slf4j.impl.SimpleLoggerFactory无法强制转换为org.gradle.logging.internal.slf4j.OutputEventListenerBackedLoggerContext
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。 无法在设备上安装应用程序,请阅读上面的错误以获取详细信息。 确保您正在运行Android模拟器或已连接设备 设置Android开发环境: https://facebook.github.io/react-native/docs/android-setup.html
这是堆栈跟踪:
$ ./gradlew installDebug --stacktrace
失败:构建因异常而失败。
出了什么问题: org.slf4j.impl.SimpleLoggerFactory无法强制转换为org.gradle.logging.internal.slf4j.OutputEventListenerBackedLoggerContext
尝试: 使用--info或--debug选项运行以获得更多日志输出。
例外情况是: java.lang.ClassCastException:org.slf4j.impl.SimpleLoggerFactory无法强制转换为org.gradle.logging.internal.slf4j.OutputEventListenerBackedLoggerContext 在org.gradle.logging.internal.slf4j.Slf4jLoggingConfigurer.configure(Slf4jLoggingConfigurer.java:42) 在org.gradle.logging.internal.DefaultLoggingConfigurer.configure(DefaultLoggingConfigurer.java:34) 在org.gradle.logging.internal.LoggingSystemAdapter.setLevel(LoggingSystemAdapter.java:55) 在org.gradle.logging.internal.LoggingSystemAdapter.on(LoggingSystemAdapter.java:42) 在org.gradle.logging.internal.DefaultLoggingManager $ StartableLoggingSystem.start(DefaultLoggingManager.java:191) 在org.gradle.logging.internal.DefaultLoggingManager.start(DefaultLoggingManager.java:60) 在org.gradle.logging.internal.DefaultLoggingManager.start(DefaultLoggingManager.java:31) at org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:201) 在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:169) 在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 在org.gradle.launcher.Main.doAction(Main.java:33) 在org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 在org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54) 在org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35) 在org.gradle.launcher.GradleMain.main(GradleMain.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 在org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30) 在org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) 在org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
答案 0 :(得分:1)
这通常意味着gradle正在加载2个版本的sl4j。
尝试查看/ Library / Java / Extensions /中是否有任何slf4j.jars。如果是这样,将它们移出来它应该可以工作。