Flutter: Necesita reiniciar o limpiar con agitación con demasiada frecuencia

Creado en 15 abr. 2018  ·  235Comentarios  ·  Fuente: flutter/flutter

---


La siguiente nota fue agregada por @tvolkert el 16 de octubre de 2018

Si se ve afectado por este error,

¡Por favor, rellene el siguiente formulario!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (Encuesta para recopilar información sobre este error)

---


Pasos para reproducir

Cuando yo (o uno de mis compañeros de equipo) ejecuto flutter flutter run (o con el botón ejecutar / depurar en IntelliJ y VSCode) en un AVD o en dispositivos reales, la versión instalada siempre está detrás de la más nueva y siempre necesita reiniciar la aplicación o incluso a veces flutter clean .
Esto es un problema especialmente cuando la compilación en el dispositivo AVD / real falla, y la única solución aquí es flutter clean , incluso cuando dejo de ejecutar la aplicación y hago flutter run nuevamente.

Lo mismo sucede al crear e instalar APK de producción:
Cuando ejecuto flutter build y flutter install , el APK instalado no se actualiza.
Si ejecuto flutter clean, y luego, nuevamente, flutter build y flutter install , el APK instalado está actualizado.

Doctor Flutter:

[√] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    • Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    • Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    • Engine revision c903c217a1
    • Dart version 2.0.0-dev.43.0.flutter-52afcba357

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    • Flutter plugin version 23.1.3
    • Dart plugin version 181.4203.498

