我正在运行一个react native应用程序,但这个应用程序在模拟器上运行良好,但不在物理设备上运行。App安装成功并在物理设备上打开,但打开时显示白屏一段时间后崩溃/关闭。找不到原因
当我在物理设备上通过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
异常堆栈:
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$1.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/gradle.properties
中更新FLIPPER_VERSION
(最新的实际上是0.116.0)应该可以解决这个问题。
一件事是更新FLIPPER_VERSION。其次是确保你的设备连接到你的系统,react native(在调试模式下)在系统上创建一个本地主机,并在设备(通过电线连接到系统的设备)上运行应用程序。如果你将设备断开,它将不能正常工作。
在某些手机上,插入usb连接线后,选择"文件传输选项";在你的手机上。还要确保"Usb调试"在"开发人员选项"中启用。菜单。
尝试将设备连接到计算机并在android studio中检查logcat。您应该能够看到日志。