Android Studio 3.1 EditText StackOverflowError


Después de actualizar a Android Studio 3.1 me enfrento a la excepción cuando EditText en foco

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 18938
java.lang.StackOverflowError: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)

¿Alguna idea de cómo arreglar esto?

Actualización:

Después de algunas investigaciones descubrí que StackOverflowError aparece con diferentes stacktraces con EditText simple:

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>

Cuando intento introducir cualquier símbolo obtengo:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
java.lang.StackOverflowError: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.java:106)

Cuando presiono atrás:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
java.lang.StackOverflowError: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)

Incluso introduciendo texto en WebView causando este error

En AS 3.0 EditText ha funcionado normal

Author: Vadim Kotov, 2018-03-27

5 answers

Como @evi señaló que hay un error en el perfil avanzado.

Por ahora deshabilitarlo (Editar ajustes de configuración - > Perfilado - > Habilitar perfilado avanzado) evita que EditText se bloquee

Actualización:

Corrección publicada en Android Studio 3.1.1

Perfiles avanzados disponibles una vez más!

 73
Author: Kamer358,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-09 18:59:06

Esto parece que solo sucede en dispositivos Android 6.0, el EditText funciona bien en dispositivos Android 5 y Android 7. Deshabilitar la creación de perfiles avanzada (API

 7
Author: aaronhigh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-28 00:39:21

Android 5.1.1, el mismo problema. Parece un error en el nuevo estudio de Android. La desactivación de perfiles avanzados soluciona el problema de la compilación de depuración.

 6
Author: Roman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-28 14:42:15

Frente a los mismos problemas de EditText justo después de la actualización a Android Studio 3.1. Intente establecer debuggable false en build.gradle para el tipo de compilación de depuración. O simplemente cambie a release build type ya que es false por defecto. Eso ayudó en mi caso.

Actualización: Confirmando que la desactivación de perfiles avanzados solucionó mi problema también.

 2
Author: Yuri V. Suhanov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-28 05:42:09

Tuve el mismo problema, pero después:

  • Deleting .idea, .gradle, gradle folder y recrearlo.
  • Proyecto limpio.
  • Reconstruir la aplicación.

Funciona para mí.

 0
Author: Gabriele Grippa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-27 15:40:37