React Native 应用程序不在物理设备上 运行

React Native app is not running on physical device

我是 运行 一个 React 原生应用,但这个应用 运行 在模拟器上没问题,但在物理设备上 运行 不行。 应用安装成功并在实体设备上打开,但打开后白屏一段时间后是crashed/closed。 找不到原因。

当我在物理设备上通过 android studio 运行 项目时,它给我这个错误:

E/SoLoader: couldn't find DSO to load: libflipper.so caused by: dlopen failed: cannot locate symbol "_Unwind_Backtrace" referenced by "/data/app/com.project-xyz==/lib/arm64/libflipper.so"... result: 0

StackTrace 是:

    D/SoLoader: About to load: libflipper.so
    libflipper.so not found on /data/data/com.project/lib-main
    libflipper.so found on /data/app/com.project-xyz==/lib/arm64
    Not resolving dependencies for libflipper.so
W/System.err: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Unwind_Backtrace" referenced by "/data/app/com.project-xyz==/lib/arm64/libflipper.so"...
        at java.lang.Runtime.load0(Runtime.java:938)
        at java.lang.System.load(System.java:1631)
        at com.facebook.soloader.SoLoader.load(SoLoader.java:405)
        at com.facebook.soloader.DirectorySoSource.loadLibraryFrom(DirectorySoSource.java:77)
        at com.facebook.soloader.DirectorySoSource.loadLibrary(DirectorySoSource.java:50)
        at com.facebook.soloader.ApplicationSoSource.loadLibrary(ApplicationSoSource.java:89)
W/System.err:     at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:860)
        at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:740)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:654)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:634)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:582)
        at com.facebook.flipper.android.EventBase.<clinit>(EventBase.java:19)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
   

尝试将您的设备连接到计算机并在 android 工作室中检查 logcat。您应该能够看到日志。

android/gradle.properties 中的更新 FLIPPER_VERSION(最新的实际上是 0.116.0)应该可以解决这个问题。

一件事是更新FLIPPER_VERSION。 其次是确保您的设备已连接到您的系统,本机反应(在调试模式下)在系统上创建本地主机并在设备上运行应用程序(设备通过有线连接到系统)。如果您断开设备,它将无法正常工作。