[√] VS Code, 64-bit edition (version 1.22.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[√] Connected devices (2 available)
    • PRA LX1                   • 57UDU17111026756 • android-arm64 • Android 7.0 (API 24)
    • Android SDK built for x86 • emulator-5554    • android-x86   • Android 8.1.0 (API 27) (emulator)

• No issues found!
annoyance crowd regression gradle hot reload xcode tool

Comentario más útil

Me encuentro con el mismo problema en este momento, la forma en que la recarga muestra los últimos cambios, pero si reinicio en frío, obtengo una versión anterior que solo ayuda a flutter clean.

Todos 235 comentarios

No solo en esto: increíblemente frustrante tener que 'limpiar' con aparentemente cada cambio de código antes de que los cambios se reflejen en la depuración de Android Studio.

[√] Flutter (Channel master, v0.3.6-pre.43, on Microsoft Windows [Version 10.0.16299.371], locale en-US)
    • Flutter version 0.3.6-pre.43 at E:\flutter
    • Framework revision 32d1f0a80a (17 hours ago), 2018-04-27 13:34:50 -0700
    • Engine revision e11905c6e5
    • Dart version 2.0.0-dev.50.0.flutter-8d4074175f

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\jens\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at E:\Program Files\Android\Android Studio
    • Flutter plugin version 24.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 181.4203.6
    • Flutter plugin version 22.2.3
    • Dart plugin version 181.4096.12

[√] VS Code, 64-bit edition (version 1.22.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[√] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

• No issues found!

Me encuentro con el mismo problema en este momento, la forma en que la recarga muestra los últimos cambios, pero si reinicio en frío, obtengo una versión anterior que solo ayuda a flutter clean.

+1 El mismo problema aquí y, de hecho, para mí, flutter clean tampoco ayuda a veces y tengo que eliminar la aplicación manualmente y luego reconstruirla. Es realmente molesto y frustrante .. :(

También he estado experimentando lo mismo con Flutter.

NO RELACIONADO: Lo curioso es que también tuve un problema similar con el desarrollo puro de Android. Instant Run de Android también me dejó con una versión anterior una vez que reinicié la aplicación después de la depuración.

@sethladd, ¿ podría ayudarme con esto en forma prioritaria? Es como si el gran profesional se convirtiera en el gran estafador :(

Totalmente de acuerdo. Esta es una regresión importante. No hace mucho escribí en una publicación de blog lo feliz que estaba de que las herramientas de Flutter simplemente funcionaran en comparación con Xamarin, pero ahora es casi peor. La recarga en caliente con demasiada frecuencia no funciona en las ramas maestras y de desarrollo actuales

Muy frustrante. El botón Depurar de Android Studio normalmente no respetará los cambios recientes en el código, lo que requiere una limpieza rápida antes de ejecutarse. La recarga en caliente desde Android Studio simplemente no funciona. Si ejecuto un terminal 'flutter run', la recarga en caliente parece funcionar bien, pero, por supuesto, no obtengo herramientas de depuración.

Lo que se ejecuta mediante un comando 'flutter run' claramente no es el mismo código que se ejecuta con los iconos de Android Studio. Es hasta el punto de depurar que tengo que limpiar cada ejecución, lo cual es horrible cuando trato de resolver problemas.

ACTUALIZACIÓN: El problema parece estar limitado a la depuración. Usar el ícono 'ejecutar' de Android Studio es tan rápido como desde la terminal y respeta los cambios de código recientes. Por alguna razón, intentar depurar siempre requiere una operación de limpieza intermitente para respetar los cambios de código recientes.

[√] Flutter (Channel master, v0.3.6-pre.43, on Microsoft Windows [Version 10.0.16299.371], locale en-US)
    • Flutter version 0.3.6-pre.43 at E:\flutter
    • Framework revision 32d1f0a80a (7 days ago), 2018-04-27 13:34:50 -0700
    • Engine revision e11905c6e5
    • Dart version 2.0.0-dev.50.0.flutter-8d4074175f

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\jens\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at E:\Program Files\Android\Android Studio
    • Flutter plugin version 24.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 181.4203.6
    • Flutter plugin version 22.2.3
    • Dart plugin version 181.4096.12

[√] VS Code, 64-bit edition (version 1.22.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[√] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

• No issues found!

@cbracken @tvolkert suena como una mala regresión. ¿Algunas ideas?

@cbracken, ¿hay alguna posibilidad de que esto pueda estar relacionado con su trabajo en la toma de huellas digitales y la simplificación de las rutas del código de compilación?

¿Podría ser un problema de Windows? Yo también estoy en Windows. La mayoría de los desarrolladores parecen funcionar en una Mac, por lo que esta podría ser una de las razones por las que esto no ha surgido antes. Solo una suposición

Estoy enfrentando este problema en mac por cierto.

El viernes 4 de mayo de 2018 a las 8:06 p.m., escamoteur [email protected] escribió:

¿Podría ser un problema de Windows? Yo también estoy en Windows. La mayoría de los desarrolladores parecen funcionar
en una Mac, por lo que esta podría ser una de las razones por las que esto no ha aparecido antes. Solo un
adivinar

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386621398 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AMCOnM-6r56bzBF5c4kpjOkSsAyexeO_ks5tvGdzgaJpZM4TVhip
.

Acabo de chatear con https://github.com/flutter/flutter/pull/17175

@ratsey si flutter upgrade , debería recoger la solución. Háganos saber si todavía lo ve cuando está sincronizado con una confirmación después de 752906498ae9961008e9336a1c88aa14f8ac068f

@dedeswim, es posible que esta solución no flutter channel dev o inmediatamente con flutter channel master 😄

@volkert he actualizado flutter hoy mismo hace 8 horas en el canal maestro
y aún no está arreglado para mí.

El viernes 4 de mayo de 2018 a las 8:09 p.m., Todd Volkert [email protected]
escribió:

Acabo de charlar con https://github.com/cbracken - suena como
esto se solucionó en el maestro hace 3 días en # 17175
https://github.com/flutter/flutter/pull/17175

@ratsey https://github.com/ratsey si actualiza, debería
recoger la solución. Háganos saber si todavía ve que sucede cuando
estás sincronizado con una confirmación después de 7529064
https://github.com/flutter/flutter/commit/752906498ae9961008e9336a1c88aa14f8ac068f

@dedeswim https://github.com/dedeswim es posible que esta solución no llegue a la versión beta
canal durante varias semanas. Puedes verlo antes ejecutando flutter
desarrollo de canales o de inmediato con el canal maestro de flutter 😄

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386622251 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AMCOnJCY9QCtdFuMdaU2xTt6fFPvVQpcks5tvGgkgaJpZM4TVhip
.

@iampawan es bueno saberlo, ciertamente lo echaremos un vistazo hoy. ¿Esto está en las compilaciones de depuración de Android?

Sí, solo probé la compilación de depuración ... Estaba usando el simulador ios e incluso
Flutter clean no funcionaba para mí. Tuve que borrar la aplicación. Pero entonces
Otra cosa que noté fue que si ejecuto mi aplicación una y otra vez 2-3 veces
luego los cambios se reflejan ... todavía no sé cómo solucionar este problema, pero esto sucede
cuando la aplicación se congela durante la recarga en caliente

El viernes 4 de mayo de 2018 a las 8:15 p.m., Todd Volkert [email protected]
escribió:

@iampawan https://github.com/iampawan es bueno saberlo, sin duda alguna
Eche un vistazo hoy. ¿Esto está en las compilaciones de depuración de Android?

-
Recibes esto porque te mencionaron.

Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386624223 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AMCOnNxuo-c8uFwQkrw0C1BBXMqAGcd4ks5tvGmhgaJpZM4TVhip
.

Encuesta rápida para los que siguen en caso de que ayude a identificar un patrón en el que esto está sucediendo (parece que el sistema operativo ya se ha descartado ya que tenemos informes tanto de Windows como de MacOS): ¿cuál de las siguientes opciones se aplica a usted?

  • Android vs iOS
  • dispositivo físico vs emulador / simulador
  • depurar, perfilar o liberar compilación
  • Compilación de Android
  • Máquina de Windows
  • emulador. & dispositivo
  • Actualizado esta mañana.
  • Depurar solo probado todavía

Es aún más extraño, hago un cambio y una recarga instantánea y el cambio aparece. Salgo y reinicio la aplicación sin Flutter clean y obtengo la versión anterior.

  1. Android e iOS ambos ... acabo de verificarlo
  2. Dispositivo físico y emulador
  3. He intentado depurar solo
  4. Para mí, sucede menos en Android Studio pero más cuando uso vscode (
    puede ser que esto sea irrelevante porque no lo sé)

El viernes 4 de mayo de 2018 a las 20:20, Todd Volkert [email protected]
escribió:

Encuesta rápida para los que siguen en caso de que ayude a identificar un patrón
dónde está sucediendo esto (parece que el sistema operativo ya se ha descartado desde que
tienen informes tanto de Windows como de MacOS): ¿cuál de los siguientes se aplica a
usted:

  • Android vs iOS
  • dispositivo físico vs emulador / simulador
  • depurar, perfilar o liberar compilación

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386625760 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AMCOnP1SMbNrtH7hn11XZOR7SVxFyTtaks5tvGrRgaJpZM4TVhip
.

Es aún más extraño, hago un cambio y una recarga instantánea y el cambio aparece. Salgo y reinicio la aplicación sin Flutter clean y obtengo la versión anterior.

Eso suena como un problema al reconstruir el archivo del kernel para la aplicación ( build/app.dill ). La ejecución inicial de la aplicación crea un archivo de kernel e inicia la aplicación desde él; la primera recarga en caliente llena toda la fuente de la aplicación (kernel) en una memoria en el sistema de archivos devfs del dispositivo y se vuelve a cargar desde allí; las recargas posteriores llenan deltas de archivos en ese sistema de archivos de memoria.

/ cc @aam

17175 solo debería haber solucionado un problema de invalidación para las compilaciones de perfil / lanzamiento. Las compilaciones de depuración utilizan una ruta de código diferente.

No puedo reproducir este error con cambios de código simples en la prueba de demostración de la galería con el simulador de depuración de iOS en el maestro, usando solo las herramientas de línea de comandos. Le daré un vistazo a un IDE, que usa el demonio y seguiré hurgando en él hasta que solucionemos lo que sucede.

@iampawan @escamoteur ¿ estaba viendo el mal comportamiento con cambios de código o cambios de activos (o ambos)?

¿estaba viendo el mal comportamiento con los cambios de código o ...

Y si el código cambia, ¿fue código Dart o código Java / ObjC?

Además, ¿alguien ha reproducido esto en la línea de comandos o siempre en un IDE?

No puedo reproducir esto ni desde IJ ni desde la línea de comandos (en un dispositivo Android físico).
Estoy iniciando Flutter Gallery, haciendo un cambio simple (lib / gallery / app.dart: 128 'Flutter Gallery' -> 'Actualizado Flutter Gallery'), recarga en caliente, confirmo que veo el cambio (el título de la aplicación cambia), detenga la aplicación, vuelva a iniciarla y siga viendo el cambio.

Esto está en 24.0.1 del complemento Flutter IJ, rama master de Flutter:

Flutter 0.3.6-pre.113 • channel master • [email protected]:aam/flutter.git Framework • revision d820e5f3b1 (12 hours ago) • 2018-05-03 22:27:29 -0700 Engine • revision e976be13c5 Tools • Dart 2.0.0-dev.53.0.flutter-e6d7d67f4b

@devoncarew escribió

Eso suena como un problema al reconstruir el archivo del kernel para la aplicación (build / app.dill).

La próxima vez que inicie la aplicación, build/app.dill debe reconstruirse porque las fuentes son más nuevas que el archivo eneldo.

@cbracken solo lo he intentado con los cambios de código de Dart todavía. Si podemos ayudar con los archivos de registro, si los hay, háganoslo saber.
Perdón por el retraso, pero las zonas horarias lo dificultan.

Estoy usando el código VS si eso hace una diferencia

Los archivos de registro de flutter -v run ... con los argumentos habituales de ejecución de flutter, obtendrá una salida más detallada. Desde Android Studio puedes editar tu configuración de ejecución para especificar —verbose en el campo de opciones adicionales.

Este registro es posterior a flutter clean
afterflutterclean.txt

Luego modifiqué algo y lo ejecuté sin que el cambio tuviera efecto

afterchange.txt

Luego, después de otro flutter clean

afterfluttercleanafterchange.txt

Comprimí todo el proyecto. El botón de la aplicación debería ser azul después del cambio, pero no
No sé si puede reproducirlo desde el archivo zip

https://drive.google.com/open?id=1r2lQPVW3TgJpK4RH_kyrRXyePIyw7_UY

PS C: \ Entwicklung \ Blog Enlace bidireccional en Flutter \ two_way_binding> flutter -v doctor
[√] Flutter (Channel master, v0.3.7-pre.9, en Microsoft Windows [Versión 10.0.17134.1], locale de-DE)
• Flutter versión 0.3.7-pre.9 en C: \ Entwicklung \ Flutter
• Revisión del marco b2b4665926 (hace 19 horas), 2018-05-04 18:17:35 -0700
• Revisión del motor e976be13c5
• Dart versión 2.0.0-dev.53.0.flutter-e6d7d67f4b

[√] Cadena de herramientas de Android: desarrollo para dispositivos Android (SDK de Android 27.0.3)
• SDK de Android en C: \ Users \ escam \ AppData \ Local \ Android \ sdk
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-27, herramientas de compilación 27.0.3
• Binario de Java en: C: \ Archivos de programa \ Android \ Android Studio \ jrebin \ java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1024-b02)
• Se aceptan todas las licencias de Android.

[√] Android Studio (versión 3.1)
• Android Studio en C: \ Archivos de programa \ Android \ Android Studio
• Complemento Flutter versión 23.2.2
• Complemento de Dart versión 173.4700
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1024-b02)

[√] VS Code, edición de 32 bits (versión 1.22.2)
• Código VS en C: \ Archivos de programa (x86) \ Código VS de Microsoft
• Extensión de código Dart versión 2.12.1

[√] Dispositivos conectados (1 disponible)
• SDK de Android creado para x86 • emulador-5554 • android-x86 • Android 6.0 (API 23) (emulador)

• ¡No se encontraron problemas!

Lamentablemente estaré de gira hasta el martes

Tuve que cambiar la ubicación mínima de SDK y SDK, y mi Flutter se actualizó para que el zip de

Puedo cambiar el color del botón en Depurar con una recarga en caliente y también cambiar el color entre las ejecuciones de depuración. En pocas palabras : el proyecto de

Intentaré con mi código nuevamente más tarde esta noche con esta actualización de Flutter.

¿Alguna información a través de los registros? @cbracken

@cbracken @tvolkert Estoy usando la última versión de flutter y hoy la congelación ha aumentado al usar vscode, pero no tuve ningún problema, ya que los últimos cambios en la aplicación ahora reflejan lo que no era antes ... Pero la aplicación se congela al cambiar algo en clases con estado y creo que es menos o no sucede cuando estoy usando la terminal para la recarga en caliente

Estoy usando la última versión de flutter y hoy la congelación ha aumentado al usar vscode

¿Estás en Windows? Parece haber un error importante en la actualización de abril que está causando la congelación de las aplicaciones basadas en Chrome:

https://www.engadget.com/2018/05/03/microsoft-windows-10-chrome-cortana-freeze-fix/

No, estoy usando la última versión de Macosx

El martes 8 de mayo de 2018 a las 5:51 p.m., Danny Tuppeny [email protected] escribió:

Estoy usando la última versión de Flutter y hoy lo congelado ha
aumentado al usar vscode

¿Estás en Windows? Parece haber un error importante en la actualización de abril.
que está causando congelación con las aplicaciones basadas en Chrome:

https://www.engadget.com/2018/05/03/microsoft-windows-10-chrome-cortana-freeze-fix/

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-387383846 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AMCOnDF0oDTkjXNK1ZasxOD9jVuZP8TSks5twY3KgaJpZM4TVhip
.

Ok, no eso entonces. Cuando dices "la aplicación se congela", ¿te refieres a la aplicación móvil en el dispositivo (o la aplicación VS Code)? Creo que probablemente sea un problema diferente a no reconstruir correctamente, por lo que puede valer la pena abrir otro problema. Si está utilizando VS Code, me interesaría ver los archivos de registro de Flutter Run y Observatory durante el período en el que vea bloqueos.

@DanTup Aquí, en el Paso 1, vea el color inferior de la barra de aplicaciones y también la aplicación se congela cuando la notificación 'Realizar una recarga en caliente' lleva tiempo, digamos más de 5 segundos. Ahora el paso 2 es cuando reconstruyo la aplicación, ahora los cambios se han ido y si hago algún cambio y realizo una recarga en caliente, todos los cambios se reflejarán ... ahora hagamos una recarga en caliente de 3 a 4 veces y nuevamente la aplicación se congela. adjunto
step1
step2
observatory.txt

@iampawan Creo que este es un tema diferente; ¿Podría abrir un nuevo número al respecto para evitar confundir las cosas con el problema de no reconstruir cuando debería? Además, ¿puede incluir el registro de Flutter Run así como el del Observatorio, ya que este incluye las instrucciones para la recarga en caliente? ¡Gracias!

@iampawan Ese registro no parece incluir ninguna solicitud de recarga en caliente, la última línea es cuando la aplicación termina de iniciarse. ¿Podría intentarlo de nuevo, pero también adjuntarlo a un nuevo problema? No creo que estos problemas de recarga en caliente sean los mismos que la aplicación que no se reconstruye / implementa cuando debería y es un poco confuso tener conversaciones paralelas sobre el mismo problema.

@DanTup Ok, abriré un nuevo problema para esto mañana, pero por el momento déjeme darle el archivo de registro que podría generar (el actualizado). Además, mientras hacía este video, https://youtu.be/q-GtMerSNuY , enfrenté el problema al final para que pueda ver la parte final para una mayor comprensión. Gracias
flutter_run.txt No sé si el archivo no tiene algo que esperas, pero estoy cargando lo que se generó

@iampawan Gracias; ese registro lo tiene. De hecho, tiene lo que temía que pudiera estar en él:

TimeoutException: Request to Dart VM Service timed out: _flutter.listViews({})

Abra un problema para ello; También he visto otros informes al respecto recientemente.

@cbracken ¿

Para la emisión original de este hilo, puedo confirmar que la recarga no caliente ahora mira a tomar en consideración los cambios de código entre ejecuciones y así no necesita un manual de 'aleteo limpia' operación.

Sin embargo, si cambia de una ejecución de depuración a una ejecución sin depuración después de una serie de operaciones de cambio / recarga en caliente, todavía es necesario realizar la limpieza de Flutter.

Comencé a experimentar problemas con esto hoy (tanto en un emulador como en un dispositivo real) en Windows con la rotura de la recarga en caliente mientras cambiaba los valores en el código del tutorial de animación de flutter. (https://flutter.io/tutorials/animation/).

Pude solucionar el problema de la recarga en caliente eliminando los espacios en la estructura del directorio que contenía el código. Parece una tontería, pero funcionó para mí.

Por ejemplo, cambié C:\Dev\Flutter Apps\hello_world\animation_examples

hasta C:\Dev\Flutter_Apps\hello_world\animation_examples

Doctor Flutter:

[√] Flutter (Channel dev, v0.5.5, on Microsoft Windows [Version 10.0.17134.112], locale en-AU)
    • Flutter version 0.5.5 at C:\Dev\flutter-sdk
    • Framework revision 020e0ef55c (12 days ago), 2018-06-14 13:17:08 -0700
    • Engine revision c3976b3c71
    • Dart version 2.0.0-dev.61.0.flutter-c95617b19c

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\Jason\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 25.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] VS Code, 64-bit edition (version 1.24.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)

! Doctor found issues in 1 category.

También estaba experimentando este problema en las ramas beta y master de Flutter.

También estoy enfrentando los mismos problemas con el aleteo desde el mes pasado. Hope Flutter Team considera este problema y lo soluciona pronto. Porque amamos #Flutter.

Gran parte del equipo está fuera de la oficina en este momento, pero parece que el siguiente paso aquí es que @cbracken revise los registros de @escamoteur anteriores.

Tengo varios que estoy usando para desarrollar aplicaciones de flutter y he tenido el mismo problema en el que la aplicación no se actualiza incluso después de reconstruirla por completo. Tengo que hacer un reinicio en caliente para que los cambios ocurran después de cada vez que lo hago flutter run .

¿Cualquier mejora? el problema aún persiste. Por favor, arreglalo. Nos encanta

Aleteo

Honestamente, no puedo informar que todavía tengo un problema. ¿Ha intentado cambiar al canal dev o maestro?

Puedo confirmar el problema. Si cambio algo en mi código y comienzo a depurar, nunca estoy seguro de si obtuve 'la última versión'. Si depuro con paso a paso ... puedo verlo a veces paso a paso por el código en los comentarios ... Ahora solo para estar seguro, hago una ejecución de aleteo y lo intento de nuevo.

[√] Flutter (Channel master, v0.5.7-pre.62, en Microsoft Windows [Versión 10.0.17134.112], configuración regional en-US)
• Flutter versión 0.5.7-pre.62 en C: \ flutter
• Revisión del marco 7ac183794b (hace 2 días), 2018-07-06 15:21:29 -0700
• Revisión del motor 6fe748490d
• Dart versión 2.0.0-dev.63.0.flutter-4c9689c1d2

[√] Cadena de herramientas de Android: desarrollo para dispositivos Android (SDK de Android 27.0.3)
• SDK de Android en C: \ Android \ android-sdk
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-27, herramientas de compilación 27.0.3
• ANDROID_HOME = C: \ Android \ android-sdk
• Binario de Java en: C: \ Archivos de programa \ Android \ Android Studio \ jrebin \ java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1024-b02)
• Se aceptan todas las licencias de Android.

[√] Android Studio (versión 3.1)
• Android Studio en C: \ Archivos de programa \ Android \ Android Studio
• Complemento Flutter versión 25.0.1
• Complemento de Dart versión 173.4700
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1024-b02)

[√] VS Code, edición de 64 bits (versión 1.25.0)
• Código VS en C: \ Archivos de programa \ Código VS de Microsoft
• Extensión Flutter versión 2.15.0

Entonces sería interesante cuál es la diferencia en nuestros sistemas

@gspencergoog Me han dicho que puede estar analizando algunos problemas como este; ¿No estás seguro de haber visto este?

@DanTup Lo he visto, pero creo que @cbracken está en una mejor posición para arreglarlo.

¿Alguien puede reproducir ese guardado explícito antes de la recarga en caliente / reinicio en caliente?
mejora la situación? (con recarga en caliente al guardar deshabilitado)
Véase también flutter / flutter-intellij # 2472

Lo único que observé ayer es que si hago un cambio en un archivo de paquete durante la depuración que no es parte de mi proyecto, tengo que recargar en caliente explícitamente después de guardar para que surta efecto.

@escamoteur Gracias por los comentarios. Eso suena como # 15879

No, no cambiar el paquete, solo haga un pequeño cambio de código en un paquete referenciado para depurar

¿Te refieres a una dependencia de ruta?

No hay una dependencia de paquete. Pero tal vez sea demasiado para esperar.

¿Está modificando archivos en ~/.pub-cache/hosted/... . Dudo mucho que obtenga soporte para ese caso de uso. Eso es muy desaconsejado. De lo contrario, no hay forma de cambiar el código de un paquete alojado sin el archivo .packages para cambiar.

OK, me declaro culpable 😁

@escamoteur No sé si hace una diferencia aquí (y es posible que ya lo sepa), pero puede anular las rutas de los paquetes importados si desea una forma "menos incompatible" de modificar archivos en paquetes:

dependency_overrides:
  vm_service_client:
    path: ../../../vm_service_client

@escamoteur Tendría que mirar nuestro código de recarga en caliente, pero definitivamente recuerdo que cuando pub serve existía (para la web), fue una decisión de diseño intencional observar el proyecto de la aplicación y el cierre transitivo de path: dependencias, pero no para ver nada en la caché de pub (ese código no está destinado a ser modificable por el usuario), o dependencias de git. Sospecho mucho que ese sigue siendo el caso con flutter.

@cbracken gracias por la aclaración. Lo siento cuando me desvío un poco del problema original.

El problema aún persiste. ¿Alguna corrección? Por favor, arroje alguna información.

@cbracken Esto funciona con la versión de hoy:

Flutter 0.5.8-pre.61 • canal maestro • https://github.com/flutter/flutter
Marco • revisión b8b6d41 (hace 7 horas) • 2018-07-17 18:07:54 -0700
Motor • revisión 5557e3006e
Herramientas • Dart 2.0.0-dev.67.0.flutter-84ca27a09e

Solo pude depurar los cambios después de la recarga en caliente. Incluso una limpieza de Flutter ya no ayudó.
Volví a git reset --hard e22f99743b4f0bea4a9b8e7703ce5ffbfda37a04
Resuelto, el problema funciona de nuevo ahora.

No estoy seguro del estado de este error. : /

Parece que el problema original podría haberse resuelto, pero ¿hay informes relacionados que también se han agregado aquí?

Parece que el comentario más reciente de

Recomendaría a los usuarios que aún experimentan problemas en este espacio que presenten errores nuevos y separados (a los que puede vincular desde aquí) para que podamos asegurarnos de diagnosticar y resolver cada uno de ellos.

Realmente no. La depuración funciona, pero no siempre envía la última versión de la aplicación al dispositivo al iniciar una nueva sesión de depuración. Todos los cambios realizados a través de la recarga en caliente se envían y se pueden depurar.

@escamoteur , ¿estaría dispuesto a presentar un nuevo error sobre ese problema específico? Estaría feliz de contar con las personas adecuadas para asegurarnos de que lo arreglemos. ¡Gracias!

@eseidel ok, pero será mañana.

Creo que el problema que tiene @escamoteur puede ser el mismo que el del informe original aquí: ¿se están lanzando aplicaciones obsoletas en el dispositivo?

Creo que la declaración anterior fue un poco confusa porque mencionaba la depuración, pero cuando le pedí que aclarara Gitter, dijo:

Inicié la aplicación, hice algunos cambios e hice una recarga en caliente => aparecieron los cambios. Detuvo la aplicación y comenzó una nueva => obtuve la versión anterior de la aplicación

Si entiendo correctamente el informe original, creo que pueden ser iguales.

@escamoteur , ¿presentó una nueva emisión? Si es así, ¡comparte el enlace aquí!

Todavía no tengo que reproducirlo de nuevo, lo que significa cambiar mi configuración de trabajo actual y tuve que hacer un desarrollo real en los últimos días.

Sí, puedo confirmar que también estoy enfrentando este problema, estoy trabajando desde VS Code y recién comenzaba con flutter, y estaba trabajando en la aplicación de ejemplo "Startup Name Generator", y me sorprendió ver que la aplicación al reiniciar mostraba un código anterior, haciendo un cambio y haciendo una recarga en caliente, actualizó inmediatamente toda la interfaz de usuario al código actual, por lo que deduje que la apk nunca se actualizaba con los nuevos cambios, vino aquí y descubrí que hacer una limpieza rápida resolvió mi problema temporalmente , pero este es un problema muy molesto, necesitamos una opción de limpieza y construcción.

¿Podrías agregar aquí tu salida de doctor de Flutter para que sepamos qué versión estás usando?

Usé el archivo zip en el sitio web pero parece que tengo una actualización disponible Actualizaré el estado de cómo está después de la actualización

[aleteo] aleteo doctor
╔═════════════════════════════════════════════════ ═══════════════════════════╗
║ ADVERTENCIA: su instalación de Flutter tiene 77 días. ║
║ ║
║ Para actualizar a la última versión, ejecute "flutter upgrade". ║
╚═════════════════════════════════════════════════ ═══════════════════════════╝

Resumen del médico (para ver todos los detalles, ejecute flutter doctor -v):
[✓] Flutter (canal beta, v0.5.1, en Mac OS X 10.12.6 16G1408, configuración regional en-IN)
[✓] Cadena de herramientas de Android: desarrollo para dispositivos Android (SDK de Android 28.0.2)
[✓] Cadena de herramientas de iOS: desarrollo para dispositivos iOS (Xcode 9.2)
[✓] Android Studio (versión 3.1)
✗ El complemento Flutter no está instalado; esto agrega funcionalidad específica de Flutter.
✗ El complemento Dart no está instalado; esto agrega funcionalidad específica de Dart.
[!] VS Code (versión 1.26.0)
[✓] Dispositivos conectados (1 disponible)

! El doctor encontró problemas en 1 categoría.
código de salida 0

Sí, por favor intente eso. También puede intentar cambiar a dev o master branch

Bueno, está arreglado, supongo, puedo desconectarme y volver a conectarme y puedo ver que una nueva compilación se está generando e instalada correctamente, ¿hay alguna forma de que pueda garantizar una reconstrucción con todo el código en un momento determinado como antes de terminar con el trabajo? , debido a que ahora la recarga en caliente funciona casi como ejecución instantánea en Android Studio, los cambios se aplican solo mientras la sesión esté conectada, en una desconexión y reconexión, hace una compilación completa si vuelvo a ejecutar (¿hay una manera más fácil de hacer esto para VS Code?)

@droidluv Creo que se hizo un trabajo recientemente para permitir la reconexión. No estoy seguro de que esto cubra su caso de uso.

Alguna actualización ? Son 2 meses. No puedo usar flutter hasta que se resuelva este problema.
Lo ejecuto desde vscode.
registros

NoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosed

env

~/Desktop/hello_world
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.7.3, on Mac OS X 10.14 18A384a, locale en-CN)
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[✓] Android Studio (version 3.0)
[✓] VS Code (version 1.27.0)
[✓] Connected devices (1 available)

