【发布时间】:2017-01-12 09:14:58
【问题描述】:
我正在尝试在 android 模拟器 (react-native run-android) 上运行 react 本机应用程序,但是它不断崩溃并显示错误消息“MYAPP 已停止”。我试图弄清楚我可以在哪里进一步调试(错误消息、日志等)。我在终端和模拟器本身上都没有看到任何错误消息。因此,除了尝试解决应用无法部署的原因之外......在哪里可以进一步调试 android 模拟器上的应用部署问题?
旁注:我从版本 0.31.0 升级到 0.32.0 并运行了react-native upgrade 命令,这也要求覆盖某些文件(我选择了覆盖所有文件的选项文件)。我是否应该担心从升级到 0.32.0 的最新更改不起作用或不完整?我可以采取哪些步骤来验证是否有最新的更改?
更新:我创建了一个新的示例 react native 项目,只是为了看看 RN 的最新版本是否有问题。它工作得很好。然后在 index.android.js 中获取示例代码并在我的项目的 index.android.js 中覆盖它并重新运行。尝试将其部署到 Android 模拟器时仍然遇到同样的问题。删除了 node_modules 目录,重新运行,仍然是同样的问题。我现在认为这与升级过程有关......这非常令人沮丧。
更新 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 时存在的问题。我会发布一个答案,回答我自己的问题。
【问题讨论】:
-
看logcat。应该有一个堆栈跟踪。
-
@GabeSechan - 感谢您的快速回复。对于移动应用程序开发来说相当新,因此必须快速进行谷歌搜索以找出 logcat 是什么 - 我将使用堆栈跟踪结果更新问题。谢谢!
标签: android android-emulator react-native react-native-android