React Native 应用程序崩溃而没有任何错误日志
Posted
技术标签:
【中文标题】React Native 应用程序崩溃而没有任何错误日志【英文标题】:React Native app crashes without any error log 【发布时间】:2018-08-27 08:56:29 【问题描述】:。 “react-native log-android
”终端上没有输出,没有出现错误的红屏,Android 模拟器只是崩溃了。尝试与 Expo 一起运行,再次崩溃,没有错误
在使用 TextInput
时发生。我对如何修复代码有一些想法,但想了解为什么应用程序在没有错误日志的情况下崩溃并使调试变得更加困难?
【问题讨论】:
你能在ios设备上查看吗? 能否分享您遇到此问题的代码? 【参考方案1】:我的错误已通过删除构建文件夹(在 android/app 内)并运行来修复
npx react-native run-android
【讨论】:
这对我有用...我有命令“yarn android”来构建,但必须删除 android/app/build。 也为我工作过,我在安装 npm 包后崩溃了,但是这个方法解决了这个问题 删除构建文件夹给了我内存不足错误现在修复该错误 @ZeeshanAhmadKhalil 在 android 文件夹中运行./gradlew clean
【参考方案2】:
运行 adb logcat
您可以在 package.json 中的 name 字段下找到您的应用名称。
另外,在查找专门处理 react native 的错误时,请尝试运行
adb logcat | grep 'redbox'
这样您就不必扫描整个日志文件。
或者试试this article中的方法:
在终端中运行
adb logcat *:S ReactNative:V ReactNativeJS:V
以查看您的 Android 应用的日志。
【讨论】:
Thnx 我能找到关于,为什么 android 应用程序崩溃了 我对你的命令很感兴趣。 'grep' 未被识别为内部或外部命令, @BaiMaoli "grep" 是一个 Linux 命令。在 windows 中,等价物是“findstr”。 查看使用zsh时的日志使用adb logcat '*:S' ReactNative:V ReactNativeJS:V
【参考方案3】:
我在我的 Linux PC 上运行一个 Android 项目,然后我在 MacOS PC 上对其进行了一些更改,当我将项目拉回 Linux 时,我遇到了崩溃
在android
文件夹中,运行:
./gradlew clean
然后尝试再次运行它。
【讨论】:
这救了我。谢谢。 也救了我。谢谢【参考方案4】:如果 react native 应用程序崩溃而没有错误消息,则检查 Android Studio 的 Logcat 中的问题可以完美运行。但不要忘记使用您的包名创建一个过滤器。
-
打开 Android Studio
打开 Logcat
点击 logcat 屏幕右上角的“编辑过滤器配置”
填写您的条件(不要忘记包名)
在安卓设备或模拟器上运行你的 react 原生项目
【讨论】:
【参考方案5】:这可能是因为没有 SOLoader。
确保
implementation'com.facebook.soloader:soloader:0.9.0+'
在android/app/build.gradlle的依赖项下添加
清理你的构建
cd android
./gradlew clean
尝试捆绑
./gradlew bundleRelease
退出安卓文件夹
cd ../
尝试运行
npx react-native run-android --variant=release
【讨论】:
【参考方案6】:我的应用程序不断崩溃,因为我在几个地方更改了应用程序的名称。确保您的应用名称在所有地方都相同。 检查文件夹名称是否在
android/app/src/main/java/com/<appname>
与您的应用在清单文件中的名称相同
android/app/src/main/
【讨论】:
【参考方案7】:我的 RN App 之前可以正常工作,突然有一天它不工作了,一直在没有错误日志的情况下崩溃。我所要做的就是:删除android
文件夹下的build
和.gradle
文件夹,然后再次运行,就可以了。希望它可以帮助某人。
【讨论】:
【参考方案8】:在运行 Android 模拟器进行调试的同时也运行
Android Studio -> 工具 -> Android -> Android 设备监视器
它会在LogCat
选项卡下准确告诉您应用程序崩溃的原因。
【讨论】:
Android 设备监视器已在 Android Studio 3.1 中弃用,并从 Android Studio 3.2 中移除。您可以通过 Android 设备监视器使用的功能已被新功能取代。【参考方案9】:两个简单的步骤解决了我的问题...
打开 android studio 并从 src/main/assest..(** 如果有的话) 中删除离线包 打开 MainApplication.java 并删除以下导入.. 导入 com.facebook.react.BuildConfig
【讨论】:
【参考方案10】:我有同样的问题,也许你犯了同样的错误。
确保您没有更改应用的包名称(例如:com.myapp.app)。
我为此浪费了很多时间。好像其他人在 google play 上发布了一个同名的应用程序,而我没有在我应该在我的每个地方正确更改它。
无论如何,如果这不是你的问题,它可能是你在 build.gradle 或其他配置文件中更改的内容,试着记住你上次更改的地方。
【讨论】:
【参考方案11】:在 Windows 10 上遇到此问题
最终为我解决的问题是:
-
删除
C:\Users\%userprofile%\.gradle\caches
彻底删除your-react-app/android
文件夹 - 然后在 git 中“放弃更改”,以便您取回原始文件
重新运行npx react-native start
和npx react-native run-android
【讨论】:
【参考方案12】:这对我有用
运行react-native start --reset-cache
在此之后,如果应用程序抛出一些导入错误,则终止任务并正常运行 react-native start
或 npm start
并打开应用程序。
【讨论】:
【参考方案13】:删除我的node_modules
,重新安装并运行
npx react-native run-android
帮我修好了
【讨论】:
【参考方案14】:如果这些都不起作用,请不要犹豫,只过滤警告或更高,因为有时会有一个低级别的错误不会被 RN 过滤器捕获。
我只能通过以下方式找到我的问题:
adb logcat '*:W'.
【讨论】:
【参考方案15】:对我来说是一个非常简单的解决方案。 删除此文件-> gradle-wrapper.properties 并使用 android studio 运行 android 文件夹。
【讨论】:
以上是关于React Native 应用程序崩溃而没有任何错误日志的主要内容,如果未能解决你的问题,请参考以下文章
React Native 应用在 IOS 13 版本设备中崩溃
Expo React Native App在android上崩溃
iOs React Native 应用程序因 libRCTFBSDK.a 而崩溃
Expo react-native app with firebase phone authentication在web上工作,在ios模拟器上出错,在Android上崩溃而没有警告