• No issues found!

@ bang88 Intente cambiar a dev o master y pruébelo. funciona bien para mí desde hace bastante tiempo.
¿Cómo se relacionan estos mensajes de error con este problema?

@escamoteur He intentado cambiar a un canal diferente y tengo el mismo error. El problema original era https://github.com/Dart-Code/Dart-Code/issues/1113

@DanTup, ¿hay alguna manera de hacer que vscode ejecute la CLI con --verbose ?

@tvolkert sí, haga clic en el engranaje en la barra lateral de depuración para crear / abrir launch.json , y luego agregue una sección args , por lo que se ve así:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "args": [
                "-v"
            ]
        }
    ]
}

La salida aparecerá en Debug Console :

screen shot 2018-09-07 at 17 33 20

@ bang88, ¿puedes intentar habilitar el registro detallado según el comentario anterior y pegar el resultado aquí?

¡Gracias @ bang88!

Para su información, para referencia futura, gist.github.com es un gran lugar para pegar fragmentos de registro realmente grandes como el anterior. Luego, pega un enlace a lo esencial en los comentarios aquí.

Entonces, según esa salida, parece que la siguiente línea está devolviendo null :

https://github.com/flutter/flutter/blob/cb74e0eda87e35966437ef38a09ef02e23d50206/packages/flutter_tools/lib/src/resident_runner.dart#L71

En realidad, cavando un poco, parece más una condición de carrera. @ bang88, ¿ puede intentar aplicar la siguiente diferencia localmente y luego ejecutarla de nuevo e incluir la salida? ¡Gracias!

diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart
index d675e6db3..cdfabe409 100644
--- a/packages/flutter_tools/lib/src/resident_runner.dart
+++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -86,12 +86,17 @@ class FlutterDevice {
     if (vmServices == null)
       return <FlutterView>[];

-    return vmServices
-      .where((VMService service) => !service.isClosed)
-      .expand((VMService service) => viewFilter != null
-          ? service.vm.allViewsWithName(viewFilter)
-          : service.vm.views)
-      .toList();
+    try {
+      return vmServices
+        .where((VMService service) => !service.isClosed)
+        .expand((VMService service) => viewFilter != null
+            ? service.vm.allViewsWithName(viewFilter)
+            : service.vm.views)
+        .toList();
+    } catch (error) {
+      printError('Error while getting views: $error -- stack trace: ${StackTrace.current}');
+      rethrow;
+    }
   }

   Future<Null> getVMs() async {

@ bang88 Eliminé su comentario anterior con el contenido del registro en línea que también puso a disposición con el enlace esencial. Espero que esté bien.

@zoechi Gracias.

@ bang88 ¿Podría intentar capturar un registro de VS Code mientras lo reproduce y adjunta aquí?

En VS Code, ejecute el comando Dart: Capture Logs desde la paleta de comandos y marque las categorías Debugger (Observatory) y Flutter Run . Luego reproduzca el problema y presione Detener registro, luego envíenos el registro.

@ bang88 Antes de hacer eso, ¿puede intentar instalar esta versión beta de Dart Code?

https://github.com/Dart-Code/Dart-Code/releases/tag/v2.18.1-beta.1

Soluciona un error en el que ejecutar con una salida detallada de Flutter podría hacer que adjuntemos el depurador antes de lo esperado (porque analizamos incorrectamente la URL del Observatorio de la salida detallada). Esto parece ser lo que está sucediendo en su registro más reciente, aunque como creo que es causado por un registro detallado, puede que no sea el problema original (aunque es sospechoso que el error parezca ser el mismo).

@DanTup Lo he reproducido como https://gist.github.com/bang88/e140e6a9a3c0c045d24339fc593c5595

Y capturé un gif:

log

@DanTup definitivamente parece que comenzamos a enviar eventos después del evento app.start y no esperamos al evento app.started .

21696 hará que el código sea más defensivo en el lado de las herramientas, pero probablemente también deberíamos actualizar el lado del IDE para retrasar el envío de eventos hasta que la aplicación haya comenzado.

Parece un problema de tiempo dependiendo del rendimiento de la máquina de desarrollo, por lo que algunas personas lo enfrentan y otras no.

Hardware Overview:

  Model Name:   MacBook Pro
  Model Identifier: MacBookPro14,3
  Processor Name:   Intel Core i7
  Processor Speed:  3.1 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 8 MB
  Memory:   16 GB
  Boot ROM Version: MBP143.0178.B00
  SMC Version (system): 2.45f0
  Serial Number (system):   xxx
  Hardware UUID:    xxx

@ bang88 si flutter upgrade en el canal maestro, obtendrá la primera solución a esto. Supongo que hará que tengas un tiempo de espera más directo esperando para iniciar la aplicación, pero pruébalo e infórmate.

@tvolkert Acabo de actualizar al canal maestro y ya no aparecen errores. pero la pantalla es blanca. y la recarga en caliente tampoco funciona

~/Desktop/hello_world
$ flutter doctor -v[✓] Flutter (Channel master, v0.8.3-pre.36, on Mac OS X 10.14 18A384a, locale en-CN)
    • Flutter version 0.8.3-pre.36 at /Users/bang/flutter
    • Framework revision d02e67e76e (5 hours ago), 2018-09-12 12:11:59 +0200
    • Engine revision 6f459e2f10
    • Dart version 2.1.0-dev.4.0.flutter-05ccfa8502

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.2)
    • Android SDK at /Users/bang/Library/Android/Sdk
    • Android NDK at /Users/bang/Library/Android/Sdk/ndk-bundle
    • Platform android-26, build-tools 26.0.2
    • ANDROID_HOME = /Users/bang/Library/Android/Sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 23.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.27.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.18.0

[✓] Connected devices (1 available)
    • iPhone X • 3DBD546E-7A81-40E2-AB99-F2843169EC64 • ios • iOS 11.4 (simulator)

• No issues found!

@tvolkert Creo que eso puede haber estado sucediendo antes, pero la versión beta vinculada anteriormente debería haberlo solucionado. Al mirar este registro, no puedo ver que se envíe nada a stdin después del evento app.start (cualquier dato enviado a stdin debe registrarse con [FlutterRun] [Info] ==> en la línea), pero parece que el La última línea del proceso Flutter es:

[10:18:14 GMT + 0800 (CST)] [FlutterRun] [Información] <== [+5 ms] Conectando al protocolo de servicio: http://127.0.0.1 : 59843 /

Entonces no sucede nada hasta que finaliza la sesión de depuración. Creo que algo en Flutter puede estar bloqueado después de la línea anterior, antes de que se envíe el evento app.started .

Me pregunto si deberíamos agregar printTrace s adicionales entre el código que imprime la línea de arriba y el que envía el evento app.started . También hubo otro problema que comenté anteriormente sobre esto (https://github.com/flutter/flutter/issues/18889#issuecomment-420706390) que creo que es un problema diferente, pero también parece algo estancado en esta área.

Si no queremos realizar un registro adicional, podríamos hacerlo en una rama y hacer que estos usuarios lo extraigan.

Este futuro no se completa a tiempo (o quizás nunca se completa):

https://github.com/flutter/flutter/blob/8cf68731e010023e5dcae1f00991f4ac5b1b758b/packages/flutter_tools/lib/src/resident_runner.dart#L71

Hay declaraciones de seguimiento antes y después: estamos viendo la anterior, pero no la siguiente ...

Rastreando esa llamada, apuesto a que donde realmente estamos colgando es aquí:

https://github.com/flutter/flutter/blob/8cf68731e010023e5dcae1f00991f4ac5b1b758b/packages/flutter_tools/lib/src/vmservice.dart#L241

/ cc @aam

Las solicitudes de VM pueden quedar sin respuesta si la VM también se cayó.
¿Qué sucede en el dispositivo cuando nos encontramos con estos problemas? ¿Se informaron fallas en el dispositivo?

No se bloquea solo una pantalla en blanco https://github.com/flutter/flutter/issues/16604#issuecomment -420490327

Por lo general, tendría que compilar la aplicación y la ejecutaría correctamente con los cambios.

De hecho, tacha eso. Tengo que reinstalar la aplicación

¿Alguna actualización?

Ya no necesito flutter clean mucho desde hace un tiempo.

Para mí limpiar no hace nada. Tengo que eliminar la aplicación del simulador de iOS. Entonces flutter intentará ejecutarse (y fallará). Y cuando si lo ejecuto por segunda vez funciona.

Debe haber algún problema con la lógica de actualización incremental. Si la aplicación se eliminó o cambió mediante una recarga en caliente, no se detectará correctamente durante flutter run .

No puedo usar flutter hasta que se resuelva este problema.

Acabo de encontrar este problema en la versión 0.8.2

Es muy molesto.

Cambiar al canal de desarrollo

Sigue siendo un problema en el maestro 0.10.1-pre.15

Creo que una de las razones principales por las que ocurre este problema (solucionado eliminando la carpeta de compilación o ejecutando el comando flutter clean), cuando algunas modificaciones de recuperación se aplicaron al código y luego presionamos recarga en caliente o reinicio en caliente y luego la aplicación se bloquea, después de esta nueva ejecución para el proyecto tomará la compilación anterior (antes de las modificaciones de unvaild) hasta eliminar la carpeta de compilación.

Para su información, @gspencergoog, este parece ser uno de los problemas de herramientas más informados.

@FlutterIODev Estoy de acuerdo, parece que es necesario que ocurra un bloqueo para que ocurra este problema. Creo que también debería ser un bloqueo irrecuperable, cuando la aplicación se congela. Esto parece suceder más cuando estoy depurando, aunque no estoy totalmente seguro.

Mi experiencia lo respalda. Puedo garantizar que la recarga en caliente no funcionará si hay una excepción, necesitando una limpieza para funcionar nuevamente (lo cual, no se menciona en los tutoriales, es bastante confuso cuando comienzas). Incluso he hecho que el uso de 'build apk' refleje una compilación de depuración anterior en lugar de los archivos actuales si no se usó 'clean' primero, que en particular parece no intencional.

¿Hay algún tipo particular de accidentes que parezcan estar correlacionados? ¿Quizás fallas que ocurren antes en la secuencia de inicio o en un complemento en particular? Me pregunto si simplemente no nos estamos recuperando adecuadamente de algunos tipos de excepciones.

Simplemente instale 0.9.4 hace minutos y aún no funciona.

Cualquier actualización estoy teniendo el mismo problema.

Estimados todos los que se han visto afectados por este error:

Estamos tratando de rastrear la (s) causa (s) de este error y nos está costando identificar una pistola humeante. Si pudiera ayudarnos llenando este formulario rápido, sería de gran ayuda.

https://goo.gl/forms/eFPT6A3jAD8clU4o2

@dedeswim
@ratsey
@escamoteur
@iampawan
@KgotsoK
@ jason-codeheroes
@ mohith7548
@ RedTech64
@jmwatte
@droidluv
@titonton
@szotp
@ ElNuru247
@ magicleon94
@NotThatBowser
@ bang88
@davidgalarza

No he visto este error desde hace bastante tiempo desde que estoy en el canal de desarrollo

Personas que pueden reproducirlo: cuando llegue a ese estado (cuando la aplicación en el dispositivo ya no se actualice mientras intenta implementarla desde el host), antes de hacer flutter clean ¿sería posible para para hacer algún cambio en la fuente, ¿ flutter run --verbose y compartir la salida de eso a través de gist.github.com?

cuando se me ocurre este problema, recibo este error de Android Studio

java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
java.util.concurrent.CompletionException: java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
    at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
    at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
    at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
    at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
    at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
    at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
    at io.flutter.run.daemon.DaemonApi$Command.completeExceptionally(DaemonApi.java:375)
    at io.flutter.run.daemon.DaemonApi.dispatch(DaemonApi.java:181)
    at io.flutter.run.daemon.DaemonApi$1.onTextAvailable(DaemonApi.java:141)
    at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.execution.process.ProcessHandler$5.invoke(ProcessHandler.java:223)
    at com.sun.proxy.$Proxy17.onTextAvailable(Unknown Source)
    at com.intellij.execution.process.ProcessHandler.notifyTextAvailable(ProcessHandler.java:197)
    at com.intellij.execution.process.BaseOSProcessHandler$SimpleOutputReader.onTextAvailable(BaseOSProcessHandler.java:198)
    at com.intellij.util.io.BaseOutputReader.sendText(BaseOutputReader.java:202)
    at com.intellij.util.io.BaseOutputReader.processInput(BaseOutputReader.java:186)
    at com.intellij.util.io.BaseOutputReader.readAvailableNonBlocking(BaseOutputReader.java:105)
    at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:85)
    at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:163)
    at com.intellij.util.io.BaseDataReader$1$1.run(BaseDataReader.java:66)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:209)
    at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:63)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
    ... 22 more

