React Native应用崩溃,没有任何错误日志。

65
React Native应用程序崩溃,没有任何错误日志。 终端上没有"react-native log-android"的输出,也没有带有错误的红色屏幕,Android模拟器只是崩溃了。 尝试使用Expo运行,同样会崩溃但不报错。这种情况发生在使用TextInput时。我有一些想法,可以修复代码,但想知道为什么应用程序会在没有错误日志的情况下崩溃,并使调试更加困难?

2
你能在iOS设备上检查一下吗? - Anjal Saneen
请问您能否分享一下您遇到问题的代码? - likith sai
20个回答

54

通过删除 android/app 目录下的 build 文件夹并运行,我的 bug 问题已得到解决。

npx react-native run-android

1
这是对我有效的方法... 我使用命令 "yarn android" 进行构建,但必须删除 android/app/build。 - jscul
1
对我也起作用了,我在安装npm包后遇到了崩溃问题,但这种方法解决了这个问题。 - AMINEDGE
删除构建文件夹导致我出现了内存错误,现在正在修复该错误。 - Zeeshan Ahmad Khalil
1
@ZeeshanAhmadKhalil 在android文件夹中运行./gradlew clean - Ashad Nasim
1
你能解释得更详细一些吗?android/app位于哪里? - M.Shahzad
显示剩余2条评论

41

运行 adb logcat 命令。

您可以在 package.json 中的 name 字段下找到应用程序名称。

如果要查找与 React Native 相关的错误,请尝试运行以下命令:

adb logcat | grep 'redbox'

这样您就不必扫描整个日志文件。

或者尝试此文章中展示的方法:

在终端中运行 adb logcat *:S ReactNative:V ReactNativeJS:V 以查看 Android 应用程序的日志。


谢谢,我找到了为什么安卓应用程序崩溃的原因。 - Salman500
2
我遇到了您的命令问题。 'grep' 不被识别为内部或外部命令, - BaiMaoli
1
@BaiMaoli,“grep”是Linux命令。在Windows中,相当于“findstr”。 - Jwags
5
使用zsh查看日志,请输入 adb logcat '*:S' ReactNative:V ReactNativeJS:V - andrewgi

15

我在Linux PC上运行了一个Android项目,然后在MacOS PC上对其进行了一些更改,当我将项目拉回Linux时,我遇到了崩溃问题。

android文件夹中,只需运行:

./gradlew clean

然后尝试再次运行它。


这拯救了我。谢谢你。 - Shane Sepac
也帮了我大忙。谢谢你。 - yooneskh
但是我正在使用VS Code,它在VS Code中也能工作吗? - M.Shahzad

13

如果这些都不起作用,请尝试仅过滤警告或更高级别的内容,因为有时会出现低级别错误,RN 过滤器可能无法捕获到。

我只能通过以下方式找到我的问题:

adb logcat '*:W'.

7

如果 React Native 应用程序崩溃但没有错误消息,检查 Android Studio 的日志可以解决问题。但不要忘记创建一个带有您的包名的筛选器。

  1. 打开 Android Studio
  2. 打开 Logcat
  3. 在日志屏幕的右上角单击“编辑筛选器配置”
  4. 填写您的条件(不要忘记包名)
  5. 在 Android 设备或模拟器上运行您的 React Native 项目

enter image description here


4
可能是因为缺少SOLoader。
确保在Android/app/build.gradle的dependencies中添加了以下依赖项: implementation 'com.facebook.soloader:soloader:0.9.0+' 清理构建: cd android ./gradlew clean 尝试打包: ./gradlew bundleRelease 退出android文件夹: cd ../ 尝试运行: npx react-native run-android --variant=release

3
我的RN应用之前一直能够正常工作,但突然有一天它无法工作了,没有错误日志而不断崩溃。我所需要做的就是:删除android文件夹下的build.gradle文件夹,然后重新运行,这样就可以正常工作了。希望这能帮到别人。

2

我的应用程序一直崩溃,因为我在几个地方改变了应用程序的名称。请确保您的应用程序名称在所有地方均相同。 检查以下文件夹名称:

android/app/src/main/java/com/<appname>

在清单文件中,该名称与您的应用程序名称相同。

(注:该句话建议和上下文一起翻译,以更好地理解含义。)

android/app/src/main/

1
删除我的node_modules,重新安装它们并运行。
npx react-native run-android

帮我解决了这个问题


1

这对我有用
运行react-native start --reset-cache
如果应用程序出现一些导入错误,请终止任务并正常运行react-native startnpm start,然后打开应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接