加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React Native应用程序在Android模拟器上保持关闭

发布时间:2020-12-15 20:31:30 所属栏目:百科 来源:网络整理
导读:我正在尝试在 android模拟器上运行一个react本机应用程序(react-native run-android),但它一直在崩溃,错误消息“MYAPP已经停止”.我想弄清楚我可以在哪里进一步调试(错误消息,日志等).我没有在终端上或模拟器本身上看到任何错误消息.所以除了试图解决为什么
我正在尝试在 android模拟器上运行一个react本机应用程序(react-native run-android),但它一直在崩溃,错误消息“MYAPP已经停止”.我想弄清楚我可以在哪里进一步调试(错误消息,日志等).我没有在终端上或模拟器本身上看到任何错误消息.所以除了试图解决为什么应用程序不会部署…在 Android模拟器上进一步调试应用程序部署问题的人在哪里?

enter image description here

旁注:我从版本0.31.0升级到0.32.0并运行react-native upgrade命令,这也要求覆盖一些文件(我选择覆盖所有文件的选项).我是否应该担心从升级到0.32.0的最新变化不起作用或不完整?我可以采取哪些步骤来验证最新的更改?

更新:我创建了一个新的示例反应本机项目,以查看RN的最新版本是否有问题.它工作正常.然后在index.android.js中获取示例代码并在我的项目的index.android.js中覆盖它并重新运行.尝试将其部署到Android模拟器时仍然遇到同样的问题.删除了node_modules目录,reran,仍然是同样的问题.我现在认为这与升级过程有关……这非常令人沮丧.

更新v2:感谢@GabeSechan的提示和方向,这里是我找到的堆栈跟踪:

09-04 03:24:41.297  5008  5008 E AndroidRuntime: FATAL EXCEPTION: main
09-04 03:24:41.297  5008  5008 E AndroidRuntime: Process: com.helpr,PID: 5008
09-04 03:24:41.297  5008  5008 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.helpr/com.helpr.MainActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to com.facebook.react.ReactApplication
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread.-wrap12(ActivityThread.java)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:154)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6077)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
09-04 03:24:41.297  5008  5008 E AndroidRuntime: Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.facebook.react.ReactApplication
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at com.facebook.react.ReactActivity.getUseDeveloperSupport(ReactActivity.java:89)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:96)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.Activity.performCreate(Activity.java:6664)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
09-04 03:24:41.297  5008  5008 E AndroidRuntime:    ... 9 more

快速谷歌搜索后,似乎这是升级React Native时存在的问题.我会发一个答案,回答我自己的问题.

解决方法

事实证明,如果您要升级React Native,请注意升级过程不一定会更新所有必需的文件(在撰写本文时,升级到RN 0.32.0).事实证明这是一个已知问题( https://github.com/facebook/react-native/issues/8215).在解决之前,您需要手动更新位于./android/app/src/main/AndroidManifest.xml的AndroidManifest.xml文件.我建议创建一个示例react本机项目,并使用新创建的AndroidManifest.xml手动更新现有项目中的那个.此外,无论何时升级,都要在新创建的RN项目与您自己的项目之间进行差异,以验证是否不需要更新其他文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读