tal vez pueda ayudar ...
''
aleteo --versión:

Flutter 0.9.4 • canal beta • https://github.com/flutter/flutter.git
Marco • revisión f37c235c32 (hace 3 semanas) • 2018-09-25 17:45:40 -0400
Motor • revisión 74625aed32
Herramientas • Dart 2.1.0-dev.5.0.flutter-a2eb050044
''
Win10
dispositivo Android físico.

Personas que pueden reproducirlo: cuando llegue a ese estado (cuando la aplicación en el dispositivo ya no se actualice mientras intenta implementarla desde el host), antes de hacer flutter clean ¿sería posible para para hacer algún cambio en la fuente, ¿ flutter run --verbose y compartir la salida de eso a través de gist.github.com?

Ahí tienes: https://gist.github.com/zoechi/63ad820136130ee6a053e33f48b9ea14

@ 5ummit completó https://goo.gl/forms/eFPT6A3jAD8clU4o2

para otros, la sugerencia fue publicar los registros usando https://gist.github.com/
y solo publique el enlace aquí para evitar que este problema se convierta en una milla.

@ 5ummit escribió:

Ahí tienes:
...
[+97 ms] [+578 ms] Omitiendo la compilación del kernel. Coincidencia de huellas dactilares.

Gracias, muy útil. El hecho de que hayamos omitido la compilación después de modificar la fuente parece ser la causa principal. Quizás necesitemos instrumentar más el cálculo de huellas dactilares para comprender por qué informó una coincidencia después de que editó una fuente. Solo para confirmar: ha editado una de las fuentes en su aplicación Flutter en la carpeta lib/ , ¿verdad?

@ 5ummit escribió:

Ahí tienes:
...
[+97 ms] [+578 ms] Omitiendo la compilación del kernel. Coincidencia de huellas dactilares.

@aam escribió:
Gracias, muy útil. El hecho de que hayamos omitido la compilación después de modificar la fuente parece ser la causa principal. Quizás necesitemos instrumentar más el cálculo de huellas dactilares para comprender por qué informó una coincidencia después de que editó una fuente. Solo para confirmar: ha editado una de las fuentes en su aplicación Flutter en la carpeta lib/ , ¿verdad?

Sí, mucho, anteriormente tuve un problema que logré solucionar https://github.com/flutter/flutter/issues/23131 gracias a la comunidad. Ahora, al recibir este, ¿creen que están conectados?

Creo que para mí, personalmente, mi problema se origina en una dependencia de Firebase, también sucedió con https://github.com/flutter/flutter/issues/23131 . Sin embargo, tendré que mirar a mi alrededor para encontrar más.

Para reproducir hago lo siguiente.

  • revolotear limpio
  • aleteo ejecutar -v
  • Hacer un cambio
  • Cambio de recarga en caliente (con r)
  • Detener aplicación (con q)
  • aleteo ejecutar -v
  • Haz otro cambio
  • Recarga en caliente (con r)
  • Detener aplicación (con q)
  • aleteo ejecutar -v

Solo se muestra el primer cambio. Debe ejecutar flutter clean para que se vea el segundo cambio.
Fyi, estoy cambiando un entero constante estático que se usa en un widget de texto

@SUPERETDUPER escribió:

Aquí: https://gist.github.com/SUPERETDUPER/2b3585956f279ab5e47df431e8eda113
...
Compilando dart a kernel con 439 archivo actualizado

Esto parece indicar que cuando hiciste flutter run -v , reconstruimos la aplicación, pero lo que estás diciendo es que la aplicación se ejecutó sin que tu cambio (¿entero const estático?) Sea evidente.

¿Puede reproducir esto en la aplicación de contador de muestras de flutter ( flutter create sample )?

Estaba usando la aplicación de muestra del contador de aleteo. Todo lo que hice fue agregar Text("Number: $number") en el widget de columna. Y agregué esta línea static const int number = 1; en MyHomePageState . Para los cambios, acabo de cambiar 1 a otros valores.

Y sí, la aplicación se reconstruyó; la primera vez con los cambios pero la segunda vez sin el segundo cambio.

@SUPERETDUPER , ¿puede verificar si la creación de un proyecto de muestra de aleteo en algún lugar _fuera_ de una ruta con espacio en un nombre (la ruta completa de su carpeta de trabajo tiene espacio en IntelliJ IDEA ) soluciona el problema que experimenta con el estado obsoleto de la aplicación?

Si esto es tan difícil de solucionar, ¿hay al menos alguna bandera para forzar a Flutter a reconstruirse en cada lanzamiento?

Si esto es tan difícil de solucionar, ¿hay al menos alguna bandera para forzar a Flutter a reconstruirse en cada lanzamiento?

No es tan simple como una bandera, pero si está usando VS Code, puede crear una tarea para ejecutar flutter clean y configurarla como preLaunchTask .

.vscode / tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "flutter clean",
            "type": "shell",
            "command": "flutter clean"
        }
    ]
}

.vscode / launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "preLaunchTask": "flutter clean"
        }
    ]
}

Más arriba, dijiste que clean no funciona para ti y tienes que desinstalar la aplicación del dispositivo. Si ese sigue siendo el caso, es probable que deba cambiar el comando flutter clean a un comando adb para desinstalar la aplicación.

Dicho esto, ¡animo a probar las cosas enumeradas anteriormente antes de hacer esto!

@DanTup, de hecho, necesito eliminar la aplicación. Es posible que en realidad haya dos errores: uno sobre la necesidad de ejecutarse limpio y otro sobre la necesidad de eliminar la aplicación iOS.

Probé un poco más y creé un proyecto de muestra que funciona el 100% del tiempo, pero solo en iOS. Es posible que nunca haya tenido este problema en Android, pero no estoy seguro.

https://github.com/szotp/flutter_stale_app

He agregado instrucciones detalladas sobre cómo lograr el error:
https://github.com/szotp/flutter_stale_app/blob/master/lib/main.dart#L29 -L36

EDITAR: Creo que es esencial aquí, esa aplicación está en este estado congelado; el punto de interrupción del depurador parece garantizar esto en mi muestra, pero es posible tener una aplicación congelada sin alcanzar ningún punto de interrupción. Matar la aplicación antes de reiniciar parece ayudar, por lo que la compilación de Xcode se ejecuta nuevamente.

EDITAR: Cuando la aplicación se congela y la vuelvo a iniciar, la compilación de Xcode no ocurre, pero la aplicación claramente se mata y se inicia de nuevo, perdiendo todas las recargas en caliente que se acumularon antes.

Curiosamente, cuando estoy depurando con la versión que no se actualizó correctamente, el depurador muestra el código antiguo (de la carpeta de compilación). Entonces, ¿parece que la carpeta de compilación no se está actualizando?

@szotp ¡Gracias! Reproduje esta primera vez con sus instrucciones / aplicación en el simulador de iOS en mi MacBook.

@aam @tvolkert no estoy seguro de quién está mirando esto, pero supongo que se reproducirá fácilmente. De lo contrario, no dude en agarrarme si el acceso (remoto) a mi máquina es útil para depurar.

@tvolkert ¿Crees que puedes compartir los resultados del formulario de Google? Soy curioso.

Por la descripción, parece que uno de los archivos flutter_assets no se sincroniza correctamente en este escenario.

@SUPERETDUPER ¡ seguro! Aquí está: survey.pdf . Muestra respuestas bastante variadas, lo que para mí dice que este error probablemente esté sobrecargado con más de una causa subyacente.

@sztop , ¡gracias por la increíble reproducción!
¿ Https://github.com/flutter/flutter/issues/16604#issuecomment -431066044 ocurre solo en el simulador de iOS? ¿Qué sucede si sale (cierra) la aplicación flutter en el simulador de iOS antes de volver a iniciarla desde VSCode?

@aam ¡ Parece que eliminar los espacios lo solucionó! ¡Gracias!

Con # 23268 (corrección del simulador de iOS) y # 23273 (espacios en la corrección de ruta) aterrizados en la rama maestra, pruebe el canal maestro si puede y vea si aún puede reproducir el problema. ¡Gracias!

@aam Ahora funciona, gracias.

He intentado flutter channel master y el problema sigue ahí. Ríndete por ahora 😢. Creé una máquina ubuntu y configuré un nuevo entorno de desarrollo allí y todo funciona como se esperaba.

@ bang88 , no estoy seguro de poder ejecutar flutter desde la línea de comandos, pero ¿hay alguna posibilidad de que pueda hacer flutter run --verbose después de hacer un cambio y compartir el resultado a través de gist.github.com?

@aam Los registros: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

y versiones aleteo

~/Desktop/my_new_app 3m 34s
$ flutter doctor -v
[✓] Flutter (Channel master, v0.10.2-pre.21, on Mac OS X 10.14 18A389, locale
    en-CN)
    • Flutter version 0.10.2-pre.21 at /Users/bang/development/flutter
    • Framework revision 7aeb539da9 (34 hours ago), 2018-10-21 05:47:10 +0200
    • Engine revision 58cdd53f90
    • Dart version 2.1.0-dev.7.1.flutter-b99bcfd309

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/bang/Library/Android/Sdk
    • Android NDK at /Users/bang/Library/Android/Sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/bang/Library/Android/Sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.0, Build version 10A255
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.0

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 23.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.28.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.19.0

[✓] Connected device (1 available)
    • iPhone X • 57906EE0-7FEB-487A-8698-85E91AF8B004 • ios • iOS 12.0
      (simulator)

• No issues found!

@aam Los registros: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

@ bang88 , recibo un error 404 para esta URL.

¿@aam Github está caído?

¿Puedo enviarte un correo electrónico con lo esencial? o esperar que Github solucione los problemas del servidor

@ bang88 , actualizó ese enlace y pude ver la esencia, ¡gracias!

¿Qué archivo está editando (cuando lo hace flutter run -v )? ¿Es uno de los archivos de dart en su proyecto o en uno de los paquetes que importa? ¿Ves el archivo que estás editando en build/snapshot_blob.bin.d
Fingerprint match mensaje

[  +20 ms] Building Runner.app for ...
...
[ +371 ms] Skipping kernel compilation. Fingerprint match.
[ +545 ms] Building bundle

¿Alguna novedad sobre este asunto?
Tuve este problema justo después de cambiar de emulador (Windows) a un dispositivo real (Android).
flutter clean elimina .build pero todavía obtengo la aplicación anterior. Solo después de reinstalar la aplicación en el dispositivo, todo funciona como se esperaba.

@stannynuytkens ¿

Si es así, ¿podría intentar seguir las instrucciones de @aam en los mensajes anteriores?

  • Desinstalar la aplicación del teléfono
  • Eliminar la carpeta de compilación
  • Ejecute la aplicación desde la consola
  • Una vez cargada, salga de la aplicación (con q )
  • Realizar un cambio en un archivo (tenga en cuenta qué archivo cambia)
  • Ejecutar flutter run -verbose

Suponiendo que esto repros el problema, proporcionar la salida del flutter run -verbose final en un resumen, así como información sobre qué archivo modificó puede ser útil. También verifique si el archivo que modificó aparece en build/snapshot_blob.bin.d /

Actualización: los resultados de la encuesta se pueden ver en https://docs.google.com/spreadsheets/d/1xCzx-Xwx0Qiv3U5GqnjwkyLlzVmcxEZ73hzQszyzhkY/preview

No parece haber ninguna pistola humeante 😞

Si está trabajando en dev o master y tiene problemas con frecuencia, agregué la capacidad de deshabilitar todo nuestro almacenamiento en caché de compilación (esto no ralentizará la recarga o el reinicio en caliente). Esto se puede hacer configurando la variable de entorno DISABLE_FLUTTER_BUILD_CACHE=true .

Si esto mejora / no mejora la situación, me encantaría saberlo, pero tenga en cuenta que esto solo tendrá efecto en la v1.5.3 y posteriores.

Hemos confirmado que esto corrige el caso de activos obsoletos a los que se hace referencia en # 27720 y errores similares. Para continuar aquí, vamos a deshabilitar el almacenamiento en caché de compilación de forma predeterminada. Estos cachés de compilación se volverán a habilitar individualmente una vez que tengamos una mejor cobertura de prueba de integración para demostrar la corrección.

Es probable que este cambio no sea una versión estable durante algún tiempo, e idealmente para cuando la próxima versión estable esté disponible, habremos activado de nuevo todo el almacenamiento en caché de compilación. Mientras tanto, si los usuarios que están en dev o master pudieran informar si todavía ven o no este problema, sería extremadamente útil para deshacerse de todos los cabos sueltos.

Estoy teniendo este problema y también mi colega. Hemos tenido este problema durante más de una semana.

Cada vez que ejecuto la aplicación en un simulador de iOS, se ejecuta una versión anterior del código. Si reinicio en caliente, se ejecuta el último código. Flutter clean no cambia nada. Tengo el mismo problema en todos los simuladores que he probado y sin importar si lo ejecuto desde Android Studio, la terminal o XCode. No he intentado ejecutar desde otro IDE.

flutter doctor -v salida:
[✓] Flutter (canal estable, v1.2.1, en Mac OS X 10.14.4 18E226, configuración regional en-SE)
• Flutter versión 1.2.1 en / Users / martinlundberg / Dev / flutter
• Revisión del marco 8661d8aecd (hace 2 meses), 2019-02-14 19:19:53 -0800
• Revisión del motor 3757390fa4
• Dart versión 2.1.2 (compilación 2.1.2-dev.0.0 0a7dcf17eb)

