4

Я пытаюсь запустить собственное родное приложение на эмуляторе Android (react-native run-android), однако он продолжает сбой с сообщением об ошибке «MYAPP остановился». Я пытаюсь выяснить, где я могу отладить это дальше (сообщения об ошибках, журналы и т. Д.). Я точно не вижу сообщений об ошибках на терминале или сам эмулятор. Таким образом, кроме того, чтобы попытаться решить, почему приложение не будет развертываться ..., где вы хотите продолжить отладку проблем с развертыванием приложений на эмуляторе Android?React Native app продолжает закрываться на эмуляторе 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, повтор, еще одна проблема. Теперь я думаю, что это связано с процессом обновления ... это очень расстраивает.

Update 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 

После быстрого поиска Google, кажется, это существующая проблема, когда речь идет о для обновления React Native. Я отправлю ответ, отвечая на свой вопрос.

+1

Посмотрите на лодку. Должна быть трассировка стека. –

+0

@GabeSechan - спасибо за быстрый ответ. Довольно новый для разработки мобильных приложений, поэтому пришлось сделать быстрый поиск в Google, чтобы выяснить, что такое 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). Пока это не будет разрешено, вам необходимо вручную обновить файл AndroidManifest.xml, расположенный по адресу ./android/app/src/main/AndroidManifest.xml. Я бы рекомендовал создать образец реагировать на собственный проект и использовать недавно созданный AndroidManifest.xml оттуда до вручную обновить его в вашем существующем проекте. Кроме того, всякий раз, когда вы обновляете, выполняйте разницу между недавно созданным проектом RN и вашим собственным, чтобы убедиться, что другие файлы не нуждаются в обновлении.