React Native:安装 react-navigation 后,应用程序未加载,但没有错误消息

Par*_*val 1 android npm react-native

我遵循了 React Native入门页面中的所有步骤,包括运行npx react-native init AwesomeProject 以创建一个入门项目。(我正在遵循“React Native CLI 快速入门”/“macOS”/“Android”的步骤)。然后我打开 Android Studio,启动模拟器,cd 进入项目文件夹,然后运行npx react-native run-android. 一切正常。我可以在这里和那里调整启动项目,重新加载,一切正常。

但我需要使用 React Navigation。我按照这里的步骤操作,显然 React Navigation 的安装没有任何问题。然后,当我npx react-native run-android再次运行时,该东西成功构建,而 Metro 的东西——那个单独的终端选项卡/窗口——说“完成”。但模拟器不显示我的应用程序。一秒钟,它显示一个空白页面,然后消失,我得到模拟器的主屏幕。即使我根本不调整启动代码 - 我什至没有尝试导入 React Navigation,导致此错误的所有我需要做的就是安装它。

这是我的终端选项卡之后的样子npx react-native run-android

在此处输入图片说明

在此处输入图片说明

安装 React Navigation 后,我尝试关闭终端和 Android Studio。一样。

我使用的是 macOS 10.15.3 和 Android Studio 3.5.3。

我究竟做错了什么?

se2*_*2as 6

我也看到了这个问题。

旁白:我使用 Android Studio 的 logcat 查看启动我的应用程序时产生的任何错误。我的 logcat 包含以下错误。虽然这并没有真正帮助我。

--------- beginning of crash
2020-05-04 12:14:45.284 6139-6170/com.gettingstarted E/AndroidRuntime: FATAL EXCEPTION: FlipperConnectionThread
    Process: com.gettingstarted, PID: 6139
    java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.flipper.android.EventBase; see exception in other thread
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.285 6139-6169/com.gettingstarted E/AndroidRuntime: FATAL EXCEPTION: FlipperEventBaseThread
    Process: com.gettingstarted, PID: 6139
    java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
        at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:25)
        at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:44)
        at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.416 6171-6178/? E/.gettingstarte: Failed to send DDMS packet REAQ to debugger (-1 of 20): Broken pipe
2020-05-04 12:14:45.709 6171-6171/? E/SoLoader: couldn't find DSO to load: libjscexecutor.so result: 0
2020-05-04 12:14:45.800 6171-6203/? E/SoLoader: couldn't find DSO to load: libfbjni.so result: 0
2020-05-04 12:14:45.801 6171-6204/? E/AndroidRuntime: FATAL EXCEPTION: FlipperConnectionThread
    Process: com.gettingstarted, PID: 6171
    java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.flipper.android.EventBase; see exception in other thread
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.801 6171-6203/? E/AndroidRuntime: FATAL EXCEPTION: FlipperEventBaseThread
    Process: com.gettingstarted, PID: 6171
    java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
        at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:25)
        at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:44)
        at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.817 1656-1656/? E/lowmemorykiller: Error writing /proc/6171/oom_score_adj; errno=22
2020-05-04 12:14:45.905 1775-1804/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
Run Code Online (Sandbox Code Playgroud)

在网上搜索我发现有些人说要清洁您的环境。因此我做了以下

  • 创建了一个新的模拟器:仍然没有更改问题
  • 删除“node_modules”和“package-lock.json”,然后运行“npm install”: 仍然没有更改
    问题
  • 清理了所有缓存/“node_modules”/“package-lock.json”:仍然没有更改问题
    • 删除了地铁缓存(在我的机器上它在“rm -rf $TEMP/metro-cache”中,其他人说它在“rm -rf $TEMP/metro-bundler-cache-*”中)
    • 其他人说要删除“rm -rf $TEMP/react-native-packager-cache-*”,但我的 Windows 机器上没有“react-native-packager-cache”文件夹
    • 删除 node_modules 和 package-lock.json,然后运行“npm install”
    • “npm 缓存清理 --force”

然而我终于得到了一个工作环境

  • 删除“node_modules”和“package-lock.json”
  • “npm 安装”
  • “光盘安卓”
  • “梯度清洁”
  • 回到 root 运行应用程序

对我来说,从 Android 下清除 gradle 缓存似乎是关键步骤。