[✓] Cadena de herramientas de Android: desarrollo para dispositivos Android (SDK de Android versión 28.0.3)
• SDK de Android en / Users / martinlundberg / Library / Android / sdk
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-28, herramientas de compilación 28.0.3
• Binario de Java en: / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1248-b01)
• Se aceptan todas las licencias de Android.

[✓] Cadena de herramientas de iOS: desarrollo para dispositivos iOS (Xcode 10.2.1)
• Xcode en /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, versión de compilación 10E1001
• ios-deploy 1.9.4
• CocoaPods versión 1.5.3

[✓] Android Studio (versión 3.3)
• Android Studio en / Aplicaciones / Android Studio.app/Contents
• Complemento Flutter versión 33.3.1
• Complemento de Dart versión 182.5215
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1248-b01)

[✓] IntelliJ IDEA Ultimate Edition (versión 2018.1.3)
• IntelliJ en / Applications / IntelliJ IDEA.app
• Complemento Flutter versión 29.0.2
• Complemento de Dart versión 181.4892.1

[✓] IntelliJ IDEA Community Edition (versión 2018.1.6)
• IntelliJ en / Applications / IntelliJ IDEA CE.app
• Complemento Flutter versión 29.0.2
• Complemento de Dart versión 181.5540.11

[✓] Código VS (versión 1.33.1)
• Código VS en / Aplicaciones / Visual Studio Code.app/Contents
• Extensión Flutter versión 2.25.1

[✓] Dispositivo conectado (2 disponibles)
• SDK de Android creado para x86 • emulador-5554 • android-x86 • Android 9 (API 28) (emulador)
• iPhone 6 • 63E1705F-F8E7-4916-8C58-D2307D217DCD • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulador)

• ¡No se encontraron problemas!

Estas correcciones están solo en ~ 1.5 y posteriores, por lo que esperaría que todavía haya problemas en 1.2.1. Sin embargo, me sorprende que flutter clean no tenga ningún efecto; en este caso, intentaría reiniciar el simulador.

Sí, también me sorprende.

Desafortunadamente, reiniciar el simulador no cambia nada. La única forma de solucionarlo es reiniciar en caliente; que hace que se ejecute el código más reciente. El problema es que eso no cambia la configuración del entorno que configuramos antes de ejecutar la aplicación: /

Entonces, ¿recomienda cambiar a ~ 1.5 para solucionar el problema?

¿Tiene un directorio de compilación configurado de manera diferente? Específicamente, si foo/ es la raíz de su proyecto de flutter, ¿hay un directorio foo/build ? Si es así, ¿puede eliminarlo manualmente e intentarlo de nuevo?

Además, parece que la solución que obtuve se etiquetó como v1.5.8

Sí, flutter clean elimina la carpeta de compilación y luego tengo el mismo problema cuando compilo y ejecuto nuevamente.

@molundb escribió

Estoy teniendo este problema y también mi colega. Hemos tenido este problema durante más de una semana.

¿Sabes cuando empezó? ¿Ejecutó una versión anterior de flutter antes de eso o algo más cambió hace una semana?

Cada vez que ejecuto la aplicación en un simulador de iOS, se ejecuta una versión anterior del código. I

¿Solo ocurre con el simulador de iOS? ¿O también está experimentando esto en un dispositivo iOS físico o en una SIM / dispositivo Android?

¿Puede reproducir esto cuando se ejecuta desde la línea de comando flutter run -v ? Si es así, ¿puede copiar y pegar la salida de flutter run -v en https://gist.github.com/ y publicar un enlace aquí? Básicamente, si puede limpiar la carpeta de compilación, flutter run -v la aplicación, hacer un cambio, realizar una recarga en caliente, confirmar que no se presentaron cambios, el registro para eso sería muy útil.

@molundb
Eliminar la aplicación del simulador funcionó para mí. Esto suele suceder cuando alcanzo una excepción no detectada

@titonton
Gracias por el consejo, pero he hecho Hardware -> Borrar todo el contenido y la configuración ... para el simulador y todavía tengo el mismo problema.

@aam

¿Sabes cuando empezó? ¿Ejecutó una versión anterior de flutter antes de eso o algo más cambió hace una semana?

Fue hace tanto tiempo que no puedo decir cuándo comenzó a suceder o qué lo causó, desafortunadamente. He actualizado Flutter al menos una vez después de que comenzó a suceder.

¿Solo ocurre con el simulador de iOS? ¿O también está experimentando esto en un dispositivo iOS físico o en una SIM / dispositivo Android?

No sucede en la SIM o el dispositivo Android. Estoy cargando un dispositivo iOS ahora para probarlo.

Básicamente, si puede limpiar la carpeta de compilación, ejecutar flutter -v en la aplicación, hacer un cambio, realizar una recarga en caliente, confirmar que no aparecieron cambios, el registro para eso sería muy útil.

https://gist.github.com/molundb/cda4caa4e90288568db16ba9a0e962d6

No puedo responder a su pregunta en este momento sobre el dispositivo iOS, ya que parece que no puedo ejecutar en este dispositivo iOS por alguna razón:

Iniciando lib / main_dev.dart en Iphone 7s iPhone en modo de depuración ...
Firmar automáticamente iOS para la implementación del dispositivo utilizando el equipo de desarrollo especificado en el proyecto Xcode: 2NJ74JJ92A
Ejecutando Xcode build ...
Compilación de Xcode terminada. 6,9 s
No se pudo crear la aplicación para iOS
Salida de error de la compilación de Xcode:

* CONSTRUCCIÓN FALLIDA *

Salida de Xcode:

=== CONSTRUYE EL CORREDOR OBJETIVO DEL CORREDOR DE PROYECTO CON CONFIGURACIÓN Depuración ===
El uso de la inferencia de Swift 3 @objc en el modo Swift 4 está obsoleto. Por favor, solucione las advertencias de inferencia de @objc obsoletas, pruebe su código con el registro "Uso de inferencia de Swift 3 @objc obsoleto " habilitado y luego deshabilite la inferencia cambiando la configuración de compilación "Inferencia de Swift 3 @objc " a "Predeterminado" para el "Runner". objetivo.
=== CONSTRUYE EL CORREDOR OBJETIVO DEL CORREDOR DEL PROYECTO CON CONFIGURACIÓN Depuración ===
ld: advertencia: ignorando el archivo /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/ios/Flutter/App.framework/App, el archivo fue creado para x86_64 que no es la arquitectura que se está vinculando (arm64): / Users / martinlundberg / AndroidStudioProjects / tlycs_flutter / ios / Flutter / App.framework / Aplicación
=== CONSTRUYE EL CORREDOR OBJETIVO DEL CORREDOR DE PROYECTO CON CONFIGURACIÓN Depuración ===
Binario sin grasa /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App no ​​es arm64. Ejecutando lipo -info:
Archivo sin grasa: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App es arquitectura: x86_64
El comando / bin / sh falló con el código de salida 1

No se pudo crear la aplicación precompilada para el dispositivo.

Error al iniciar la aplicación en iPhone 7s iPhone.

@molundb escribió

Básicamente, si puede limpiar la carpeta de compilación, ejecutar flutter -v en la aplicación, hacer un cambio, realizar una recarga en caliente, confirmar que no aparecieron cambios, el registro para eso sería muy útil.
https://gist.github.com/molundb/cda4caa4e90288568db16ba9a0e962d6

¡Gracias! Entonces, la recarga / reinicio en caliente funciona como se esperaba, pero luego, cuando detiene la aplicación y la ejecuta nuevamente, ¿ve que se muestra la aplicación anterior? ¿Puedes publicar un resumen de flutter run -v de eso (el segundo flutter run -v que muestra una aplicación obsoleta)?

Tengo el mismo problema y mi productividad es básicamente un 30% de lo normal debido a eso. Veo que al menos de 3 a 4 semanas no hay evidencia de ningún cambio a mejor. Solo puedo esperar que alguien haga de eso una alta prioridad. - ¡¡¡Me está matando ahora mismo !!!

Ahora parece un cambio normal.

  1. eliminar todos los puntos de interrupción
  2. llamar a flutter clean
  3. reinicio en frío
  4. habilitar el punto de interrupción de nuevo
  5. trabajar un poco

Veo también toneladas de estos mensajes de consola:
'' '16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 17.994 290 información flutter.tools [] -> toStringDeep ()
'' '
salida de datos en mi consola.

Aquí está mi versión que es la más reciente en el maestro:

C: \ Proyectos \ obdchk> flutter doctor -v
[√] Flutter (Channel master, v1.5.9-pre.62, en Microsoft Windows [Versión 10.0.17763.437], configuración regional en-US)
• Flutter versión 1.5.9-pre.62 en c: \ sdks \ flutter
• Revisión del marco 8fd7fa492a (hace 3 horas), 2019-04-29 12:59:30 -0700
• Revisión del motor 1ecf924ff8
• Dart versión 2.3.0 (compilación 2.3.0-dev.0.3 c46deebfb6)

