4

我試圖在android模擬器上運行反應原生應用程序(react-native run-android),但它不斷崩潰的錯誤消息「MYAPP已停止」。我試圖找出我可以在哪裏進一步調試(錯誤消息,日誌等)。我並沒有在終端上看到任何錯誤信息,也沒有看到仿真器本身。因此,除了試圖解決爲什麼應用程序不會部署...在Android模擬器上,您看到進一步調試應用程序部署問題的位置?反應本機應用程序不斷關閉在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,仍是同樣的問題。我現在認爲這與升級過程有關......這是非常令人沮喪的。

更新版:感謝@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。我會發表一個答案,回答我自己的問題。

+1

看看logcat。應該有一個堆棧跟蹤。 –

+0

@GabeSechan - 感謝您的快速響應。移動應用程序開發相當新穎,因此必須快速執行谷歌搜索才能找出logcat是什麼 - 我將用堆棧跟蹤結果更新問題。謝謝! –

+2

請查閱https://github.com/facebook/react-native/issues/8215 –

回答

2

事實證明,如果您要升級React Native,請注意升級過程不必更新所有必需的文件(在撰寫本文時,升級到RN 0.32.0)。原來這是一個已知問題(https://github.com/facebook/react-native/issues/8215)。在解決該問題之前,您需要手動更新位於./android/app/src/main/AndroidManifest.xml的AndroidManifest.xml文件。我會建議創建一個示例反應原生項目,並使用新創建的AndroidManifest.xml從手動更新現有項目中的一個。此外,無論何時升級,請在新創建的RN項目與您自己的項目之間進行區分,以確認沒有其他文件需要更新。

相關問題