Reaccionar Android nativo se bloquea al intentar depurar en Chrome

Tengo una aplicación React Native que funciona para iOS y estoy tratando de ponerla en funcionamiento para Android. Tengo la aplicación en funcionamiento y en el emulador y me gustaría depurar en Chrome para resolver algunos problemas.

El problema se produce cuando abro las herramientas de dev de aplicación y haga clic en la opción Depurar en Chrome la aplicación se bloquea durante un par de segundos y recibo un mensaje de alerta que dice "Desafortunadamente MyApp se ha detenido". Luego justo después de que la aplicación vuelve a subir con la pantalla roja y dice "No se puede conectar con depurador remoto".

Creo que he configurado todo como las instrucciones que se indican en esta página .

¿Alguien ha visto este tipo de problema y si es así hay una manera de solucionarlo?

¡Gracias!

Tuve este problema también (que es por qué me encontré con su mensaje). ¿Ha fundado su proyecto en la demostración React Native Material Kit ? Yo tenía, y tenía exactamente el mismo problema con el fallo al iniciar devtools.

Ahora he reconstruido mi proyecto desde cero usando react-native init y el problema parece haberse ido.

El mismo problema aquí en Android. Acabo de comenzar un proyecto con react-native init y comencé a seguir el tutorial de Facebook.

Cuando ejecuto la aplicación sin depuración, funciona bien. Si habilito Debug JS remotamente , se bloquea después de 1 minuto (no hacer nada).

Pruebas en Samsung Galaxy S5, reaccionar-native-cli 0.2.0, reaccionar-nativo 0.32.1, Windows 7, Chrome 53.

En Android Studio he encontrado este stacktrace:

 09-08 13:25:06.322 31080-3735/com.tutorialproject W/libc: pthread_create failed: couldn't allocate 1064960-byte stack: Out of memory 09-08 13:25:06.322 31080-3735/com.tutorialproject E/art: Throwing OutOfMemoryError "pthread_create (1040KB stack) failed: Try again" 09-08 13:25:06.332 31080-3735/com.tutorialproject E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher Process: com.tutorialproject, PID: 31080 java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again at java.lang.Thread.nativeCreate(Native Method) at java.lang.Thread.start(Thread.java:1063) at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:920) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1338) at okhttp3.ConnectionPool.put(ConnectionPool.java:135) at okhttp3.OkHttpClient$1.put(OkHttpClient.java:149) at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:188) at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:129) at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:98) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:109) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:124) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170) at okhttp3.RealCall.access$100(RealCall.java:33) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) 09-08 13:25:06.372 31080-31080/com.tutorialproject D/SensorManager: unregisterListener :: 09-08 13:25:06.852 31080-31185/com.tutorialproject W/unknown:React: Tried to enqueue runnable on already finished thread: 'native_modules... dropping Runnable. 09-08 13:25:06.852 31080-31185/com.tutorialproject W/MessageQueue: Handler (com.facebook.react.bridge.queue.MessageQueueThreadHandler) {246b7490} sending message to a Handler on a dead thread java.lang.IllegalStateException: Handler (com.facebook.react.bridge.queue.MessageQueueThreadHandler) {246b7490} sending message to a Handler on a dead thread at android.os.MessageQueue.enqueueMessage(MessageQueue.java:325) at android.os.Handler.enqueueMessage(Handler.java:631) at android.os.Handler.sendMessageAtTime(Handler.java:600) at android.os.Handler.sendMessageDelayed(Handler.java:570) at android.os.Handler.post(Handler.java:326) at com.facebook.react.bridge.queue.MessageQueueThreadImpl.runOnQueue(MessageQueueThreadImpl.java:61) at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31) at android.os.Looper.loop(Looper.java:145) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:196) at java.lang.Thread.run(Thread.java:818) 09-08 13:25:06.862 31080-3792/com.tutorialproject W/ContextImpl: Failed to ensure directory: /storage/extSdCard/Android/data/com.tutorialproject/cache 09-08 13:25:11.362 31080-31088/com.tutorialproject W/art: Suspending all threads took: 5.930ms 

Es un proyecto realmente simple, con sólo un par de componentes de texto, así que no estoy haciendo ninguna solicitud. Toda la comunicación de red se debe a la depuración remota.

Ya que es un problema de OutOfMemory he intentado agregar android:largeHeap="true" a Manifest.xml, pero nada cambia. La aplicación alcanza el consumo de 32Mb y muere.

He modificado la aplicación, por lo que carga un componente con una imagen 5000 veces. Con la depuración deshabilitada, la aplicación asigna hasta 70Mb y funciona correctamente. Puedo desplazarme por toda la pantalla y nada se bloquea. Cuando habilito la depuración remota, trabajo por un tiempo, hasta que intenta asignar más memoria y se bloquea de nuevo. Puedo empezar de nuevo la aplicación con la depuración habilitada, y se inicia bien, pero de nuevo se bloquea después de un tiempo.

IMHO la característica de depuración remota de React Native tiene un problema para asignar nueva memoria (y por alguna razón, consume mucha memoria incluso cuando la aplicación se detiene).

Parece que es un problema conocido https://github.com/facebook/react-native/issues/9665

No parece encontrar una solución en este momento 🙁

  • Reaccionar nativo: seleccionable vista de lista de sección da error
  • W / unknown: ViewManagerPropertyUpdater: No se pudo encontrar el generador generado para la clase com.facebook.react. *
  • Error: No se puede encontrar el archivo con path: prelude_dev.js
  • "Reaccionar-nativo run-android" - BUILD es SUCCESSFUL pero obtener error tipo 3 Error: clase de actividad MainActivity no existe
  • No se puede crear la aplicación de reactivo nativo en el dispositivo Android: no se pudo encontrar el destino con la cadena de hash 'android-23'
  • TextInput flexDirection: la fila no funciona en React-Native
  • Uso de sensores en Android con React Native
  • Error "No se pudo obtener BatchedBridge, asegúrese de que su paquete se empaqueta correctamente" al inicio de la aplicación
  • No se puede instalar firmado apk de React Native
  • Cómo escribir un módulo nativo nativo con una devolución de llamada simple
  • ¿Cuál es el equivalente de ActionSheetIOS en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.