16: 07: 17.942 252 info flutter.tools [+965 ms] -> resultado 16e00721-c286-43e9-9460-70182643e449
16: 07: 17.944 253 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Getter no encontrado: 'snapshot'.
16: 07: 17.944 254 información flutter.tools [] -> snapshot.data
16: 07: 17.944 255 info flutter.tools [] -> ^^^^^^^^
16: 07: 17.944 256 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El getter 'snapshot' no está definido para la clase '_HomeScreenState'.
16: 07: 17.944 257 info flutter.tools [] -> - '_HomeScreenState' es del 'paquete: obdchk / screen / home_screen.dart' ('lib / screen / home_screen.dart').
16: 07: 17.944 258 info flutter.tools [] -> Intente corregir el nombre por el nombre de un getter existente, o defina un getter o campo llamado 'snapshot'.
16: 07: 17.944 259 información flutter.tools [] -> snapshot.data
16: 07: 17.944 260 información flutter.tools [] -> ^^^^^^^^
16: 07: 17.952 261 información flutter.tools [+3 ms] -> 16e00721-c286-43e9-9460-70182643e449 build \ app.dill.track.dill.incremental.dill 16
16: 07: 17.952 262 info flutter.tools [+2 ms] -> resultado 1bae7b85-0d7d-48c6-a4c2-e199a261f77e
16: 07: 17.954 263 información flutter.tools [+3 ms] -> 1bae7b85-0d7d-48c6-a4c2-e199a261f77e build \ app.dill.track.dill.incremental.dill 16
16: 07: 17.955 264 info flutter.tools [+2 ms] -> resultado 853ea583-b3e8-47a7-ae8f-6921d5f98593
16: 07: 17.963 265 info flutter.tools [+2 ms] -> 853ea583-b3e8-47a7-ae8f-6921d5f98593 build \ app.dill.track.dill.incremental.dill 16
16: 07: 17.963 266 info flutter.tools [+1 ms] -> resultado d79513ca-38d5-4354-a47f-88ddd91741fb
16: 07: 17.963 267 información flutter.tools [+3 ms] -> d79513ca-38d5-4354-a47f-88ddd91741fb build \ app.dill.track.dill.incremental.dill 16
16: 07: 17.971 268 info flutter.tools [+4 ms] -> resultado 2adf58bf-63cc-4eb8-b6c4-4952c2262bc3
16: 07: 17.971 269 info flutter.tools [+2 ms] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Getter no encontrado: '_value'.
16: 07: 17.971 270 información flutter.tools [] -> _value
16: 07: 17.971 271 información flutter.tools [] -> ^^^^^^
16: 07: 17.971 272 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El getter '_value' no está definido para la clase '_HomeScreenState'.
16: 07: 17.971 273 info flutter.tools [] -> - '_HomeScreenState' es del 'paquete: obdchk / screen / home_screen.dart' ('lib / screen / home_screen.dart').
16: 07: 17.971 274 info flutter.tools [] -> Intente corregir el nombre por el nombre de un getter existente, o defina un getter o campo llamado '_value'.
16: 07: 17.971 275 información flutter.tools [] -> _value
16: 07: 17.971 276 información flutter.tools [] -> ^^^^^^
16: 07: 17.985 277 info flutter.tools [+8 ms] -> 2adf58bf-63cc-4eb8-b6c4-4952c2262bc3 build \ app.dill.track.dill.incremental.dill 18
16: 07: 17.985 278 info flutter.tools [+4 ms] -> resultado 4379cbc9-98a6-4540-865a-c6c0a09aba5e
16: 07: 17.987 279 info flutter.tools [+2 ms] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Getter no encontrado: 'newValue'.
16: 07: 17.987 280 información flutter.tools [] -> newValue
16: 07: 17.987 281 información flutter.tools [] -> ^^^^^^^^
16: 07: 17.987 282 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El getter 'newValue' no está definido para la clase '_HomeScreenState'.
16: 07: 17.987 283 info flutter.tools [] -> - '_HomeScreenState' es del 'paquete: obdchk / screen / home_screen.dart' ('lib / screen / home_screen.dart').
16: 07: 17.987 284 info flutter.tools [] -> Intente corregir el nombre por el nombre de un getter existente, o defina un getter o campo llamado 'newValue'.
16: 07: 17.987 285 información flutter.tools [] -> newValue
16: 07: 17.987 286 información flutter.tools [] -> ^^^^^^^^
16: 07: 17.994 287 info flutter.tools [+3 ms] -> 4379cbc9-98a6-4540-865a-c6c0a09aba5e build \ app.dill.track.dill.incremental.dill 20
16: 07: 17.994 288 información flutter.tools [+1 ms] -> resultado 16915064-96cf-4c0c-9277-a36139fb4487
16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 17.994 290 información flutter.tools [] -> toStringDeep ()
16: 07: 17.994 291 información flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 17.994 292 info flutter.tools [] -> org-dartlang- debug: Synthetic_debug_expression: 1: 1: Error: El método 'toStringDeep' no está definido para la clase 'StreamValue'.
16: 07: 17.995 293 info flutter.tools [] -> - 'StreamValue' es de 'paquete: utilities / stream / stream_value.dart' ('utilities / lib / stream / stream_value.dart').
16: 07: 17.995 294 info flutter.tools [] -> Intente corregir el nombre por el nombre de un método existente, o defina un método llamado 'toStringDeep'.
16: 07: 17.995 295 información flutter.tools [] -> toStringDeep ()
16: 07: 17.995 296 info flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.003 297 info flutter.tools [+4 ms] -> 16915064-96cf-4c0c-9277-a36139fb4487 build \ app.dill.track.dill.incremental.dill 22
16: 07: 18.017 298 info flutter.tools [+15 ms] -> resultado 098efd6c-f435-42a8-8ed5-cc3e79a5562f
16: 07: 18.017 299 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 18.017 300 información flutter.tools [] -> toStringDeep ()
16: 07: 18.017 301 info flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.017 302 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El método 'toStringDeep' no está definido para la clase '_HomeScreenState'.
16: 07: 18.017 303 info flutter.tools [] -> - '_HomeScreenState' es del 'paquete: obdchk / screen / home_screen.dart' ('lib / screen / home_screen.dart').
16: 07: 18.017 304 info flutter.tools [] -> Intente corregir el nombre por el nombre de un método existente, o defina un método llamado 'toStringDeep'.
16: 07: 18.017 305 información flutter.tools [] -> toStringDeep ()
16: 07: 18.017 306 info flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.025 307 info flutter.tools [+3 ms] -> 098efd6c-f435-42a8-8ed5-cc3e79a5562f build \ app.dill.track.dill.incremental.dill 24
16: 07: 18.032 308 info flutter.tools [+11 ms] -> resultado da8399f4-db8d-4390-956d-107016a6ea59
16: 07: 18.040 309 info flutter.tools [+6 ms] -> da8399f4-db8d-4390-956d-107016a6ea59 build \ app.dill.track.dill.incremental.dill 24
16: 07: 18.040 310 info flutter.tools [+1 ms] -> resultado 542a3647-5840-4c9b-9588-d9f441879e12
16: 07: 18.040 311 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 18.040 312 información flutter.tools [] -> toStringDeep ()
16: 07: 18.040 313 información flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.040 314 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El método 'toStringDeep' no está definido para la clase '_StateLifecycle'.
16: 07: 18.040 315 info flutter.tools [] -> - '_StateLifecycle' es de 'paquete: flutter / src / widgets / framework.dart' ('archivo: /// c: / sdks / flutter / packages / flutter /lib/src/widgets/framework.dart ').
16: 07: 18.040 316 info flutter.tools [] -> Intente corregir el nombre por el nombre de un método existente, o defina un método llamado 'toStringDeep'.
16: 07: 18.040 317 información flutter.tools [] -> toStringDeep ()
16: 07: 18.040 318 información flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.047 319 info flutter.tools [+3 ms] -> 542a3647-5840-4c9b-9588-d9f441879e12 build \ app.dill.track.dill.incremental.dill 26
16: 07: 18.048 320 info flutter.tools [+1 ms] -> resultado 62d95968-c129-4d39-a840-8bdeabef1218
16: 07: 18.056 321 info flutter.tools [+6 ms] -> 62d95968-c129-4d39-a840-8bdeabef1218 build \ app.dill.track.dill.incremental.dill 26
16: 07: 18.066 322 info flutter.tools [+2 ms] -> resultado b5818d24-c116-4f43-a769-59904f0120de
16: 07: 18.066 323 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 18.066 324 información flutter.tools [] -> toStringDeep ()
16: 07: 18.066 325 info flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.066 326 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El método 'toStringDeep' no está definido para la clase 'AppBloc'.
16: 07: 18.067 327 info flutter.tools [] -> - 'AppBloc' es del 'paquete: elm_bluetooth_bloc / bloc / app_bloc.dart' ('elm_bluetooth_bloc / lib / bloc / app_bloc.dart').
16: 07: 18.067 328 info flutter.tools [] -> Intente corregir el nombre por el nombre de un método existente, o defina un método llamado 'toStringDeep'.
16: 07: 18.067 329 información flutter.tools [] -> toStringDeep ()
16: 07: 18.067 330 info flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 18.067 331 info flutter.tools [+2 ms] -> b5818d24-c116-4f43-a769-59904f0120de build \ app.dill.track.dill.incremental.dill 28
16: 07: 18.179 332 info runtime.gc tiempo de recopilación 229ms • 46.5MB usados ​​de 54.7MB • aislamientos / 867114562
16: 07: 18.250 333 info runtime.gc tiempo de recopilación 235ms • 51.5MB usados ​​de 54.7MB • aislamientos / 867114562
16: 07: 31.262 334 info flutter.tools [+13198 ms] -> resultado 00e09141-41b9-43e3-806d-d4725fedf81e
16: 07: 31.262 335 info flutter.tools [+2 ms] -> org-dartlang-debug: Synthetic_debug_expression: 1:18: Error: Se esperaba un identificador, pero obtuvo ''.
16: 07: 31.262 336 información flutter.tools [] -> onData! = Null &&
16: 07: 31.262 337 info flutter.tools [] -> ^ ...
16: 07: 31.270 338 información flutter.tools [+6 ms] -> 00e09141-41b9-43e3-806d-d4725fedf81e build \ app.dill.track.dill.incremental.dill 29
16: 07: 33.060 339 info flutter.tools [+1792 ms] -> resultado a180ce8f-8940-46e2-b814-0e24d138f935
16: 07: 33.067 340 info flutter.tools [+2 ms] -> a180ce8f-8940-46e2-b814-0e24d138f935 build \ app.dill.track.dill.incremental.dill 29
16: 07: 38.919 341 info flutter.tools [+5854 ms] -> resultado 95d4434d-929d-4504-8653-b98921661dd8
16: 07: 38.926 342 info flutter.tools [+5 ms] -> 95d4434d-929d-4504-8653-b98921661dd8 build \ app.dill.track.dill.incremental.dill 29
16: 07: 38.938 343 info flutter.tools [+14 ms] -> resultado b183ab8e-99a6-4db0-be44-310e20c62eac
16: 07: 38.938 344 info flutter.tools [+1 ms] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 38.938 345 info flutter.tools [] -> toStringDeep ()
16: 07: 38.938 346 información flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 38.938 347 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: El método 'toStringDeep' no está definido para la clase '_Closure'.
16: 07: 38.938 348 info flutter.tools [] -> - '_Closure' es de 'dart: core'.
16: 07: 38.938 349 info flutter.tools [] -> Intente corregir el nombre por el nombre de un método existente, o defina un método llamado 'toStringDeep'.
16: 07: 38.938 350 info flutter.tools [] -> toStringDeep ()
16: 07: 38.938 351 información flutter.tools [] -> ^^^^^^^^^^^^
16: 07: 38.946 352 info flutter.tools [+3 ms] -> b183ab8e-99a6-4db0-be44-310e20c62eac build \ app.dill.track.dill.incremental.dill 31
16: 07: 42.213 353 info flutter.tools [+3268 ms] I / flutter (16546): 26 2019-04-29 16: 06: 34.931965 FINE ui.main.dart: ruta inicial = nulo
16: 07: 42.232 354 info runtime.gc tiempo de recolección 250ms • 53.1MB usados ​​de 60.0MB • aislamientos / 867114562
16: 07: 42.239 355 info flutter.tools [+25 ms] I / flutter (16546): 27 2019-04-29 16: 06: 34.957641 FINE home_screen.dart: construir pantalla de inicio
16: 07: 42.355 356 info flutter.tools [+114 ms] I / flutter (16546): 28 2019-04-29 16: 06: 35.071358 FINE ui.main.dart: ruta inicial = nulo
16: 07: 42.421 357 info flutter.tools [+65 ms] I / flutter (16546): 29 2019-04-29 16: 06: 35.136896 FINE home_screen.dart: construir pantalla de inicio
16: 07: 42.496 358 info runtime.gc tiempo de recopilación 256ms • 54.5MB usados ​​de 62.7MB • aislamientos / 867114562
16: 07: 42.787 359 info runtime.gc tiempo de recopilación 323ms • 41.6MB usados ​​de 52.5MB • aislamientos / 867114562
16: 08: 17.778 360 info flutter.tools [+35360 ms] DevFS: Eliminación del sistema de archivos en el dispositivo (archivo: ///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16: 08: 17.778 361 info flutter.tools [] Envío al servicio VM: _deleteDevFS ({fsName: obdchk})
16: 08: 17.827 362 info flutter.tools [+46 ms] Resultado: {tipo: Éxito}
16: 08: 17.827 363 info flutter.tools [] DevFS: Sistema de archivos eliminado en el dispositivo (archivo: ///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16: 08: 17.827 364 info flutter.tools [+1 ms] Envío al servicio VM: ext.flutter.exit ({isolateId: isolates / 867114562})
16: 08: 18.194 365 info flutter.tools [+363 ms] Se cerró la conexión del protocolo de servicio.
16: 08: 19.832 366 info flutter.tools [+1639 ms] Aplicación finalizada.
16: 08: 19.841 367 info flutter.tools [+7 ms] "flutter run" tomó 4,203,976ms.
16: 08: 19.841 368 info flutter.tools [] "flutter run" tomó 4,203,976ms.

@ ride4sun escribió

Tengo el mismo problema

Solo para confirmar: puede recargar / reiniciar en caliente la aplicación y ver los cambios, pero tan pronto como detiene la aplicación y la vuelve a iniciar, ¿no ve los cambios? Si puede publicar el registro (gist) de flutter run -v emitido desde la ventana de la línea de comandos una vez que la aplicación llega a este estado, eso debería ayudar.

Veo también toneladas de estos mensajes de consola:
'' '16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: Synthetic_debug_expression: 1: 1: Error: Método no encontrado: 'toStringDeep'.
16: 07: 17.994 290 información flutter.tools [] -> toStringDeep ()
'' '

¿Qué IDE usas? Parece que está ejecutando flutter / ide en modo detallado que descarga todas las solicitudes de expresión de compilación bajo demanda que emite IDE para evaluar varias expresiones mientras navega por su código fuente. El modo detallado es tan detallado como se esperaba, aunque no estoy seguro de por qué está activado en su configuración.

Solo para confirmar: puede recargar / reiniciar en caliente la aplicación y ver los cambios, pero tan pronto como se detenga
la aplicación e iníciela de nuevo, ¿no ve los cambios?

Creo que es correcto, tengo que prestar más atención a eso.

Si puede publicar el registro (lo esencial) de flutter, ejecute -v emitido desde> la ventana de la línea de comandos una vez que la aplicación llegue a> este estado, eso debería ayudar.

OK lo haré

¿Qué IDE usas?

Estudio de Android

Parece que está ejecutando flutter / ide en modo detallado que descarga todo bajo demanda
La expresión de compilación solicita que el IDE evalúe varias expresiones a medida que navega por su código fuente. El modo detallado es tan detallado como se esperaba, aunque no estoy seguro de por qué está activado en su configuración.

Encendí el verbose después de ver todos estos problemas. Creo que existe una correlación entre cuándo aparecen estos mensajes 'toStringDeep'.

                                                             toStringDeep()

16: 07: 38.938 346 información flutter.tools [] -> ^^^^^^^^^^^^

@aam

¡Gracias! Entonces, la recarga / reinicio en caliente funciona como se esperaba, pero luego, cuando detiene la aplicación y la ejecuta nuevamente, ¿ve que se muestra la aplicación anterior? ¿Puedes publicar un resumen de flutter run -v de eso (el segundo flutter run -v que muestra una aplicación obsoleta)?

Siempre que inicio la aplicación, se ejecuta el código antiguo. La recarga en caliente no cambia nada. La única forma que he encontrado para ejecutar el código actual es reiniciar en caliente. Después de eso, la recarga en caliente funciona como de costumbre. Si paro e inicio la aplicación nuevamente, el código anterior se ejecuta nuevamente.

https://gist.github.com/molundb/7020ff1e43e28fd3e2d0326cd0b957ae

@molundb escribió

Cada vez que inicio la aplicación, se ejecuta el código antiguo

¿Qué pasa si antes de iniciar la aplicación editas algún archivo? ¿Qué sucede si elimina la aplicación del simulador antes de iniciarla de nuevo?

Creo que será más fácil solucionar el problema si también pasa a la última versión beta o dev.

Además, si puede ver si la muestra (galería de aleteo) presenta el mismo problema cuando la edita y recarga, deténgala e iníciela, idealmente desde la línea de comando donde puede capturar registros.

@aam escribió

¿Qué pasa si antes de iniciar la aplicación editas algún archivo?

Lo intenté, no hay diferencia. El mismo código antiguo todavía se ejecuta.

¿Qué sucede si elimina la aplicación del simulador antes de iniciarla de nuevo?

Lo intenté, no hay diferencia. El mismo código antiguo todavía se ejecuta.

Creo que será más fácil solucionar el problema si también pasa a la última versión beta o dev.

Ok, cambié a beta.

Además, si puede ver si la muestra (galería de aleteo) presenta el mismo problema cuando la edita y recarga, deténgala e iníciela, idealmente desde la línea de comando donde puede capturar registros.

La ejecución de la aplicación de la galería Flutter funcionó como debería; no se estaba ejecutando ningún código antiguo.
https://gist.github.com/molundb/075ba9d05e0516b7787a0570a97d05ef

@molundb escribió

¿Qué pasa si antes de iniciar la aplicación editas algún archivo?

Lo intenté, no hay diferencia. El mismo código antiguo todavía se ejecuta.

¿Puede publicar un registro de una ejecución después de algún cambio en el código fuente? Si hay Skipping kernel compilation. Fingerprint match. en el registro en el inicio de la aplicación inicial, incluso si edita el código fuente, de alguna manera el sistema de archivos no informa los cambios del sistema de archivos o fluctúa y está buscando en diferentes fuentes. ¿Puede confirmar que el archivo que edita tiene la marca de tiempo actualizada? beta versión dev debe informar la lista de fuentes que utilizó para la compilación. ¿Puede confirmar que el archivo que edita aparece en la lista?
¿Qué pasa si haces flutter clean (o eliminas la carpeta build/ )? La próxima vez que ejecutes la aplicación, ¿tiene los cambios? Si es así, ¿cómo se llega al estado roto? ¿Detiene la aplicación, cambia la fuente, inicia la aplicación y no ve el cambio en ese momento?

La ejecución de la aplicación de la galería Flutter funcionó como debería; no se estaba ejecutando ningún código antiguo.

Bien, eso al menos establece una base razonable. Quizás comparar la configuración de su aplicación en su máquina con el ejemplo de la galería Flutter podría proporcionar algunas ideas sobre por qué no funciona para su aplicación. ¿Ambos están alojados en el mismo disco / sistema de archivos?

Omitiendo la compilación del kernel. Coincidencia de huellas dactilares

Eso nunca debería aparecer si pasó esta corrección, porque desactivé todas las huellas dactilares

@aam

¿Puede publicar un registro de una ejecución después de algún cambio en el código fuente? Si se omite la compilación del kernel. Coincidencia de huellas dactilares. en el inicio de sesión en el inicio de la aplicación inicial, incluso si edita el código fuente, de alguna manera el sistema de archivos no informa los cambios del sistema de archivos o fluctúa y está buscando en diferentes fuentes.

No pude encontrar una compilación del kernel de omisión. Coincidencia de huellas dactilares.

¿Puede confirmar que el archivo que edita tiene la marca de tiempo actualizada? La versión beta / dev debe informar la lista de fuentes que usó para la compilación. ¿Puede confirmar que el archivo que edita aparece en la lista?

¿Dónde puedo ver esta marca de tiempo? En la salida, puedo ver el archivo que edité enumerado dos veces, pero también se enumeran muchos otros archivos que no fueron editados.

Edité este archivo: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/lib/screens/settings_page/SettingsPage.dart

Aquí está el resultado:
https://gist.github.com/molundb/146a46aa7c2e1a6fc81071b4d23561d1

¿Qué pasa si limpias revoloteando (o eliminas la compilación / carpeta)? La próxima vez que ejecutes la aplicación, ¿tiene los cambios? Si es así, ¿cómo se llega al estado roto? ¿Detiene la aplicación, cambia la fuente, inicia la aplicación y no ve el cambio en ese momento?

No, flutter clean no cambia nada. El código antiguo todavía se está ejecutando. Entramos en un estado roto cada vez que la aplicación se detiene y luego se ejecuta. Hacer un reinicio en caliente corrige el estado roto.

Bien, eso al menos establece una base razonable. Quizás comparar la configuración de su aplicación en su máquina con el ejemplo de la galería Flutter podría proporcionar algunas ideas sobre por qué no funciona para su aplicación. ¿Ambos están alojados en el mismo disco / sistema de archivos?

Sí, ambos están alojados en el mismo disco. No sé qué otras diferencias mirar
¿Tienes alguna idea?

¿Dónde puedo ver esta marca de tiempo? En la salida, puedo ver el archivo que edité enumerado dos veces, pero también se enumeran muchos otros archivos que no fueron editados.

Me refiero a la marca de tiempo que obtiene en ls -al {filename} Terminal Shell, por ejemplo.
La lista de archivos es útil para confirmar que el archivo que está editando es el que se está compilando.

No, flutter clean no cambia nada. El código antiguo todavía se está ejecutando. Entramos en un estado roto cada vez que la aplicación se detiene y luego se ejecuta. Hacer un reinicio en caliente corrige el estado roto.

Entonces inicias la aplicación en el estado A (digamos que el color de fondo es gris), lo haces flutter run -v . Edita el código fuente de flutter (estado B) (por lo que el color de fondo es rojo, por ejemplo), recarga en caliente ('r' en la sesión de terminal de línea de comando de flutter), ¿ve el cambio? Detienes la aplicación (sal de flutter run ) y la reinicias ( flutter run -v , ¿ves el estado A o el estado B? Si todavía ves A, ¿qué pasa si eliminas la aplicación del simulador de iPhone? flutter clean , ¿ flutter run otra vez?

@aam

Me refiero a la marca de tiempo que obtiene en ls -al {nombre de archivo} Terminal Shell, por ejemplo.
La lista de archivos es útil para confirmar que el archivo que está editando es el que se está compilando.

¡Oh! No conocía ese comando antes. Lo probé y, de hecho, parece notar cuando se actualiza un archivo. Sin embargo, el problema sigue siendo el mismo; se está ejecutando el código antiguo a menos que reinicie en caliente. Aquí está la salida del terminal:

Sebastians-MacBook-Pro-Retina-2016:tlycs_flutter martinlundberg$ ls -al lib/widgets/FeedbackButton.dart 
-rw-r--r--  1 martinlundberg  staff  1051 May  6 09:33 lib/widgets/FeedbackButton.dart
Sebastians-MacBook-Pro-Retina-2016:tlycs_flutter martinlundberg$ ls -al lib/widgets/FeedbackButton.dart 
-rw-r--r--  1 martinlundberg  staff  1053 May  7 11:00 lib/widgets/FeedbackButton.dart

Entonces inicias la aplicación en el estado A (digamos que el color de fondo es gris), haces flutter run -v.

Hecho.

Edita el código fuente de flutter (estado B) (por lo que el color de fondo es rojo, por ejemplo), recarga en caliente ('r' en la sesión de terminal de línea de comando de flutter), ¿ve el cambio?

Ningún cambio.

Detienes la aplicación (sal de flutter run) y la reinicias (flutter run -v, ¿ves el estado A o el estado B?

UNA.

Si todavía ve A, ¿qué sucede si elimina la aplicación del simulador de iPhone, limpia el flutter y vuelve a ejecutar el flutter? ¿Aún un?

Curiosamente, esta vez, después de ejecutar el último flutter run -v, la aplicación se bloqueó y no se compiló. Luego intenté ejecutarlo nuevamente sin cambiar nada y volvió a generar el estado A. Luego recargué en caliente, todavía A. Luego reinicié en caliente y obtuve el estado B. Echa un vistazo a la salida de todo aquí:

https://gist.github.com/molundb/ddfd07e7fd1691f8b3992c207b7ac80f

Muchas gracias por toda su ayuda hasta ahora, este problema sigue siendo un problema importante para nosotros aquí.

@molundb escribió

Si todavía ve A, ¿qué sucede si elimina la aplicación del simulador de iPhone, limpia el flutter y vuelve a ejecutar el flutter? ¿Aún un?

Curiosamente, esta vez, después de ejecutar el último flutter run -v, la aplicación se bloqueó y no se compiló. Luego intenté ejecutarlo nuevamente sin cambiar nada y volvió a generar el estado A. Luego recargué en caliente, todavía A. Luego reinicié en caliente y obtuve el estado B. Echa un vistazo a la salida de todo aquí:

Entonces parece que estás atrapado permanentemente en el estado A, ¿verdad? No hay ningún cambio que pueda hacer en la aplicación que surta efecto a menos que comience en el estado A, luego reinicie la aplicación en caliente, pero esos cambios desaparecen después de detener la aplicación. Suena como un problema de configuración de xcodeproject. ¿Sería posible para usted crear un nuevo proyecto de flutter a través de flutter create myproject , luego copiar su código de flutter / dardo en ese myproject y ver si las cosas funcionan en myproject ?

@aam @molundb ha pasado un tiempo desde que se usó, por lo que puede haberse quedado obsoleto, pero es posible que flutter run --bug-report resulte útil aquí. Tendría que salir de la aplicación bastante rápido para mantener el archivo zip del informe de error en un tamaño algo sano 😄

@aam

Entonces parece que estás atrapado permanentemente en el estado A, ¿verdad? No hay ningún cambio que pueda hacer en la aplicación que surta efecto a menos que comience en el estado A, luego reinicie la aplicación en caliente, pero esos cambios desaparecen después de detener la aplicación.

Exactamente.

Suena como un problema de configuración de xcodeproject. ¿Sería posible para usted crear un nuevo proyecto de flutter a través de flutter create myproject, luego copiar su código de flutter / dardo en ese myproject y ver si las cosas funcionan en myproject?

Ok, primero creé un nuevo proyecto y luego copié lib, assets, pubspec.yaml, pubspec.lock, package-lock.json y GoogleService-Info.plist en el proyecto. Luego, cada vez que intenté ejecutar, obtuve este error que no pude resolver:

5.20.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
Configuring the default Firebase app...
5.20.0 - [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
5.20.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
5.20.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
*** First throw call stack:
(
    0   CoreFoundation                      0x00000001116846fb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x0000000110c28ac5 objc_exception_throw + 48
    2   CoreFoundation                      0x0000000111684555 +[NSException raise:format:] + 197
    3   Runner                              0x000000010a44b462 +[FIRApp configure] + 562
    4   Runner                              0x000000010aa2bf16 -[FLTCloudFirestorePlugin init] + 214
    5   Runner                              0x000000010aa2bda9 +[FLTCloudFirestorePlugin registerWithRegistrar:] + 297
    6   Runner                              0x000000010a2a9123 +[GeneratedPluginRegistrant registerWithRegistry:] + 115
    7   Runner                        <…>

Luego copié la carpeta ios en el nuevo proyecto y se compiló, pero volví a tener el error. Siempre indique A, excepto si reinicié en caliente. ¿Alguna idea de cómo podría resolver el error anterior?

@tvolkert

Ejecuté flutter run --bug-report en el proyecto original y obtuve dos archivos zip? No estoy seguro de por qué hay dos. Aquí están:
bugreport_01.zip
bugreport_02.zip

@aam

Volví a hacer el primer intento y no pude obtener el problema __FIREAPP_DEFAULT moviendo GoogleService_Info.plist a xcode en lugar de a mi carpeta. ¡Ahora construyó el estado B! Sin código antiguo. Ahora solo necesito averiguar cómo asegurarme de copiar todo lo necesario en el nuevo proyecto.

¡Gracias!

estaba teniendo el mismo problema y, según mi opinión, mi problema era que no establecía el nombre de la clase como MyApp
y tan pronto como cambié el nombre de mi clase a MyApp ... vuelve a funcionar
y debido a un nombre diferente, entonces MyApp, un archivo en la carpeta de prueba llamado widget_test.dart tenía un error ...
PD: Estoy en una etapa muy temprana de aprendizaje de flutter, esta podría no ser la solución para ti😅

Bien

Con https://github.com/flutter/flutter/commit/df3505c1f389031895a459cb2831f38a76119ea2 , creo que esto está completamente arreglado en Android.

Sí, lo es, ya no tengo este problema molesto y se ha solucionado durante bastante tiempo

Todavía me enfrento a este problema. Estoy en el canal beta con la versión 1.12.13 + hotfix.3. Estoy usando Android Studio y ya he solucionado un error al iniciar mi aplicación, pero cada vez que reinicio en frío mi aplicación, sigo recibiendo el gran mensaje de error rojo y la única forma de solucionarlo es reiniciar en caliente cada vez.

@Reprevise, ¿puedes dar más detalles? reinicio en frío = volver a ejecutar la aplicación?

Sí, como detener completamente la aplicación y volver a iniciarla.

¿Puede proporcionar registros detallados de la repetición (ejemplo: flutter run -v) y compartir el mensaje de error en el inicio?

@Reprevise , parece que está ejecutando una aplicación de aleteo diferente en segundo plano y obteniendo registros de ella mientras se construye (definitivamente molesto). Si reinicia el teléfono y vuelve a ejecutarlo, ¿puede confirmar primero si el error sigue ocurriendo y luego si sigue ocurriendo si el error desaparece si se limpia?

Borré todos los datos de todos mis emuladores y ejecuté mi aplicación Flutter. Mostró el error (que se supone que no debe tener ya que ya se ha solucionado). Después de ejecutar flutter clean , el error aún aparecía en el inicio.

CORRECCIÓN: ya no muestra el error en el inicio después de la limpieza con aleteo. Sin embargo, muestra el error en los registros.

No creo que esto esté relacionado. Parece que su aplicación está actualizada pero, naturalmente, tiene este error. Si puede presentar un nuevo problema con una reproducción mínima que ayudaría a determinar la causa raíz

La v1.12 en el canal estable parece almacenar en caché el registro de la consola de errores obsoleto. Limpiar / quitar no resuelve el problema. El error se sigue mostrando hasta que a veces desaparece sin ningún motivo. Me confundió mucho.

@gloryluu que no tiene nada que ver con construir / limpiar, recomiendo llenar un nuevo error

Tengo algún problema en el proyecto Flutter, ¿alguien puede ayudarme?

C: \ flutterbin \ flutter.bat doctor --verbose
[√] Flutter (Channel master, v1.13.6-pre.38, en Microsoft Windows [Versión 10.0.14393], configuración regional en-US)
• Flutter versión 1.13.6-pre.38 en C: \ flutter
• Revisión del marco b28dd0c296 (hace 7 días), 2019-12-28 10:33:01 +0800
• Revisión del motor 5a730c60d3
• Dart versión 2.8.0 (compilación 2.8.0-dev.0.0 1db1a837f8)

[!] Cadena de herramientas de Android: desarrollo para dispositivos Android (versión 29.0.2 del SDK de Android)
• SDK de Android en E: \ Android Meterial \ AndroidSDK
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-29, herramientas de compilación 29.0.2
• ANDROID_HOME = E: \ Android Meterial \ AndroidSDK
• Binario de Java en: C: \ Archivos de programa \ Android \ Android Studio \ jrebin \ java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_202-release-1483-b03)
X Estado de la licencia de Android desconocido.
Intente reinstalar o actualizar su Android SDK Manager.
Consulte https://developer.android.com/studio/#downloads o visite https://flutter.dev/setup/#android -setup para obtener instrucciones detalladas.

[√] Android Studio (versión 3.5)
• Android Studio en C: \ Archivos de programa \ Android \ Android Studio
• Complemento Flutter versión 42.1.1
• Complemento de Dart versión 191.8593
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_202-release-1483-b03)

[√] Dispositivo conectado (1 disponible)
• SM M105F • 5200ebb94a0346f7 • android-arm • Android 9 (API 28)

! El doctor encontró problemas en 1 categoría.
Proceso terminado con código de salida 0

Cómo resolver estos problemas en Windows 10 de 64 bits

"[!] Cadena de herramientas de Android: desarrollo para dispositivos Android (versión 29.0.2 del SDK de Android)
• SDK de Android en E: \ Android Meterial \ AndroidSDK
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-29, herramientas de compilación 29.0.2
• ANDROID_HOME = E: \ Android Meterial \ AndroidSDK
• Binario de Java en: C: \ Archivos de programa \ Android \ Android Studio \ jrebin \ java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_202-release-1483-b03)
X Estado de la licencia de Android desconocido.
Intente reinstalar o actualizar su Android SDK Manager.
Consulte https://developer.android.com/studio/#downloads o visite https://flutter.dev/setup/#android -setup para obtener instrucciones detalladas ".

Tengo el mismo problema.

[aleteo] aleteo doctor -v
[√] Flutter (canal estable, v1.12.13 + hotfix.5, en Microsoft Windows [Versión 10.0.18363.535], configuración regional en-US)
• Flutter versión 1.12.13 + hotfix.5 en D: \ flutter
• Revisión del marco 27321ebbad (hace 5 semanas), 2019-12-10 18:15:01 -0800
• Revisión del motor 2994f7e1e6
• Dart versión 2.7.0

[√] Cadena de herramientas de Android: desarrollo para dispositivos Android (SDK de Android versión 28.0.3)
• SDK de Android en D: \ android-sdk
• Ubicación del NDK de Android no configurada (opcional; útil para la compatibilidad con perfiles nativos)
• Plataforma android-28, herramientas de compilación 28.0.3
• ANDROID_HOME = D: \ android-sdk
• Binario de Java en: C: \ Archivos de programa \ Android \ Android Studio \ jrebin \ java
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1343-b01)
• Se aceptan todas las licencias de Android.

[!] Android Studio (versión 3.4)
• Android Studio en C: \ Archivos de programa \ Android \ Android Studio
El complemento X Flutter no está instalado; esto agrega funcionalidad específica de Flutter.
El complemento X Dart no está instalado; esto agrega funcionalidad específica de Dart.
• Versión de Java OpenJDK Runtime Environment (compilación 1.8.0_152-release-1343-b01)

[√] VS Code (versión 1.41.1)
• Código VS en C: \ Users \ Armin \ AppData \ Local \ Programas \ Microsoft VS Code
• Extensión Flutter versión 3.7.1

[√] Dispositivo conectado (1 disponible)
• SDK de Android creado para x86 • emulador-5554 • android-x86 • Android 9 (API 28) (emulador)

! El doctor encontró problemas en 1 categoría.

@jonahwilliams probablemente deberíamos hacer un inventario de las partes de la herramienta que aún deben convertirse para usar el nuevo sistema de compilación, archivar problemas separados para esas partes y cerrar este problema.

Pasos reproducibles:

  1. Crear nuevo proyecto de Flutter
  2. Para obtener un error que causa esa infame pantalla de error, llame al método MediaQuery.of(context) de MyApp build .
  3. Obtienes la pantalla de error.
  4. Detenga la depuración (en VSCode y Android Studio, haga clic en el cuadrado rojo)
  5. Corrija el error (en este caso, elimine la línea que llama a MediaQuery.of(context) .
  6. Reiniciar la depuración
  7. Obtiene la pantalla de error a pesar de que se solucionó el error.
  8. Reinicie la aplicación (en VSCode, presione el ícono de actualización verde y en Android Studio, presione el botón "reproducir" con el pequeño círculo verde) y observe que la pantalla de error ha desaparecido.

Estoy en Flutter 1.13.6 (última versión del canal beta).

ACTUALIZACIÓN: Aún se aplica a la última versión beta (1.14.6).

La v1.12 en el canal estable parece almacenar en caché el registro de la consola de errores obsoleto. Limpiar / quitar no resuelve el problema. El error se sigue mostrando hasta que a veces desaparece sin ningún motivo. Me confundió mucho.

Obteniendo el mismo problema también.
Flutter (canal estable, v1.12.13 + hotfix.7, en Mac OS X 10.15.2 19C57, configuración regional en-AU)

@ shinta5150 El problema del registro de la consola es una regresión separada.

@Revisar esto suena como un cambio que no es recargable en caliente, no un error de compilación

@jonahwilliams Nunca dije que

@Reprevise en el directorio de su proyecto habrá un archivo generado que debe contener todas las dependencias de su proyecto, algo así como build/app/intermediates/flutter/debug/flutter_build.d . ¿Podría verificar que contiene el nombre del archivo que está cambiando?

@Reprevise en el directorio de su proyecto habrá un archivo generado que debe contener todas las dependencias de su proyecto, algo así como build/app/intermediates/flutter/debug/flutter_build.d . ¿Podría verificar que contiene el nombre del archivo que está cambiando?

Contiene el nombre del archivo que estoy editando.

Genial, lo siguiente que debe verificar es la suma de verificación del archivo. Es útil comenzar la siguiente parte después de una limpieza rápida. Primero, ejecute su compilación dos veces con el error intacto.

Luego abra .dart_tool/flutter_build/<some-hash-value>/.filecache y extraiga el sha del archivo que estaba editando. Será algo como:

{
  "version": 2,
  "files": [
    {"path": "path/you/care/about.dart", "hash": "somevalue"},
    ...
  ],
}

A continuación, realice el cambio para corregir el error y reconstruya la aplicación nuevamente. Inspeccione el hash y verifique que se actualizó o no se actualizó

En realidad, una forma más fácil de ejecutar es verbosa después de cambiar el archivo. Estaría buscando una línea como:

skipping kernel_snapshot o ahora

Entonces, para verificar:

Ejecuté la compilación dos veces y la pantalla de error apareció dos veces como se esperaba.
Cogí el valor sha.
Arreglé el error.
Después de una reconstrucción, descubrí que el sha no cambió.

@jonahwilliams

NOTA: No pude reproducir el problema en Linux.

@Reprevise cuando ejecuta esos pasos con detalle, ¿ve que gradle se está saltando la tarea de flutter en sí? Igual que:

[        ] > Task :app:transformClassesAndDexWithShrinkResForRelease UP-TO-DATE
[        ] > Task :app:packageRelease UP-TO-DATE
[        ] > Task :app:assembleRelease
[        ] BUILD SUCCESSFUL in 994ms
[        ] 30 actionable tasks: 4 executed, 26 up-to-date

Esto me ayudará a determinar si se trata de un error de herramienta de aleteo o un error de gradle de aleteo.

Si se trata de Windows, supongo que hay un error de formato en el archivo depfile que hace que Gradle omita incorrectamente la tarea de aleteo. Eso cuadraría con el sha que no se actualiza.

Aquí está mi registro de flutter run --verbose :

https://pastebin.com/V5U7G3tj

Tenga en cuenta que mi archivo no contiene MediaQuery.of(context) en mi método de compilación como sugiere el registro de errores. Y sí, estoy usando Windows.

De acuerdo, estamos reduciendo gradualmente el problema. En FLUTTER_ROOT/packages/flutter_tools/gradle/flutter.gradle puede agregar una declaración de impresión para verificar que el archivo depfile se haya analizado correctamente:

    <strong i="7">@InputFiles</strong>
    FileCollection getSourceFiles() {
        FileCollection sources = project.files()
        for (File depfile in getDependenciesFiles()) {
          sources += readDependencies(depfile)
        }
        sources.collect {
            println it
        }
        return sources + project.files('pubspec.yaml')
    }

En el FlutterTask . Luego, vuelva a ejecutar y tome el contenido del archivo depfile analizado

Con la declaración de impresión, aquí está mi nuevo registro de flutter run --verbose :

https://pastebin.com/dVXCUueS

¡Gracias! parece que los archivos correctos están ahí - ¿Son los siguientes archivos su código de aplicación?

C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\pubspec.yaml
[        ] C:\Users\Owner\Documents\Flutter
[        ] C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\.packages
[        ] C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\lib\main.dart

Voy a 🤦‍♂, pero me pregunto si este es otro problema de "espacio en la ruta del archivo elimina la herramienta en Windows". ¿El problema se te reprocha en un directorio sin espacio? (No es que sugiera esto como una solución a largo plazo ...)

La parte android\app\Apps no existe:

Aquí están las rutas reales a dichos archivos:

C:\Users\Owner\Documents\Flutter Apps\error_test\pubspec.yaml
C:\Users\Owner\Documents\Flutter Apps\error_test\.packages
C:\Users\Owner\Documents\Flutter Apps\error_test\lib\main.dart

¿También no estás seguro de por qué C:\Users\Owner\Documents\Flutter está ahí?
Pero realmente no creo que el tema del camino sea un problema, solo lo señalo.

Además, el "espacio en la ruta del archivo" podría haber causado el problema.
He intentado con todas mis fuerzas reproducir el problema en una ruta sin espacio, pero no puedo.

Gracias por toda la ayuda para depurar @Reprevise . Con esta información, debería poder armar un parche con bastante rapidez.

¿Tampoco está seguro de por qué C: \ Users \ Owner \ Documents \ Flutter está allí?

También parece extraño, todavía no estoy seguro, pero echaré un vistazo.

Posiblemente relacionado con el espacio vacío en el nombre del directorio para ser honesto.

@Reprevise, así que lo reposicioné en mi máquina con Windows y tengo una solución pendiente. Si lo desea, puede parchearlo en su propia caja de flutter para verificar. Nota: primero tendrá que limpiar revoloteando para eliminar el archivo depfile defectuoso.

https://github.com/flutter/flutter/pull/50538

El problema de escape ahora está solucionado en el maestro.

Probaré el maestro cuando llegue a casa e informaré si soluciona el problema

Parece que funciona, se reconstruye con el código correcto cada vez hasta ahora 🤞.

Enfrentando el mismo problema desde los últimos días. Hot Reload ha dejado de funcionar, debe reiniciarse cada vez.

@gegobyte esto no tiene nada que ver con la recarga en caliente

En mi caso, esta situación ocurrió después de actualizar flutter y editar la biblioteca externa. Resolví este problema haciendo

flutter clean

y luego corriendo

flutter pub cache repair

y luego reconstruya su aplicación.

¿Deberíamos cerrar esto? Por lo que vale, ya no veo el problema. Y veo que recientemente se corrigió al menos un error subyacente.

También es posible que queramos dividir esto en varios problemas y usar este como un meta-problema de seguimiento.

No he tenido este problema por un tiempo, estoy en la última versión beta 1.15.17.

Sospecho que encontraremos problemas más específicos para que sean más útiles / procesables. @jonahwilliams wdyt?

Ya no veo el problema. Estoy en el canal beta.

El problema parece desaparecer en el canal estable (1.12.13 hotfix 8)

Tengo la versión 1.12.13 hotfix 8 y parece que todavía tengo este problema. Yo corrí

revolotear limpio

y pareció solucionar el problema temporalmente al menos

En mi caso, esta situación ocurrió después de actualizar flutter y editar la biblioteca externa. Resolví este problema haciendo

flutter clean

y luego corriendo

flutter pub cache repair

y luego reconstruya su aplicación.

¡¡Esto me solucionó el problema !! (Actualiza Dart y Flutter también).

He seguido la solución de "reparación de caché de pub de flutter", pero ahora mi recarga en caliente ya no funciona y necesito limpiar con flutter para cada compilación. ¿Cualquier otra sugerencia?

@AntheusS parece que podría ser un tema aparte, que estoy muy interesado en comprender. ¿Estaría dispuesto a presentar un nuevo problema con sus inquietudes específicas para que podamos ayudarlo a resolverlas? ¡Gracias!

La siguiente nota fue agregada por @tvolkert el 16 de octubre de 2018

Si se ve afectado por este error,

¡Por favor, rellene el siguiente formulario!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (Encuesta para recopilar información sobre este error)

Pasos para reproducir

Cuando yo (o uno de mis compañeros de equipo) ejecuto flutter flutter run (o con el botón ejecutar / depurar en IntelliJ y VSCode) en un AVD o en dispositivos reales, la versión instalada siempre está detrás de la más nueva y siempre necesita reiniciar la aplicación o incluso a veces flutter clean .
Esto es un problema especialmente cuando la compilación en el dispositivo AVD / real falla, y la única solución aquí es flutter clean , incluso cuando dejo de ejecutar la aplicación y hago flutter run nuevamente.

Lo mismo sucede al crear e instalar APK de producción:
Cuando ejecuto flutter build y flutter install , el APK instalado no se actualiza.
Si ejecuto flutter clean, y luego, nuevamente, flutter build y flutter install , el APK instalado está actualizado.

Doctor Flutter:

[√] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    • Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    • Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    • Engine revision c903c217a1
    • Dart version 2.0.0-dev.43.0.flutter-52afcba357

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    • Flutter plugin version 23.1.3
    • Dart plugin version 181.4203.498

[√] VS Code, 64-bit edition (version 1.22.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[√] Connected devices (2 available)
    • PRA LX1                   • 57UDU17111026756 • android-arm64 • Android 7.0 (API 24)
    • Android SDK built for x86 • emulator-5554    • android-x86   • Android 8.1.0 (API 27) (emulator)

• No issues found!

La siguiente nota fue agregada por @tvolkert el 16 de octubre de 2018

Si se ve afectado por este error,

¡Por favor, rellene el siguiente formulario!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (Encuesta para recopilar información sobre este error)

Pasos para la reproducción

Cuando yo (o uno de mis compañeros de equipo) ejecuto flutter flutter run (o mediante el botón ejecutar / depurar en IntelliJ y VSCode) en el AVD o en dispositivos reales, la versión instalada siempre está al lado. Después de la última versión y siempre necesito reiniciar la aplicación o incluso a veces flutter clean .
Esto es un problema especialmente cuando la compilación en AVD / dispositivo real falla y la única solución aquí es flutter clean , incluso si dejo de ejecutar la aplicación y hago flutter run nuevamente.

Lo mismo sucede al construir e instalar un APK de producción:
Cuando ejecuto flutter build y flutter install , el APK instalado no se actualiza.
Si ejecuto flutter clean, y luego, nuevamente, el APK instalado flutter build y flutter install se actualizará.

El doctor se estremece:

[√] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    • Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    • Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    • Engine revision c903c217a1
    • Dart version 2.0.0-dev.43.0.flutter-52afcba357

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    • Flutter plugin version 23.1.3
    • Dart plugin version 181.4203.498

[√] VS Code, 64-bit edition (version 1.22.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[√] Connected devices (2 available)
    • PRA LX1                   • 57UDU17111026756 • android-arm64 • Android 7.0 (API 24)
    • Android SDK built for x86 • emulator-5554    • android-x86   • Android 8.1.0 (API 27) (emulator)

• No issues found!

Muchas gracias, lo arreglé.

mismo problema en la última versión en el canal estable

@AntheusS parece que podría ser un tema aparte, que estoy muy interesado en comprender. ¿Estaría dispuesto a presentar un nuevo problema con sus inquietudes específicas para que podamos ayudarlo a resolverlas? ¡Gracias!

De hecho, lo arreglé volviendo a instalar mi entorno de desarrollo completo después de ejecutar los comandos descritos anteriormente. Aunque muchas gracias. :-)

Este problema se ha vuelto un poco largo y sobrecargado. El trabajo de flutter clean , presente un nuevo problema con todos los detalles. ¡Gracias!

¿Fue útil esta página
0 / 5 - 0 calificaciones