web-dev-qa-db-fra.com

Android Studio 3.1 EditText StackOverflowError

Après la mise à jour vers Android Studio 3.1, je suis confronté à une exception lorsque EditText est actif

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)

Une idée comment résoudre ce problème?

Mettre à jour:

Après quelques recherches, j'ai découvert que StackOverflowError apparaît avec différents stacktraces avec EditText simple:

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

En essayant d'entrer un symbole, je reçois:

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

Quand je presse en arrière:

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

Même la saisie de texte dans WebView est à l'origine de cette erreur

Dans AS 3.0, EditText fonctionne normalement

56
Kamer358

Comme @evi _ l'a souligné, il y a un bogue dans le profilage avancé .

Pour l'instant, désactivez-le (Modifier les paramètres de configuration -> Profilage -> Activer le profilage avancé) empêche le blocage de EditText

Mettre à jour:

Correctif publié dans Android Studio 3.1.1

Le profilage avancé à nouveau disponible!

75
Kamer358

Cela semble ne se produire que sur les appareils Android 6.0, l'EditText fonctionne bien sur les appareils Android 5 et Android 7. Désactiver le profilage avancé (API <26) dans la configuration d'exécution fonctionne pour moi.

7
aaronhigh

Android 5.1.1, même problème. Semble à un bug dans le nouveau Android Studio. La désactivation du profilage avancé résout le problème de la construction du débogage.

6
Roman

Face aux mêmes problèmes EditText juste après la mise à jour vers Android Studio 3.1. Essayez de définir debuggable false dans build.gradle pour le type de construction de débogage. Vous pouvez également basculer sur le type de version publié, car il est faux par défaut. Cela a aidé dans mon cas.

Mise à jour: La confirmation que la désactivation du profilage avancé a également résolu mon problème.

2
Yuri V. Suhanov

J'ai eu le même problème, mais après:

  • Supprimez .idea, .gradle, gravez un dossier et recréez-le.
  • Projet propre.
  • Reconstruire app.

ça marche pour moi.

0
Gabriele Grippa