Flutter: Precisa reiniciar ou limpar com muita frequência

Criado em 15 abr. 2018  ·  235Comentários  ·  Fonte: flutter/flutter

---


A seguinte observação foi adicionada por @tvolkert em 16 de outubro de 2018

Se você for afetado por este bug,

Por favor preencha o seguinte formulário!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (pesquisa para coletar informações sobre este bug)

---


Passos para reproduzir

Quando eu (ou um de meus colegas de equipe) executo o flutter flutter run (ou com o botão executar / depurar no IntelliJ e VSCode) em um AVD ou em dispositivos reais, a versão instalada está sempre atrás da mais recente e eu sempre precisa reiniciar o aplicativo ou mesmo às vezes flutter clean .
Este é um problema especialmente quando a compilação do dispositivo AVD / real trava, e a única solução aqui é flutter clean , mesmo quando eu interrompo o aplicativo em execução e faço flutter run novamente.

O mesmo acontece ao criar e instalar APKs de produção:
Quando executo flutter build e flutter install , o APK instalado não é atualizado.
Se eu executar o flutter clean e, em seguida, novamente flutter build e flutter install , o APK instalado está atualizado.

Doutor 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

Comentários muito úteis

Eu encontro o mesmo problema no momento, como reload mostra as mudanças mais recentes, mas se eu reiniciar frio, recebo uma versão antiga, apenas flutter limpo ajuda.

Todos 235 comentários

Não está sozinho nisso - incrivelmente frustrante ter que 'limpar' aparentemente cada mudança de código antes que as mudanças sejam refletidas na depuração do 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!

Eu encontro o mesmo problema no momento, como reload mostra as mudanças mais recentes, mas se eu reiniciar frio, recebo uma versão antiga, apenas flutter limpo ajuda.

+1 O mesmo problema aqui e, na verdade, para mim, vibração limpa também não ajuda às vezes e eu tenho que excluir o aplicativo manualmente e depois reconstruí-lo. É realmente irritante e frustrante .. :(

Também tenho experimentado o mesmo com Flutter.

NÃO RELACIONADO: O engraçado é que também tive um problema semelhante com o desenvolvimento puro para Android. O Instant Run do Android também me deixou com uma versão mais antiga assim que reiniciei o aplicativo após a depuração.

@sethladd você pode por favor ajudar com isso em uma base prioritária? É como se o grande profissional se tornasse o principal contra :(

Concordo plenamente. Esta é uma grande regressão. Não muito tempo atrás, eu escrevi em um blog como eu estava feliz que as ferramentas Flutter funcionassem em comparação com o Xamarin, mas agora está quase pior. O hot reload muitas vezes não funciona nos branches atuais dev e Master

Tão frustrante. O botão de depuração do Android Studio normalmente não respeitará as alterações recentes no código, exigindo uma limpeza vibratória antes da execução. O hot reload do Android Studio simplesmente não funciona. Se eu executar um terminal 'flutter run', o hot reload parece funcionar bem, mas é claro que não recebo ferramentas de depuração.

O que é executado por um comando 'flutter run' claramente não é o mesmo código que é executado usando os ícones do Android Studio. É o ponto de depurar que tenho que limpar toda a execução, o que é horrível ao tentar resolver problemas.

ATUALIZAÇÃO: O problema parece estar limitado à depuração. Usar o ícone 'run' do Android Studio é tão rápido quanto no terminal e respeita as alterações recentes do código. Por alguma razão, a tentativa de depurar sempre requer uma operação de limpeza oscilante para respeitar as alterações recentes do código.

[√] 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 soa como uma regressão ruim. Alguma ideia?

@cbracken alguma chance de isso estar relacionado ao seu trabalho de impressão digital e simplificação de caminhos de código de compilação?

Pode ser um problema do Windows? Eu também estou no Windows. A maioria dos desenvolvedores parece funcionar em um Mac, então esse pode ser o motivo pelo qual isso não apareceu antes? Só um palpite

Estou enfrentando esse problema no mac btw.

Na sexta-feira, 4 de maio de 2018 às 20h06, escamoteur [email protected] escreveu:

Pode ser um problema do Windows? Eu também estou no Windows. A maioria dos desenvolvedores parece funcionar
em um Mac, então esse pode ser o motivo pelo qual isso não apareceu antes? Apenas um
acho

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386621398 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AMCOnM-6r56bzBF5c4kpjOkSsAyexeO_ks5tvGdzgaJpZM4TVhip
.

Acabei de bater um papo com https://github.com/flutter/flutter/pull/17175

@ratsey se você flutter upgrade , você deve pegar a correção. Informe-nos se você ainda perceber isso acontecendo quando estiver sincronizado com um commit após 752906498ae9961008e9336a1c88aa14f8ac068f

@dedeswim esta correção pode flutter channel dev ou imediatamente com flutter channel master 😄

@volkert, eu atualizei o flutter hoje 8 horas atrás no canal mestre
e ainda não está resolvido para mim.

Na sexta-feira, 4 de maio de 2018 às 20h09, Todd Volkert [email protected]
escreveu:

Acabei de bater um papo com https://github.com/cbracken - parece
isso foi corrigido no mestre 3 dias atrás em # 17175
https://github.com/flutter/flutter/pull/17175

@ratsey https://github.com/ratsey se você atualizar, você deve
pegue a correção. Por favor, deixe-nos saber se você ainda vê isso acontecendo quando
você está sincronizado com um commit após 7529064
https://github.com/flutter/flutter/commit/752906498ae9961008e9336a1c88aa14f8ac068f

@dedeswim https://github.com/dedeswim esta correção pode não chegar à versão beta
canal por várias semanas. Você pode ver isso mais cedo executando flutter
canal dev ou imediatamente com flutter channel master 😄

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386622251 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AMCOnJCY9QCtdFuMdaU2xTt6fFPvVQpcks5tvGgkgaJpZM4TVhip
.

@iampawan bom saber - com certeza daremos uma olhada hoje. Isso é em compilações de depuração do Android?

Sim, eu só tentei a compilação de depuração .. Eu estava usando o simulador ios e até
vibração limpa não estava funcionando para mim. Tive que deletar o app. Mas então
outra coisa que percebi é que, se eu executar meu aplicativo novamente e novamente, 2 a 3 vezes
então as mudanças refletem .. ainda não sei como consertar isso, mas isso acontece
quando o aplicativo congela durante o hot reload

Na sexta-feira, 4 de maio de 2018 às 20h15, Todd Volkert [email protected]
escreveu:

@iampawan https://github.com/iampawan bom saber - nós certamente
dê uma olhada hoje. Isso é em compilações de depuração do Android?

-
Você está recebendo isso porque foi mencionado.

Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386624223 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AMCOnNxuo-c8uFwQkrw0C1BBXMqAGcd4ks5tvGmhgaJpZM4TVhip
.

Enquete rápida para quem está acompanhando, caso ajude a identificar um padrão em que isso está acontecendo (parece que o sistema operacional já foi descartado, pois temos relatórios do Windows e do MacOS): qual dos seguintes se aplica a você:

  • Android vs iOS
  • dispositivo físico vs emulador / simulador
  • depurar, criar perfil ou versão de lançamento
  • Construção Android
  • Maquina Windows
  • emulador. & dispositivo
  • Atualizado esta manhã.
  • Depurar apenas testado ainda

É ainda mais estranho, eu faço uma alteração e um Instant Reload e a alteração aparece. Saio e reinicio o aplicativo sem o Flutter clean e obtenho a versão antiga.

  1. Android e iOS. Acabei de verificar
  2. Dispositivo físico e também emulador
  3. Eu tentei depurar apenas
  4. Para mim, isso acontece menos no Android Studio, mas mais quando eu uso o vscode (
    pode ser que isso seja irrelevante porque eu não sei)

Na sexta-feira, 4 de maio de 2018 às 20h20, Todd Volkert [email protected]
escreveu:

Enquete rápida para aqueles que estão acompanhando, caso ajude a identificar um padrão
onde isso está acontecendo (parece que o sistema operacional já foi descartado desde que
têm relatórios do Windows e do MacOS): qual dos seguintes se aplica a
tu:

  • Android vs iOS
  • dispositivo físico vs emulador / simulador
  • depurar, criar perfil ou versão de lançamento

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-386625760 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AMCOnP1SMbNrtH7hn11XZOR7SVxFyTtaks5tvGrRgaJpZM4TVhip
.

É ainda mais estranho, eu faço uma alteração e um Instant Reload e a alteração aparece. Saio e reinicio o aplicativo sem o Flutter clean e obtenho a versão antiga.

Isso soa como um problema ao reconstruir o arquivo do kernel para o aplicativo ( build/app.dill ). A execução inicial do aplicativo cria um arquivo de kernel e inicia o aplicativo a partir dele; o primeiro hot reload preenche toda a fonte do aplicativo (kernel) em uma memória no sistema de arquivos devfs do dispositivo e recarrega a partir daí; recarregamentos subsequentes preenchem deltas de arquivo nesse sistema de arquivos de memória.

/ cc @aam

17175 só deve ter corrigido um problema de invalidação para compilações de perfil / liberação. As compilações de depuração usam um caminho de código diferente.

Não consigo reproduzir esse bug com mudanças simples de código no teste de demonstração da galeria com o simulador de depuração do iOS no master, usando apenas as ferramentas de linha de comando. Vou dar uma olhada em um IDE, que usa o daemon e continuo mexendo nele até descobrirmos o que está acontecendo.

@iampawan @escamoteur você estava vendo o mau comportamento com alterações de código ou alterações de ativos (ou ambos)?

você estava vendo o mau comportamento com alterações de código ou ...

E se o código mudar, era um código Dart ou código Java / ObjC?

Além disso, alguém reproduziu isso na linha de comando ou sempre em um IDE?

Não consigo reproduzir isso nem do IJ, nem da linha de comando (no dispositivo Android físico).
Estou iniciando a Galeria do Flutter, fazendo alterações simples (lib / gallery / app.dart: 128 'Galeria do Flutter' -> 'Galeria atualizada do Flutter'), recarregar rapidamente, confirmar que vejo a alteração (alterações no título do aplicativo), pare o aplicativo, inicie-o novamente e ainda veja a mudança.

Este é o dia 24.0.1 do plugin Flutter IJ, master branch do 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 escreveu

Isso soa como um problema ao reconstruir o arquivo kernel para o aplicativo (build / app.dill).

Da próxima vez que você iniciar o aplicativo, build/app.dill deve ser reconstruído porque as fontes são mais recentes que o arquivo endro.

@cbracken só tentou com alterações de código Dart ainda. Se pudermos ajudar com os arquivos de log, se houver, avise-nos.
Desculpe pelo atraso, mas os fusos horários tornam isso difícil.

Estou usando o código VS, se isso fizer diferença

Arquivos de log flutter -v run ... com os argumentos usuais de flutter run, obterá uma saída mais detalhada. No Android Studio, você pode editar sua configuração de execução para especificar —verbose no campo de opções adicionais.

Este log é depois de flutter clean
afterflutterclean.txt

Então eu modifiquei algo e executei sem que a mudança tivesse efeito

afterchange.txt

Então, depois de outro flutter clean

afterfluttercleanafterchange.txt

Eu fechei todo o projeto. O botão no aplicativo deve ser azul após a alteração, mas não é
Não sei se você pode reproduzi-lo do arquivo zip

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

PS C: \ Entwicklung \ BlogLigação bidirecional em Flutter \ two_way_binding> flutter -v doctor
[√] Flutter (Canal mestre, v0.3.7-pre.9, no Microsoft Windows [Versão 10.0.17134.1], local de-DE)
• Flutter versão 0.3.7-pre.9 em C: \ Entwicklung \ Flutter
• Revisão da estrutura b2b4665926 (19 horas atrás), 2018-05-04 18:17:35 -0700
• Revisão do motor e976be13c5
• Dart versão 2.0.0-dev.53.0.flutter-e6d7d67f4b

[√] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK 27.0.3)
• Android SDK em C: \ Users \ escam \ AppData \ Local \ Android \ sdk
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-27, build-tools 27.0.3
• Binário Java em: C: \ Arquivos de programas \ Android \ Android Studio \ jrebin \ java
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• Aceita todas as licenças do Android.

[√] Android Studio (versão 3.1)
• Android Studio em C: \ Program Files \ Android \ Android Studio
• Plugin Flutter versão 23.2.2
• Plugin Dart versão 173.4700
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, edição de 32 bits (versão 1.22.2)
• Código VS em C: \ Arquivos de programas (x86) \ Microsoft VS Code
• Extensão do código Dart versão 2.12.1

[√] Dispositivos conectados (1 disponível)
• Android SDK desenvolvido para x86 • emulador-5554 • android-x86 • Android 6.0 (API 23) (emulador)

• Nenhum problema encontrado!

Infelizmente estarei na estrada até terça-feira,

Tive que mudar o min SDK e a localização do SDK, e meu Flutter foi atualizado para que o zip de @escamoteur fosse executado em minha configuração.

Posso alterar a cor do botão em Debug com um hot-reload e também alterar a cor entre as execuções de depuração. Conclusão - o projeto de @escamoteur está funcionando para mim.

Vou tentar com meu código novamente esta noite com esta atualização do Flutter.

Quaisquer insights por meio dos logs? @cbracken

@cbracken @tvolkert Estou usando a versão mais recente de flutter e hoje o congelamento aumentou durante o uso do vscode, mas não enfrentei nenhum problema, pois as últimas alterações no aplicativo agora refletem o que não era anterior. Mas o aplicativo congela ao mudar algo em classes stateful e acho que é menos ou não acontece quando estou usando o terminal para recarregamento a quente

Estou usando a última versão de flutter e hoje o congelamento aumentou ao usar o vscode

Você está no Windows? Parece haver um grande bug na atualização de abril que está causando o congelamento de aplicativos baseados no Chrome:

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

Não, estou usando a versão mais recente do Macosx

Na terça-feira, 8 de maio de 2018, 17:51, Danny Tuppeny [email protected] escreveu:

Estou usando a última versão de flutter e hoje o congelamento
aumentou ao usar vscode

Você está no Windows? Parece haver um grande bug na atualização de abril
que está causando o congelamento de aplicativos baseados no Chrome:

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

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/flutter/flutter/issues/16604#issuecomment-387383846 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AMCOnDF0oDTkjXNK1ZasxOD9jVuZP8TSks5twY3KgaJpZM4TVhip
.

Ok, então não. Quando você diz "o aplicativo congela", quer dizer o aplicativo móvel no dispositivo (ou o aplicativo VS Code)? Acho que é provavelmente um problema diferente de não reconstruir corretamente, portanto, pode valer a pena abrir outro problema. Se você estiver usando o VS Code, estou interessado em ver os arquivos de log de Flutter Run e Observatory para o período em que você estiver vendo congelamentos.

@DanTup Aqui no Passo 1 veja a cor inferior da Appbar e também o aplicativo congela quando a notificação 'Executando recarregamento a quente' leva tempo - digamos mais de 5 segundos. Agora, a etapa 2 é quando eu reconstruo o aplicativo, as alterações acabaram e se eu fizer alguma alteração e executar o recarregamento a quente, todas as alterações serão refletidas .. agora vamos fazer o recarregamento a quente 3 a 4 vezes e novamente o aplicativo congela. Alguns arquivos são em anexo
step1
step2
observatory.txt

@iampawan eu acho que este é um problema diferente; você poderia abrir uma nova edição sobre ele para evitar confundir as coisas com o problema de não reconstruir quando deveria? Além disso, você pode incluir o log de Flutter Run , bem como um Observatório, desde que inclua as instruções para recarregamento a quente. Obrigado!

@iampawan Esse log não parece incluir nenhuma solicitação de recarregamento a quente, a última linha é quando o aplicativo termina de ser iniciado. Você poderia tentar novamente, mas também anexá-lo a um novo problema - não sei, esses problemas de recarregamento a quente são os mesmos que o aplicativo não está sendo reconstruído / implantado quando deveria e é um pouco confuso ter conversas paralelas no mesmo problema.

@DanTup Ok, vou abrir um novo problema para isso amanhã, mas por enquanto, deixe-me dar a vocês o arquivo de log que eu poderia gerar (o atualizado). Além disso, ao fazer este vídeo - https://youtu.be/q-GtMerSNuY , eu enfrentei o problema no final para que você possa assistir a parte final para mais compreensão. Obrigado
flutter_run.txt Não sei se o arquivo não tem algo que você esperava, mas estou enviando o que foi gerado

@iampawan Obrigado; esse log tem isso. Na verdade, tem o que eu temia que pudesse estar nele:

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

Por favor, abra um problema para ele; Também vi outros relatórios sobre isso recentemente.

@cbracken Meus logs ajudaram de alguma forma?

Para a emissão inicial sobre este tópico, posso confirmar que a recarga quente que agora olhar para levar em consideração as mudanças de código entre as execuções e por isso não precisa de um manual 'vibração clean' operação.

No entanto, se mudar de uma execução de depuração para uma execução sem depuração após uma série de operações de mudança / recarregamento a quente, essa limpeza de flutuação ainda precisa ser feita.

Comecei a ter problemas com isso hoje (em um emulador e em um dispositivo real) no Windows com o hot reload quebrando enquanto eu estava alterando os valores no código do tutorial de animação do flutter. (https://flutter.io/tutorials/animation/).

Consegui corrigir o problema de recarregamento a quente removendo os espaços na estrutura do diretório que continha o código. Parece bobo, mas funcionou para mim.

Por exemplo, eu mudei C:\Dev\Flutter Apps\hello_world\animation_examples

para C:\Dev\Flutter_Apps\hello_world\animation_examples

Médico vibrante:

[√] 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.

Eu também estava tendo esse problema nos ramos beta e master do Flutter.

Também estou enfrentando os mesmos problemas com vibração desde o mês passado. A equipe do Hope Flutter considera esse problema e o corrige em breve. Porque amamos #Flutter.

Muitos membros da equipe estão fora do escritório agora, mas parece que a próxima etapa aqui é @escamoteur acima.

Tenho vários que estou usando para desenvolver aplicativos de flutter e tive o mesmo problema em que o aplicativo não atualiza, mesmo depois de reconstruí-lo completamente. Tenho que fazer uma reinicialização a quente para que as alterações ocorram após cada vez que faço flutter run .

Alguma melhora? o problema ainda persiste. Por favor, corrija. Nós amamos

Oscilação

Sinceramente, não posso relatar que ainda tenho problemas. Você já tentou mudar para o canal dev ou master?

Posso confirmar o problema. Se eu alterar algo no meu código e começar a depurar, nunca tenho certeza se obtive a 'versão mais recente'. Se eu depurar com o passo a passo ... posso ver isso às vezes passando pelo código nos comentários ... Agora, só para ter certeza, faço uma corrida de flutter e tento novamente.

[√] Flutter (Canal mestre, v0.5.7-pre.62, no Microsoft Windows [Versão 10.0.17134.112], localidade en-US)
• Flutter versão 0.5.7-pre.62 em C: \ flutter
• Revisão da estrutura 7ac183794b (2 dias atrás), 06-07-2018 15:21:29 -0700
• Revisão do motor 6fe748490d
• Dart versão 2.0.0-dev.63.0.flutter-4c9689c1d2

[√] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK 27.0.3)
• Android SDK em C: \ Android \ android-sdk
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-27, build-tools 27.0.3
• ANDROID_HOME = C: \ Android \ android-sdk
• Binário Java em: C: \ Arquivos de programas \ Android \ Android Studio \ jrebin \ java
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• Aceita todas as licenças do Android.

[√] Android Studio (versão 3.1)
• Android Studio em C: \ Program Files \ Android \ Android Studio
• Plugin Flutter versão 25.0.1
• Plugin Dart versão 173.4700
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, edição de 64 bits (versão 1.25.0)
• Código VS em C: \ Arquivos de programas \ Microsoft VS Code
• Extensão Flutter versão 2.15.0

Portanto, seria interessante qual é a diferença em nossos sistemas

@gspencergoog Disseram que você pode estar olhando para alguns problemas como este; não tem certeza se você viu este?

@DanTup Eu vi isso, mas acho que @cbracken está em uma posição melhor para consertar.

Alguém pode reproduzir explicitamente salvando antes de hot-reload / hot-restart
melhora a situação? (com hot-reload ao salvar desativado)
Consulte também flutter / flutter-intellij # 2472

A única coisa que observei ontem é que se eu fizer uma alteração em um arquivo de pacote durante a depuração que não faz parte do meu projeto, eu tenho que recarregar explicitamente após salvar para ter efeito

@escamoteur Obrigado pelo feedback. Isso soa como # 15879

Não altere o pacote, apenas faça uma pequena alteração no código de um pacote referenciado para depuração

Você quer dizer uma dependência de caminho?

Sem uma dependência de pacote. Mas talvez isso seja esperar demais.

Você está modificando arquivos em ~/.pub-cache/hosted/... . Duvido muito que você obtenha qualquer suporte para esse caso de uso. Isso é fortemente desencorajado. Caso contrário, não há como fazer com que um código de pacote hospedado seja alterado sem que o arquivo .packages seja alterado.

OK, sinto-me culpado 😁

@escamoteur Não sei se faz diferença aqui (e você já deve saber disso), mas você pode substituir os caminhos dos pacotes importados se quiser uma maneira "menos compatível" de modificar os arquivos nos pacotes:

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

@escamoteur Eu teria que olhar para o nosso código hot reload, mas eu definitivamente me lembro que quando pub serve existia (para a web), foi uma decisão de design intencional observar o projeto do aplicativo e o fechamento transitivo de path: dependências, mas não para observar nada no cache do pub (esse código não se destina a ser modificável pelo usuário) ou dependências git. Eu suspeito muito que continua a ser o caso com vibração.

@cbracken obrigado pelo esclarecimento. Desculpe quando me afastei um pouco do problema original

O problema ainda persiste. Quaisquer correções ?? Por favor, jogue fora algumas informações.

@cbracken Isso funcionou com a versão de hoje:

Flutter 0.5.8-pre.61 • canal mestre • https://github.com/flutter/flutter
Estrutura • revisão b8b6d41 (7 horas atrás) • 17/07/2018 18:07:54 -0700
Motor • revisão 5557e3006e
Ferramentas • Dart 2.0.0-dev.67.0.flutter-84ca27a09e

Só consegui depurar as alterações após o Hot reload. Até mesmo uma limpeza rápida não ajudava mais.
Eu rolei de volta para git reset --hard e22f99743b4f0bea4a9b8e7703ce5ffbfda37a04
Resolvido o problema funciona novamente agora

Não tenho certeza do status desse bug. : /

Parece que o problema original pode ter sido resolvido, mas existem relatórios relacionados que também foram adicionados aqui?

Parece que o comentário mais recente de

Recomendo aos usuários que ainda enfrentam problemas neste arquivo de espaço bugs novos e separados (para os quais você pode criar um link a partir daqui) para que possamos diagnosticar e resolver cada um.

Na verdade. A depuração funciona, mas nem sempre envia a versão mais recente do aplicativo para o dispositivo ao iniciar uma nova sessão de depuração. Todas as alterações feitas via hot reload são enviadas e podem ser depuradas.

@escamoteur , você estaria disposto a registrar um novo bug sobre esse problema específico? Terei todo o gosto em reunir as pessoas certas para garantir que o consertamos. Obrigado!

@eseidel ok, mas será amanhã.

Acho que o problema que @escamoteur está tendo pode ser o mesmo que o relatório original aqui - aplicativos desatualizados sendo iniciados no dispositivo?

Acho que a declaração acima foi um pouco confusa porque mencionava depuração, mas quando pedi para esclarecer sobre Gitter, ele disse:

Eu iniciei o aplicativo, fiz algumas alterações e um hot reload => changes apareceu. Interrompeu o aplicativo e iniciou um novo => obtive a versão antiga do aplicativo

Se entendi o relatório original corretamente, acho que pode ser o mesmo.

@escamoteur , você

Ainda não tenho que reproduzi-lo novamente o que significa mudar minha configuração de trabalho atual e eu tive que fazer algum desenvolvimento real nos últimos dias

Sim, posso confirmar que também estou enfrentando esse problema, estou trabalhando no VS Code e estava apenas começando com flutter e trabalhando no aplicativo de exemplo "Startup Name Generator" e fiquei surpreso ao ver que o aplicativo na reinicialização mostrou um parte do código antigo, fazendo uma alteração e recarregando rapidamente, atualizou imediatamente toda a IU para o código atual, então deduzi que o apk nunca estava sendo atualizado com as novas alterações, vim aqui e descobri que fazer uma limpeza rápida resolveu meu problema temporariamente , mas este é um problema muito irritante, precisamos de uma opção de limpar e construir.

Você poderia adicionar o resultado do Flutter doctor aqui para que possamos saber qual versão você está usando?

Eu usei o arquivo zip no site, mas parece que tenho uma atualização disponível, irei atualizar o status de como fica após a atualização

[flutter] flutter médico
╔═════════════════════════════════════════════════ ═══════════════════════════╗
║ AVISO: a sua instalação do Flutter tem 77 dias. ║
║ ║
║ Para atualizar para a versão mais recente, execute "flutter upgrade". ║
╚═════════════════════════════════════════════════ ═══════════════════════════╝

Resumo médico (para ver todos os detalhes, execute flutter doctor -v):
[✓] Flutter (canal beta, v0.5.1, no Mac OS X 10.12.6 16G1408, local en-IN)
[✓] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK 28.0.2)
[✓] conjunto de ferramentas iOS - desenvolver para dispositivos iOS (Xcode 9.2)
[✓] Android Studio (versão 3.1)
✗ Plugin Flutter não instalado; isso adiciona funcionalidade específica de Flutter.
✗ Plug-in Dart não instalado; isso adiciona funcionalidades específicas do Dart.
[!] Código VS (versão 1.26.0)
[✓] Dispositivos conectados (1 disponível)

! O médico encontrou problemas em 1 categoria.
código de saída 0

Sim, por favor, tente isso. Você também pode tentar mudar para dev ou branch master

Bem, suponho que foi consertado, posso desconectar e reconectar e posso ver que uma nova compilação está sendo gerada e instalada corretamente , porque agora o hot reload está funcionando quase como uma execução instantânea no Android Studio, as alterações se aplicam apenas enquanto a sessão estiver conectada, em uma desconexão e reconexão, ele faz uma compilação completa se eu executar novamente (há uma maneira mais fácil de fazer isso para o código VS?)

@droidluv Acho que algum trabalho foi feito recentemente para permitir a reconexão. Não tenho certeza se isso cobre seu caso de uso.

Alguma atualização? São 2 meses. Não posso usar flutter até que esse problema seja resolvido.
Eu executo a partir do vscode.
Histórico

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 Experimente mudar para dev ou master e experimente. funciona bem para mim há um bom tempo.
Como essas mensagens de erro estão relacionadas a esse problema?

@escamoteur tentei mudar para um canal diferente e tenho o mesmo erro. O problema original era https://github.com/Dart-Code/Dart-Code/issues/1113

@DanTup existe uma maneira de fazer o vscode rodar a CLI com --verbose ?

@tvolkert sim, clique na engrenagem na barra lateral de depuração para criar / abrir launch.json e, em seguida, adicione uma seção args , de forma que se pareça com isto:

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

A saída aparecerá em Debug Console :

screen shot 2018-09-07 at 17 33 20

@ bang88 você pode tentar habilitar o registro detalhado de acordo com o comentário anterior e colar a saída aqui?

Obrigado @ bang88!

Para sua informação, para referência futura, gist.github.com é um ótimo lugar para colar trechos de log realmente grandes como o acima. Em seguida, você cola um link para a essência nos comentários aqui.

Portanto, com base nessa saída, parece que a seguinte linha está retornando null :

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

Na verdade, cavando um pouco, parece mais uma condição de corrida. @ bang88 você pode tentar aplicar o seguinte diff localmente e, em seguida, executar novamente e incluir a saída? Obrigado!

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 Excluí seu comentário acima com o conteúdo de log embutido que você também disponibilizou com o link principal. Espero que esteja tudo bem.

Obrigado @zoechi .

@ bang88 Você poderia tentar capturar um log do VS Code durante a reprodução e anexar aqui?

No código VS, execute o comando Dart: Capture Logs na paleta de comandos e marque as categorias Debugger (Observatory) e Flutter Run . Em seguida, reproduza o problema, clique em Parar registro e envie-nos o registro.

@ bang88 Antes de fazer isso, tente instalar esta versão beta do Dart Code:

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

Ele corrige um bug em que a execução com saída detalhada do Flutter poderia fazer com que anexássemos o depurador antes do esperado (porque analisamos incorretamente a URL do Observatório a partir da saída detalhada). Parece que pode ser o que está acontecendo em seu registro mais recente, embora, como eu acho que é causado por registro detalhado, pode não ser o problema original (embora seja suspeito que o erro pareça ser o mesmo).

@DanTup Eu reproduzi como você sugeriu. aqui estão os novos registros https://gist.github.com/bang88/e140e6a9a3c0c045d24339fc593c5595

E eu capturei um GIF:

log

@DanTup definitivamente parece que começamos a enviar eventos após o evento app.start e não esperamos pelo evento app.started .

21696 tornará o código mais defensivo no lado das ferramentas, mas provavelmente também devemos atualizar o lado IDE para evitar o envio de quaisquer eventos até que o aplicativo seja iniciado.

Parece um problema de tempo, dependendo do desempenho da máquina de desenvolvimento, de modo que algumas pessoas o enfrentam e outras não

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 se você flutter upgrade no canal master, você obterá a primeira correção para isso. Meu palpite é que isso fará com que você obtenha um tempo limite mais direto ao aguardar para iniciar o aplicativo, mas por favor, experimente e relate.

@tvolkert Acabei de atualizar para o canal master e não aparecem mais erros. mas a tela é branca. e o hot reload não funciona também

~/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 Acho que pode ter acontecido antes, mas a versão beta vinculada acima deveria ter corrigido isso. Olhando para este log, não consigo ver nada sendo enviado para stdin após o evento app.start (quaisquer dados enviados para stdin devem ser registrados com [FlutterRun] [Info] ==> na linha), mas parece que o a última linha do processo de Flutter é:

[10:18:14 GMT + 0800 (CST)] [FlutterRun] [Info] <== [+5 ms] Conectando ao protocolo de serviço: http://127.0.0.1 : 59843 /

Então, nada acontece até que a sessão de depuração seja encerrada. Acho que algo no Flutter pode estar travando após a linha acima, antes do evento app.started ser enviado.

Eu me pergunto se deveríamos adicionar printTrace s adicionais entre o código que imprime a linha acima e aquele que envia o evento app.started ? Há outro problema que comentei anteriormente sobre isso também (https://github.com/flutter/flutter/issues/18889#issuecomment-420706390) que acho que é um problema diferente, mas também parece que há algo travando nessa área.

Se não quisermos comprometer log extra, poderíamos fazer em um branch e apenas fazer com que esses usuários puxem isso.

Este futuro não está se completando a tempo (ou talvez nunca seja concluído):

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

Existem instruções de rastreamento antes e depois disso - estamos vendo a anterior, mas não a posterior ...

As solicitações da VM podem ficar sem resposta se a VM realmente cair também.
O que acontece no dispositivo quando encontramos esses travamentos? Há algum travamento relatado no dispositivo?

Sem travamentos, apenas uma tela em branco https://github.com/flutter/flutter/issues/16604#issuecomment -420490327

Normalmente, eu teria que construir o aplicativo e ele o executaria corretamente com as alterações.

Na verdade, arranhe isso. Tenho que reinstalar o aplicativo

Alguma atualização?

Não preciso mais de flutter clean muito tempo.

Pra mim limpo não faz nada. Tenho que excluir o aplicativo do simulador iOS. Então a vibração tentará correr (e falhar). E quando o executo pela segunda vez, ele funciona.

Deve haver algo errado com a lógica de atualização incremental. Se o aplicativo foi excluído ou alterado via hot reload, ele não será detectado corretamente durante flutter run .

Não posso usar flutter até que esse problema seja resolvido.

Acabei de encontrar esse problema na versão 0.8.2

É realmente irritante.

Mudar para o canal dev

Ainda é um problema no master 0.10.1-pre.15

Acho que uma das principais razões para esse problema acontecer (corrigido por delete build folder ou executa o comando flutter clean), quando algumas modificações não válidas aplicadas ao código e, em seguida, pressione hot reload ou hot restart e o aplicativo falha, após isso, qualquer nova execução para o projeto pegará a compilação antiga (antes das modificações não válidas) até deletar a pasta de compilação.

Para sua informação,

@FlutterIODev Eu concordo, parece ser necessário travar para que esse problema ocorra. Eu acho que também deve ser uma falha irrecuperável, quando o aplicativo congela. Isso parece acontecer mais quando estou depurando, embora não tenha totalmente certeza.

Minha experiência confirma isso. Posso garantir que o hot reload não funcionará se houver uma exceção, precisando de uma limpeza para funcionar novamente (o que, não sendo mencionado nos tutoriais, é muito confuso no início). Eu até tive o uso de 'build apk' para refletir uma compilação de depuração anterior em vez dos arquivos atuais se 'limpar' não foi usado primeiro - isso em particular parece não intencional.

Há algum tipo específico de travamento que parece estar relacionado? Talvez travamentos que ocorram antes na sequência de inicialização ou em um plug-in específico? Estou me perguntando se não estamos nos recuperando adequadamente de alguns tipos de exceções.

Basta instalar 0.9.4 minutos atrás e ainda não está funcionando.

Qualquer atualização estou tendo o mesmo problema.

Caro pessoal que foi afetado por este bug:

Estamos tentando rastrear a (s) causa (s) desse bug e tendo dificuldade em identificar uma arma fumegante. Se você pudesse nos ajudar preenchendo este formulário rápido, seria de grande ajuda.

https://goo.gl/forms/eFPT6A3jAD8clU4o2

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

Não vejo esse bug há um bom tempo, desde que estou no canal dev

Pessoas que são capazes de reproduzi-lo - quando você entrar nesse estado (quando o aplicativo no dispositivo não estiver mais sendo atualizado conforme você tenta implantá-lo do host), antes de fazer flutter clean seria possível para para você fazer alguma alteração na fonte, faça flutter run --verbose e compartilhe a saída disso através de gist.github.com?

quando esse problema me ocorre, estou recebendo este erro do 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

talvez possa ajudar ...
`` `
vibração - versão:

Flutter 0.9.4 • canal beta • https://github.com/flutter/flutter.git
Estrutura • revisão f37c235c32 (3 semanas atrás) • 25/09/2018 17:45:40 -0400
Motor • revisão 74625aed32
Ferramentas • Dart 2.1.0-dev.5.0.flutter-a2eb050044
`` `
Win10
dispositivo Android físico.

Pessoas que são capazes de reproduzi-lo - quando você entrar nesse estado (quando o aplicativo no dispositivo não estiver mais sendo atualizado conforme você tenta implantá-lo do host), antes de fazer flutter clean seria possível para para você fazer alguma alteração na fonte, faça flutter run --verbose e compartilhe a saída disso através de gist.github.com?

Lá você vai: https://gist.github.com/zoechi/63ad820136130ee6a053e33f48b9ea14

@ 5ummit você preencheu https://goo.gl/forms/eFPT6A3jAD8clU4o2

para outros, a sugestão foi postar os logs usando https://gist.github.com/
e apenas poste o link aqui para evitar que esse problema se torne uma milha de comprimento.

@ 5ummit escreveu:

Ai está:
...
[+97 ms] [+578 ms] Pulando compilação do kernel. Correspondência de impressão digital.

Obrigado, muito útil. O fato de que pulamos a compilação depois que você modificou o código-fonte parece ser a causa raiz. Talvez precisemos instrumentar mais o cálculo da impressão digital para entender por que relatou uma correspondência depois que você editou uma fonte. Só para confirmar - você editou uma das fontes em seu aplicativo flutter na pasta lib/ , certo?

@ 5ummit escreveu:

Ai está:
...
[+97 ms] [+578 ms] Pulando compilação do kernel. Correspondência de impressão digital.

@aam escreveu:
Obrigado, muito útil. O fato de que pulamos a compilação depois que você modificou o código-fonte parece ser a causa raiz. Talvez precisemos instrumentar mais o cálculo da impressão digital para entender por que relatou uma correspondência depois que você editou uma fonte. Só para confirmar - você editou uma das fontes em seu aplicativo flutter na pasta lib/ , certo?

Sim, bastante - anteriormente eu tive um problema que consegui consertar https://github.com/flutter/flutter/issues/23131 graças à comunidade. Agora recebendo este - acha que eles estão conectados?

Acho que, para mim, pessoalmente, meu problema é proveniente de uma dependência do Firebase, aconteceu com https://github.com/flutter/flutter/issues/23131 também. Vou precisar olhar ao redor para encontrar mais, no entanto.

Para reproduzir eu faço o seguinte.

  • vibração limpa
  • vibração correr -v
  • Faça uma mudança
  • Mudança de recarga a quente (com r)
  • Parar o aplicativo (com q)
  • vibração correr -v
  • Faça outra mudança
  • Recarga a quente (com r)
  • Parar o aplicativo (com q)
  • vibração correr -v

Apenas a primeira mudança é mostrada. Deve-se executar o flutter clean para que a segunda mudança apareça.
Sim, estou mudando um inteiro const estático que é usado em um widget de texto

@SUPERETDUPER escreveu:

Aqui: https://gist.github.com/SUPERETDUPER/2b3585956f279ab5e47df431e8eda113
...
Compilando dart para kernel com arquivo 439 atualizado

Isso parece indicar que, quando você fez flutter run -v , reconstruímos o aplicativo, mas o que você está dizendo é que o aplicativo foi executado sem que sua alteração (inteiro const estático?) Fosse evidente?

Você consegue reproduzir isso no aplicativo do contador de amostra de vibração ( flutter create sample )?

Eu estava usando o aplicativo de amostra do contador de vibração. Tudo o que fiz foi adicionar Text("Number: $number") no widget de coluna. E eu adicionei esta linha static const int number = 1; em MyHomePageState . Para alterações, acabei de alterar 1 para outros valores.

E sim, o aplicativo foi reconstruído; na primeira vez com as alterações, mas na segunda vez sem a segunda alteração.

@SUPERETDUPER você pode verificar se a criação de um projeto de amostra flutuante em algum lugar _fora_ de um caminho com espaço em um nome (o caminho completo da sua pasta de trabalho tem espaço em IntelliJ IDEA ) corrige o problema que você enfrenta com o estado desatualizado do aplicativo?

Se isso é tão difícil de consertar, então há pelo menos alguma bandeira para forçar a vibração para reconstruir a cada lançamento?

Se isso é tão difícil de consertar, então há pelo menos alguma bandeira para forçar a vibração para reconstruir a cada lançamento?

Não é tão simples quanto um sinalizador, mas se você estiver usando o VS Code, poderá criar uma tarefa para executar flutter clean e defini-la 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"
        }
    ]
}

Mais adiante, você disse que clean não funciona para você e que você precisa desinstalar o aplicativo do dispositivo. Se esse ainda for o caso, você provavelmente precisará alterar o comando flutter clean para um comando adb para desinstalar o aplicativo.

Dito isso, eu encorajo tentar as coisas listadas acima antes de fazer isso!

@DanTup, de fato, preciso excluir o aplicativo. É possível que na verdade existam dois bugs: um sobre a necessidade de uma execução limpa e outro sobre a necessidade de excluir o aplicativo iOS.

Testei um pouco mais e criei um projeto de amostra que funciona 100% do tempo, mas apenas no iOS. É possível que nunca tenha tido esse problema no Android, mas não tenho certeza.

https://github.com/szotp/flutter_stale_app

Eu adicionei instruções detalhadas sobre como solucionar o bug:
https://github.com/szotp/flutter_stale_app/blob/master/lib/main.dart#L29 -L36

EDIT: Eu acho que é essencial aqui, que o aplicativo está neste estado congelado - o ponto de interrupção do depurador parece garantir isso na minha amostra, mas é possível ter o aplicativo congelado sem atingir nenhum ponto de interrupção. Matar o aplicativo antes de reiniciá-lo parece ajudar, para que a compilação do Xcode seja executada novamente.

EDITAR: Quando o aplicativo é congelado e eu inicio novamente, o Xcode build não acontece, mas o aplicativo é claramente encerrado e iniciado novamente, perdendo todas as recargas ativas que foram acumuladas antes.

Curiosamente, quando estou depurando com a versão que não foi atualizada com sucesso, o depurador traz o código antigo (da pasta de construção). Parece que a pasta de construção não está sendo atualizada?

@szotp Obrigado! Eu reproduzi isso pela primeira vez com suas instruções / aplicativo no simulador iOS no meu MacBook.

@aam @tvolkert não tenho certeza de quem está olhando para isso, mas presumo que será reproduzido facilmente. Se não, sinta-se à vontade para me pegar se o acesso (remoto) à minha máquina for útil para depurar.

@tvolkert Você acha que pode compartilhar os resultados do formulário do google? Estou curioso.

Pela descrição, parece que um dos flutter_assets arquivos não está sendo sincronizado corretamente neste cenário.

@SUPERETDUPER coisa certa! Aqui está: survey.pdf . Ele mostra respostas bem variadas, o que para mim diz que esse bug provavelmente está sobrecarregado com mais de uma causa subjacente.

@sztop , obrigado pela reprodução incrível!
Https://github.com/flutter/flutter/issues/16604#issuecomment -431066044 acontece apenas no simulador iOS? E se você sair (fechar) do aplicativo flutter no simulador iOS antes de iniciá-lo novamente no VSCode?

@aam Parece que remover os espaços corrigiu isso! Obrigado!

Com # 23268 (correção de simulador de ios) e # 23273 (espaços em correção de caminho) colocados no branch master, experimente o canal master se puder e veja se ainda consegue reproduzir o problema. Obrigado!

@aam Agora funciona, obrigado.

Tentei flutter channel master e o problema ainda persiste. Desista por enquanto 😢. Eu criei uma máquina ubuntu e configurei um novo dev env lá e tudo funciona como esperado.

@ bang88 , não tenho certeza se você pode executar o flutter na linha de comando, mas há alguma chance de fazer flutter run --verbose depois de fazer uma alteração e compartilhar a saída disso via gist.github.com?

@aam Os logs: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

e versões vibrantes

~/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 Os logs: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

@ bang88 , estou recebendo o erro 404 para este url.

@aam Github está fora do ar?

Posso te enviar um e-mail com os pontos principais. ou esperar o Github corrige os problemas do servidor

@ bang88 , atualizando aquele link e conseguindo ver o essencial, obrigado!

Que arquivo você está editando (ao fazer flutter run -v )? Esse é um dos arquivos dart em seu projeto ou em um dos pacotes que você importa? Você vê o arquivo que está editando em build/snapshot_blob.bin.d
Fingerprint match mensagem no log indica que não vimos a alteração por algum motivo.

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

Alguma notícia sobre este assunto?
Tive esse problema logo depois de mudar do emulador (Windows) para um dispositivo real (Android).
flutter clean exclui .build mas ainda recebo o aplicativo antigo. Só depois de reinstalar o app no ​​aparelho tudo funciona conforme o esperado.

@stannynuytkens Em que versão de vibração você está? Você pode reproduzir a partir da linha de comando?

Em caso afirmativo, você poderia tentar seguir as instruções de @aam nas mensagens anteriores?

  • Desinstale o aplicativo do telefone
  • Exclua a pasta de construção
  • Execute o aplicativo no console
  • Depois de carregado, feche o aplicativo (com q )
  • Faça uma alteração em um arquivo (observe qual arquivo você alterou)
  • Execute flutter run -verbose

Presumindo que isso repros o problema, fornecer a saída do flutter run -verbose final em uma essência, bem como informações sobre o arquivo que você modificou pode ser útil. Verifique também se o arquivo que você modificou aparece em build/snapshot_blob.bin.d /

Atualização: os resultados da pesquisa podem ser visualizados em https://docs.google.com/spreadsheets/d/1xCzx-Xwx0Qiv3U5GqnjwkyLlzVmcxEZ73hzQszyzhkY/preview

Não parece haver nenhuma arma fumegante 😞

Se você estiver trabalhando em dev ou master e enfrentando problemas com frequência, adicionei a capacidade de desabilitar todo o cache de construção (isso não retardará o recarregamento ou reinicialização a quente). Isso pode ser feito configurando a variável de ambiente DISABLE_FLUTTER_BUILD_CACHE=true .

Se isso melhorar / não melhorar a situação, eu adoraria saber, mas tenha em mente que isso só terá efeito na versão v1.5.3 e superior.

Confirmamos que isso corrige o caso de ativos obsoletos mencionados em # 27720 e bugs semelhantes. Para continuar aqui, vamos desabilitar o cache de compilação por padrão. Esses caches de construção serão reativados individualmente assim que tivermos uma melhor cobertura de teste de integração para provar a correção.

Essa mudança provavelmente não será uma versão estável por algum tempo e, de preferência, quando a próxima versão estável estiver disponível, teremos reativado todo o cache de construção. Nesse ínterim, se os usuários que estão no dev ou master pudessem relatar se ainda veem ou não esse problema, seria extremamente útil resolver todas as pontas soltas.

Estou tendo esse problema e meu colega também. Já temos esse problema há mais de uma semana.

Cada vez que executo o aplicativo em um simulador iOS, uma versão antiga do código é executada. Se eu reiniciar a quente, o código mais recente será executado. A vibração limpa não muda nada. Tenho o mesmo problema em todos os simuladores que experimentei e independentemente de eu executar no Android Studio, no terminal ou no XCode. Não tentei executar de outro IDE.

flutter doctor -v output:
[✓] Flutter (canal estável, v1.2.1, no Mac OS X 10.14.4 18E226, localidade en-SE)
• Flutter versão 1.2.1 em / Users / martinlundberg / Dev / flutter
• Revisão da estrutura 8661d8aecd (2 meses atrás), 14/02/2019 19:19:53 -0800
• Revisão do motor 3757390fa4
• Dart versão 2.1.2 (compilação 2.1.2-dev.0.0 0a7dcf17eb)

[✓] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK versão 28.0.3)
• Android SDK em / Users / martinlundberg / Library / Android / sdk
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-28, build-tools 28.0.3
• Binário Java em: / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• Aceita todas as licenças do Android.

[✓] conjunto de ferramentas iOS - desenvolver para dispositivos iOS (Xcode 10.2.1)
• Xcode em /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, Build versão 10E1001
• ios-deploy 1.9.4
• CocoaPods versão 1.5.3

[✓] Android Studio (versão 3.3)
• Android Studio em / Applications / Android Studio.app/Contents
• Plugin Flutter versão 33.3.1
• Plugin Dart versão 182.5215
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] IntelliJ IDEA Ultimate Edition (versão 2018.1.3)
• IntelliJ em / Applications / IntelliJ IDEA.app
• Plugin Flutter versão 29.0.2
• Plugin Dart versão 181.4892.1

[✓] IntelliJ IDEA Community Edition (versão 2018.1.6)
• IntelliJ em / Applications / IntelliJ IDEA CE.app
• Plugin Flutter versão 29.0.2
• Plugin Dart versão 181.5540.11

[✓] Código VS (versão 1.33.1)
• Código VS em / Applications / Visual Studio Code.app/Contents
• Extensão Flutter versão 2.25.1

[✓] Dispositivo conectado (2 disponíveis)
• Android SDK desenvolvido 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)

• Nenhum problema encontrado!

Essas correções estão apenas em ~ 1.5 e posteriores, então espero que ainda haja problemas em 1.2.1. Estou surpreso que vibração limpa não tenha nenhum efeito - neste caso, eu tentaria reiniciar o simulador.

Sim, também me surpreende.

Reiniciar o simulador não muda nada, infelizmente. A única maneira de consertar é reiniciando a quente; que faz com que o código mais recente seja executado. O problema é que isso não altera as configurações de ambiente que configuramos antes de runApp: /

Então, você recomenda mudar para ~ 1.5 para corrigir o problema?

Você tem um diretório de compilação configurado de forma diferente? Especificamente, se foo/ for a raiz do seu projeto de flutter, há um diretório foo/build ? Em caso afirmativo, você pode excluí-lo manualmente e tentar novamente?

Além disso, parece que a correção que consegui foi marcada como v1.5.8

Sim, o flutter clean exclui a pasta de compilação e então recebo o mesmo problema quando compilo e executo novamente.

@molundb escreveu

Estou tendo esse problema e meu colega também. Já temos esse problema há mais de uma semana.

Você sabe quando isso começou? Você executou uma versão mais antiga do flutter antes disso ou algo mudou há uma semana?

Cada vez que executo o aplicativo em um simulador iOS, uma versão antiga do código é executada. eu

Isso só acontece no simulador iOS? Ou você também está experimentando isso em um dispositivo iOS físico ou sim / dispositivo Android?

Você consegue reproduzir isso ao executar a partir da linha de comando flutter run -v ? Em caso afirmativo, você pode copiar e colar a saída flutter run -v em https://gist.github.com/ e postar um link para isso aqui? Basicamente, se você pode limpar a pasta de compilação, flutter run -v o aplicativo, fazer uma alteração, recarregar a quente, confirmar que nenhuma alteração foi exibida, o log para isso seria muito útil.

@molundb
Excluir o aplicativo do simulador funcionou para mim. Isso geralmente acontece quando eu encontro uma exceção não detectada

@titonton
Obrigado pela dica mas eu fiz Hardware -> Apagar todo o Conteúdo e Configurações ... para o simulador e ainda tenho o mesmo problema.

@aam

Você sabe quando isso começou? Você executou uma versão mais antiga do flutter antes disso ou algo mudou há uma semana?

Foi há tanto tempo que não posso dizer quando começou a acontecer ou o que causou isso, infelizmente. Eu atualizei o flutter pelo menos uma vez depois que ele começou a acontecer.

Isso só acontece no simulador iOS? Ou você também está experimentando isso em um dispositivo iOS físico ou sim / dispositivo Android?

Isso não acontece no sim ou dispositivo Android. Estou carregando um dispositivo iOS agora para testá-lo.

Basicamente, se você puder limpar a pasta de compilação, executar vibrações no aplicativo, fazer uma alteração, recarregar a quente, confirmar que nenhuma alteração foi exibida, o log para isso seria muito útil.

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

Não posso responder à sua pergunta agora sobre o dispositivo iOS, pois parece que não consigo executar neste dispositivo iOS por algum motivo:

Lançando lib / main_dev.dart no iPhone 7s, iPhone no modo de depuração ...
Assinatura automática do iOS para implantação de dispositivo usando a equipe de desenvolvimento especificada no projeto Xcode: 2NJ74JJ92A
Executando a compilação do Xcode ...
Compilação do Xcode concluída. 6,9s
Falha ao construir aplicativo iOS
Resultado do erro da compilação do Xcode:

* FALHA NA CONSTRUÇÃO *

Saída do Xcode:

=== BUILD TARGET Runner DO PROJECT Runner COM CONFIGURATION Debug ===
O uso da inferência Swift 3 @objc no modo Swift 4 está obsoleto. Resolva os avisos de inferência @objc obsoleto” ativado e, em seguida, desative a inferência alterando a configuração de compilação "Swift 3 @objc Inference" para "Padrão" para o "Runner" alvo.
=== BUILD TARGET Runner DO PROJECT Runner COM CONFIGURATION Debug ===
ld: aviso: ignorando o arquivo /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/ios/Flutter/App.framework/App, o arquivo foi criado para x86_64 que não é a arquitetura sendo vinculada (arm64): / Users / martinlundberg / AndroidStudioProjects / tlycs_flutter / ios / Flutter / App.framework / App
=== BUILD TARGET Runner DO PROJECT Runner COM CONFIGURATION Debug ===
Binário não gordo /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App não é arm64. Executando lipo -info:
Arquivo não fat: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App is architecture: x86_64
Comando / bin / sh falhou com o código de saída 1

Não foi possível construir o aplicativo pré-compilado para o dispositivo.

Erro ao iniciar o aplicativo no iPhone 7s.

@molundb escreveu

Basicamente, se você puder limpar a pasta de compilação, executar vibrações no aplicativo, fazer uma alteração, recarregar a quente, confirmar que nenhuma alteração foi exibida, o log para isso seria muito útil.
https://gist.github.com/molundb/cda4caa4e90288568db16ba9a0e962d6

Obrigado! Portanto, recarregar / reiniciar a quente funciona conforme o esperado, mas quando você interrompe o aplicativo e o executa novamente, vê o aplicativo antigo sendo mostrado? Você pode postar um resumo de flutter run -v disso (o segundo flutter run -v que mostra o aplicativo desatualizado)?

Estou com o mesmo problema e minha produtividade está basicamente 30% do normal por causa disso. Eu vejo que pelo menos 3 a 4 semanas nenhuma evidência de qualquer mudança para melhor. Só espero que alguém faça disso uma alta prioridade real. - Isso está me matando agora !!!

Uma reviravolta normal agora parece.

  1. exclua todos os pontos de interrupção
  2. chamar vibração limpa
  3. reinicialização a frio
  4. habilitar ponto de interrupção novamente
  5. trabalhar um pouco

Também vejo toneladas dessas mensagens de console:
'' '16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 17.994 290 info flutter.tools [] -> toStringDeep ()
'' '
saída de dados em meu console.

Aqui está minha versão, que é a mais recente no master:

C: \ Projects \ obdchk> flutter doctor -v
[√] Flutter (Canal mestre, v1.5.9-pre.62, no Microsoft Windows [Versão 10.0.17763.437], localidade en-US)
• Flutter versão 1.5.9-pre.62 em c: \ sdks \ flutter
• Revisão da estrutura 8fd7fa492a (3 horas atrás), 29/04/2019 12:59:30 -0700
• Revisão do motor 1ecf924ff8
• Dart versão 2.3.0 (compilação 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: synth_debug_expression: 1: 1: Erro: getter não encontrado: 'instantâneo'.
16: 07: 17.944 254 informações flutter.tools [] -> snapshot.data
16: 07: 17.944 255 info flutter.tools [] -> ^^^^^^^^
16: 07: 17.944 256 informações flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O getter 'instantâneo' não está definido para a classe '_HomeScreenState'.
16: 07: 17.944 257 info flutter.tools [] -> - '_HomeScreenState' é de 'pacote: obdchk / telas / home_screen.dart' ('lib / telas / home_screen.dart').
16: 07: 17.944 258 info flutter.tools [] -> Tente corrigir o nome para o nome de um getter existente ou definir um getter ou campo denominado 'instantâneo'.
16: 07: 17.944 259 informações flutter.tools [] -> snapshot.data
16: 07: 17.944 260 info flutter.tools [] -> ^^^^^^^^
16: 07: 17.952 261 info flutter.tools [+3 ms] -> 16e00721-c286-43e9-9460-70182643e449 build \ app.dill.track.dill.incremental.dill 16
16: 07: 17.952 262 informações flutter.tools [+2 ms] -> resultado 1bae7b85-0d7d-48c6-a4c2-e199a261f77e
16: 07: 17.954 263 info 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 informações flutter.tools [+1 ms] -> resultado d79513ca-38d5-4354-a47f-88ddd91741fb
16: 07: 17.963 267 info 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 informações flutter.tools [+2 ms] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: getter não encontrado: '_value'.
16: 07: 17.971 270 info flutter.tools [] -> _value
16: 07: 17.971 271 info flutter.tools [] -> ^^^^^^
16: 07: 17.971 272 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O getter '_value' não está definido para a classe '_HomeScreenState'.
16: 07: 17.971 273 info flutter.tools [] -> - '_HomeScreenState' é de 'pacote: obdchk / telas / home_screen.dart' ('lib / telas / home_screen.dart').
16: 07: 17.971 274 info flutter.tools [] -> Tente corrigir o nome para o nome de um getter existente ou definir um getter ou campo denominado '_value'.
16: 07: 17.971 275 info flutter.tools [] -> _value
16: 07: 17.971 276 informações 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: synth_debug_expression: 1: 1: Erro: getter não encontrado: 'newValue'.
16: 07: 17.987 280 info flutter.tools [] -> newValue
16: 07: 17.987 281 info flutter.tools [] -> ^^^^^^^^
16: 07: 17.987 282 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O getter 'newValue' não está definido para a classe '_HomeScreenState'.
16: 07: 17.987 283 info flutter.tools [] -> - '_HomeScreenState' é de 'pacote: obdchk / telas / home_screen.dart' ('lib / telas / home_screen.dart').
16: 07: 17.987 284 info flutter.tools [] -> Tente corrigir o nome para o nome de um getter existente ou definir um getter ou campo denominado 'newValue'.
16: 07: 17.987 285 info flutter.tools [] -> newValue
16: 07: 17.987 286 informações 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 info flutter.tools [+1 ms] -> resultado 16915064-96cf-4c0c-9277-a36139fb4487
16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 17.994 290 info flutter.tools [] -> toStringDeep ()
16: 07: 17.994 291 info flutter.tools [] -> ^^^^^^^^^^^^^
16: 07: 17.994 292 info flutter.tools [] -> org-dartlang- debug: synth_debug_expression: 1: 1: Erro: O método 'toStringDeep' não está definido para a classe 'StreamValue'.
16: 07: 17.995 293 info flutter.tools [] -> - 'StreamValue' é de 'package: utilities / stream / stream_value.dart' ('utilities / lib / stream / stream_value.dart').
16: 07: 17.995 294 info flutter.tools [] -> Tente corrigir o nome para o nome de um método existente ou definir um método chamado 'toStringDeep'.
16: 07: 17.995 295 info flutter.tools [] -> toStringDeep ()
16: 07: 17.995 296 informações 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: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 18.017 300 info flutter.tools [] -> toStringDeep ()
16: 07: 18.017 301 info flutter.tools [] -> ^^^^^^^^^^^^^
16: 07: 18.017 302 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O método 'toStringDeep' não está definido para a classe '_HomeScreenState'.
16: 07: 18.017 303 info flutter.tools [] -> - '_HomeScreenState' é de 'pacote: obdchk / telas / home_screen.dart' ('lib / telas / home_screen.dart').
16: 07: 18.017 304 info flutter.tools [] -> Tente corrigir o nome para o nome de um método existente ou definir um método chamado 'toStringDeep'.
16: 07: 18.017 305 info 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: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 18.040 312 informações flutter.tools [] -> toStringDeep ()
16: 07: 18.040 313 informações flutter.tools [] -> ^^^^^^^^^^^^^
16: 07: 18.040 314 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O método 'toStringDeep' não está definido para a classe '_StateLifecycle'.
16: 07: 18.040 315 info flutter.tools [] -> - '_StateLifecycle' é de 'package: flutter / src / widgets / framework.dart' ('file: /// c: / sdks / flutter / packages / flutter /lib/src/widgets/framework.dart ').
16: 07: 18.040 316 info flutter.tools [] -> Tente corrigir o nome para o nome de um método existente ou definir um método chamado 'toStringDeep'.
16: 07: 18.040 317 informações flutter.tools [] -> toStringDeep ()
16: 07: 18.040 318 info 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 informações 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: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 18.066 324 info flutter.tools [] -> toStringDeep ()
16: 07: 18.066 325 informações flutter.tools [] -> ^^^^^^^^^^^^^
16: 07: 18.066 326 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O método 'toStringDeep' não está definido para a classe 'AppBloc'.
16: 07: 18.067 327 informações flutter.tools [] -> - 'AppBloc' é de 'pacote: elm_bluetooth_bloc / bloc / app_bloc.dart' ('elm_bluetooth_bloc / lib / bloc / app_bloc.dart').
16: 07: 18.067 328 info flutter.tools [] -> Tente corrigir o nome para o nome de um método existente ou definir um método chamado 'toStringDeep'.
16: 07: 18.067 329 informações 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 tempo de coleta 229ms • 46,5 MB usados ​​de 54,7 MB • isolates / 867114562
16: 07: 18,250 333 info runtime.gc tempo de coleta 235ms • 51,5 MB usados ​​de 54,7 MB • isolados / 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: synth_debug_expression: 1: 18: Erro: Esperado um identificador, mas obteve ''.
16: 07: 31.262 336 informações flutter.tools [] -> onData! = Null &&
16: 07: 31.262 337 informações flutter.tools [] -> ^ ...
16: 07: 31.270 338 info 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 informações flutter.tools [+14 ms] -> resultado b183ab8e-99a6-4db0-be44-310e20c62eac
16: 07: 38.938 344 informações flutter.tools [+1 ms] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 38.938 345 info flutter.tools [] -> toStringDeep ()
16: 07: 38.938 346 informações flutter.tools [] -> ^^^^^^^^^^^^^
16: 07: 38.938 347 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: O método 'toStringDeep' não está definido para a classe '_Closure'.
16: 07: 38.938 348 informações flutter.tools [] -> - '_Closure' é de 'dardo: núcleo'.
16: 07: 38.938 349 info flutter.tools [] -> Tente corrigir o nome para o nome de um método existente ou definir um método chamado 'toStringDeep'.
16: 07: 38.938 350 informações flutter.tools [] -> toStringDeep ()
16: 07: 38.938 351 info 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: rota inicial = nula
16: 07: 42.232 354 info runtime.gc tempo de coleta 250ms • 53,1 MB usados ​​de 60,0 MB • isolates / 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 tela inicial
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: rota inicial = nula
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: compilar tela inicial
16: 07: 42,496 358 informações runtime.gc tempo de coleta 256 ms • 54,5 MB usados ​​de 62,7 MB • isolados / 867114562
16: 07: 42.787 359 info runtime.gc tempo de coleta 323ms • 41,6 MB usados ​​de 52,5 MB • isolates / 867114562
16: 08: 17.778 360 info flutter.tools [+35360 ms] DevFS: Excluindo sistema de arquivos no dispositivo (arquivo: ///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16: 08: 17.778 361 info flutter.tools [] Enviando para o serviço VM: _deleteDevFS ({fsName: obdchk})
16: 08: 17.827 362 info flutter.tools [+46 ms] Resultado: {type: Success}
16: 08: 17.827 363 info flutter.tools [] DevFS: sistema de arquivos excluído do dispositivo (arquivo: ///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16: 08: 17.827 364 info flutter.tools [+1 ms] Enviando para o serviço VM: ext.flutter.exit ({isolateId: isolates / 867114562})
16: 08: 18.194 365 info flutter.tools [+363 ms] Conexão de protocolo de serviço fechada.
16: 08: 19.832 366 info flutter.tools [+1639 ms] Aplicativo concluído.
16: 08: 19.841 367 info flutter.tools [+7 ms] "flutter run" levou 4.203.976 ms.
16: 08: 19.841 368 info flutter.tools [] "flutter run" levou 4.203.976 ms.

@ ride4sun escreveu

Eu tenho o mesmo problema

Apenas para confirmar - você pode recarregar / reiniciar o aplicativo a quente e ver as alterações, mas assim que parar o aplicativo e iniciá-lo novamente, você não verá as alterações? Se você puder postar o log (essência) de flutter run -v emitido a partir da janela da linha de comando assim que o aplicativo entrar neste estado, isso deve ajudar.

Também vejo toneladas dessas mensagens de console:
'' '16: 07: 17.994 289 info flutter.tools [] -> org-dartlang-debug: synth_debug_expression: 1: 1: Erro: Método não encontrado: 'toStringDeep'.
16: 07: 17.994 290 info flutter.tools [] -> toStringDeep ()
'' '

Qual IDE você usa? Parece que você está executando flutter / ide no modo detalhado, que despeja todas as solicitações de expressão de compilação sob demanda que o IDE emite para avaliar várias expressões enquanto você navega pelo código-fonte. O modo verboso sendo tão detalhado é o esperado, mas não tenho certeza porque está ativado em sua configuração.

Só para confirmar - você pode recarregar / reiniciar o aplicativo a quente e ver as mudanças, mas assim que você parar
o aplicativo e inicie-o novamente, você não vê as mudanças?

Eu acho que está correto - eu tenho que prestar mais atenção a isso

Se você puder postar o log (essência) da vibração, execute -v emitido da janela da linha de comando quando o aplicativo entrar neste estado, isso deve ajudar.

ok - vou fazer

Qual IDE você usa?

Android Studio

Você parece estar executando flutter / ide no modo verboso, que despeja tudo sob demanda
a expressão de compilação requer que o IDE emita a avaliação de várias expressões à medida que você navega por seu código-fonte. O modo verboso sendo tão detalhado é o esperado, mas não tenho certeza porque está ativado em sua configuração.

Ativei o verbose depois de ver todos esses problemas. Acho que há uma correlação entre o momento em que essas mensagens 'toStringDeep' aparecem.

                                                             toStringDeep()

16: 07: 38.938 346 informações flutter.tools [] -> ^^^^^^^^^^^^^

@aam

Obrigado! Portanto, recarregar / reiniciar a quente funciona conforme o esperado, mas quando você interrompe o aplicativo e o executa novamente, vê o aplicativo antigo sendo mostrado? Você pode postar um resumo de flutter run -v disso (o segundo flutter run -v que mostra o aplicativo desatualizado)?

Sempre que eu inicio o aplicativo, o código antigo é executado. O recarregamento a quente não muda nada. A única maneira que encontrei de fazer com que o código atual seja executado é reiniciando a quente. Depois disso, o recarregamento a quente funciona normalmente. Se eu parar e iniciar o aplicativo novamente, o código antigo será executado novamente.

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

@molundb escreveu

Sempre que eu inicio o aplicativo, o código antigo é executado

O que acontece se antes de iniciar o aplicativo você editar algum arquivo? E se você excluir o aplicativo do simulador antes de iniciá-lo novamente?

Acho que será mais fácil solucionar o problema se você também mudar para a versão beta ou dev mais recente.

Além disso, se você puder ver se a amostra (galeria de vibração) apresenta o mesmo problema quando você edita e recarrega, pare e inicie, de preferência a partir da linha de comando onde você pode capturar logs.

@aam escreveu

O que acontece se antes de iniciar o aplicativo você editar algum arquivo?

Tentei, sem diferença. O mesmo código antigo ainda funciona.

E se você excluir o aplicativo do simulador antes de iniciá-lo novamente?

Tentei, sem diferença. O mesmo código antigo ainda funciona.

Acho que será mais fácil solucionar o problema se você também mudar para a versão beta ou dev mais recente.

Ok, mudei para beta.

Além disso, se você puder ver se a amostra (galeria de vibração) apresenta o mesmo problema quando você edita e recarrega, pare e inicie, de preferência a partir da linha de comando onde você pode capturar logs.

A execução do aplicativo de galeria de vibração funcionou como deveria; nenhum código antigo estava sendo executado.
https://gist.github.com/molundb/075ba9d05e0516b7787a0570a97d05ef

@molundb escreveu

O que acontece se antes de iniciar o aplicativo você editar algum arquivo?

Tentei, sem diferença. O mesmo código antigo ainda funciona.

Você pode postar um log de uma execução após alguma alteração no código-fonte? Se houver Skipping kernel compilation. Fingerprint match. no log na inicialização do aplicativo inicial, mesmo que você edite o código-fonte, de alguma forma o sistema de arquivos não relata alterações ou oscilações no sistema de arquivos e você está olhando para fontes diferentes. Você pode confirmar se o arquivo que você edita tem o carimbo de data / hora atualizado? beta / dev versão deve relatar a lista de fontes usadas para compilação - você pode confirmar se o arquivo editado está listado lá?
E se você fizer flutter clean (ou remover a pasta build/ ) - na próxima vez que você executar o aplicativo, ele terá as alterações? Se isso acontecer, como você entra no estado quebrado? Você para o aplicativo, altera a fonte, inicia o aplicativo e não vê a mudança nesse ponto?

A execução do aplicativo de galeria de vibração funcionou como deveria; nenhum código antigo estava sendo executado.

Ok, isso pelo menos estabelece alguma base razoável. Talvez comparar a configuração do seu aplicativo em sua máquina com o exemplo da galeria flutuante possa fornecer alguns insights sobre por que ele não funciona para o seu aplicativo. Ambos estão hospedados no mesmo disco / sistema de arquivos?

Ignorando a compilação do kernel. Correspondência de impressão digital

Isso nunca deve aparecer se você passar por essa correção, porque desativei todas as impressoras digitais

@aam

Você pode postar um log de uma execução após alguma alteração no código-fonte? Se houver Skipping kernel compilation. Correspondência de impressão digital. no log na inicialização do aplicativo inicial, mesmo se você editar o código-fonte, de alguma forma o sistema de arquivos não relata alterações ou oscilações no sistema de arquivos e você está olhando para fontes diferentes.

Não consegui encontrar uma compilação do kernel Skipping. Correspondência de impressão digital.

Você pode confirmar se o arquivo que você edita tem o carimbo de data / hora atualizado? A versão beta / dev deve relatar a lista de fontes usadas para compilação - você pode confirmar se o arquivo editado está listado lá?

Onde posso ver esse carimbo de data / hora? Na saída, posso ver o arquivo que editei listado duas vezes, mas muitos outros arquivos que não foram editados também estão listados.

Editei este arquivo: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/lib/screens/settings_page/SettingsPage.dart

Aqui está o resultado:
https://gist.github.com/molundb/146a46aa7c2e1a6fc81071b4d23561d1

E se você limpar (ou remover compilação / pasta) - na próxima vez que você executar o aplicativo, ele terá as alterações? Se isso acontecer, como você entra no estado quebrado? Você para o aplicativo, altera a fonte, inicia o aplicativo e não vê a mudança nesse ponto?

Não, vibração limpa não muda nada. O código antigo ainda está em execução. Entramos em um estado quebrado sempre que o aplicativo é interrompido e, em seguida, executado. Fazer uma reinicialização a quente corrige o estado quebrado.

Ok, isso pelo menos estabelece alguma base razoável. Talvez comparar a configuração do seu aplicativo em sua máquina com o exemplo da galeria flutuante possa fornecer alguns insights sobre por que ele não funciona para o seu aplicativo. Ambos estão hospedados no mesmo disco / sistema de arquivos?

Sim, ambos estão hospedados no mesmo disco. Eu não sei que outras diferenças olhar,
você tem alguma ideia?

Onde posso ver esse carimbo de data / hora? Na saída, posso ver o arquivo que editei listado duas vezes, mas muitos outros arquivos que não foram editados também estão listados.

Quero dizer, o carimbo de data / hora que você obtém em ls -al {filename} Terminal Shell, por exemplo.
Lista de arquivos é útil para confirmar se o arquivo que você está editando é o que está sendo compilado.

Não, vibração limpa não muda nada. O código antigo ainda está em execução. Entramos em um estado quebrado sempre que o aplicativo é interrompido e, em seguida, executado. Fazer uma reinicialização a quente corrige o estado quebrado.

Então, você inicia o aplicativo no estado A (digamos que a cor de fundo seja cinza) - você faz flutter run -v . Você edita o código-fonte de flutter (estado B) (de modo que a cor de fundo é vermelha, por exemplo), recarrega a quente ('r' na sessão de terminal de linha de comando de flutter), você vê a mudança? Você interrompe o aplicativo (feche flutter run ) e reinicie-o ( flutter run -v , você vê o estado A ou o estado B? Se você ainda vir A, e se remover o aplicativo do simulador de iphone, faça flutter clean , flutter run novamente? Ainda A?

@aam

Quero dizer, o carimbo de data / hora que você obtém em ls -al {nome do arquivo} Terminal Shell, por exemplo.
Lista de arquivos é útil para confirmar se o arquivo que você está editando é o que está sendo compilado.

Oh! Eu não sabia sobre esse comando antes. Eu tentei e realmente parece notar quando um arquivo é atualizado. O problema ainda é o mesmo; o código antigo está sendo executado, a menos que eu reinicie a quente. Aqui está a saída do 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

Então, você inicia o aplicativo no estado A (digamos que a cor de fundo seja cinza) - você executa flutter run -v.

Feito.

Você edita o código-fonte de flutter (estado B) (de modo que a cor de fundo é vermelha, por exemplo), recarrega a quente ('r' na sessão de terminal de linha de comando de flutter), você vê a mudança?

Sem mudanças.

Você para o aplicativo (sai do flutter run) e o reinicia (flutter run -v, você vê o estado A ou o estado B?

UMA.

Se você ainda vir A, e se você remover o aplicativo do simulador de iphone, limpar o vibrador e executar o vibrador novamente? Ainda um?

Curiosamente, desta vez, depois de executar a última execução de vibração -v, o aplicativo travou e não foi compilado. Então tentei executá-lo novamente sem alterar nada e ele construiu o estado A novamente. Então eu recarreguei a quente, ainda A. Então eu reiniciei a quente e obtive o estado B. Verifique o resultado de tudo aqui:

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

Muito obrigado por toda a sua ajuda até agora, esse problema ainda é um grande problema para nós aqui.

@molundb escreveu

Se você ainda vir A, e se você remover o aplicativo do simulador de iphone, limpar o vibrador e executar o vibrador novamente? Ainda um?

Curiosamente, desta vez, depois de executar a última execução de vibração -v, o aplicativo travou e não foi compilado. Então tentei executá-lo novamente sem alterar nada e ele construiu o estado A novamente. Então eu recarreguei a quente, ainda A. Então eu reiniciei a quente e obtive o estado B. Verifique o resultado de tudo aqui:

Parece que você está permanentemente preso no estado A, certo? Não há nenhuma alteração que você possa fazer no aplicativo que entre em vigor, a menos que você inicie no estado A e reinicie o aplicativo a quente, mas essas alterações desaparecem depois que você interrompe o aplicativo. Parece um problema de configuração do xcodeproject. Seria possível para você criar um novo projeto de flutter via flutter create myproject , em seguida, copiar seu código de flutter / dardo naquele myproject e ver se as coisas estão funcionando em myproject ?

@aam @molundb já faz um tempo que não é usado, então pode ter ficado obsoleto, mas é possível que flutter run --bug-report seja útil aqui. Você teria que fechar o aplicativo rapidamente para manter o arquivo zip do relatório de bug em um tamanho razoável 😄

@aam

Parece que você está permanentemente preso no estado A, certo? Não há nenhuma alteração que você possa fazer no aplicativo que entre em vigor, a menos que você inicie no estado A e reinicie o aplicativo a quente, mas essas alterações desaparecem depois que você interrompe o aplicativo.

Exatamente.

Parece um problema de configuração do xcodeproject. Seria possível para você criar um novo projeto de flutter via flutter create myproject e, em seguida, copiar seu código de flutter / dart para esse myproject e ver se as coisas estão funcionando em meu projeto?

Ok, primeiro criei um novo projeto e depois copiei lib, assets, pubspec.yaml, pubspec.lock, package-lock.json e GoogleService-Info.plist para o projeto. Então, sempre que tentava executar, recebia este erro que não consegui 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                        <…>

Então, copiei a pasta ios para o novo projeto e ele foi compilado, mas peguei o bug novamente. Sempre estado A, exceto se eu reiniciado a quente. Alguma ideia de como eu poderia resolver o bug acima?

@tvolkert

Executei flutter run --bug-report no projeto original e obtive dois arquivos zip? Não sei por que existem dois. Aqui estão eles:
bugreport_01.zip
bugreport_02.zip

@aam

Fiz novamente a primeira tentativa e não consegui obter o problema __FIREAPP_DEFAULT movendo o GoogleService_Info.plist para o xcode em vez de para a minha pasta. Agora ele construiu o estado B! Nenhum código antigo. Agora só preciso descobrir como ter certeza de copiar tudo o que é necessário para o novo projeto.

Obrigado!

eu estava tendo o mesmo problema e, de acordo com mim, meu problema era não definir o nome da classe como MyApp
e assim que mudei o nome da minha classe para MyApp .... está funcionando novamente
e por causa do nome diferente, então MyApp um arquivo na pasta de teste chamado widget_test.dart estava apresentando um erro ......
PS: Estou em um estágio bem inicial de aprendizagem do flutter, essa pode não ser a solução para você😅

Boa

Com https://github.com/flutter/flutter/commit/df3505c1f389031895a459cb2831f38a76119ea2 , acredito que isso está completamente corrigido no Android.

Sim, é, não tenho mais esse problema chato e ele foi corrigido há um bom tempo

Ainda estou enfrentando esse problema. Estou no canal beta executando a versão 1.12.13 + hotfix.3. Estou usando o Android Studio e já consertei um erro na inicialização do meu aplicativo, mas toda vez que eu reinicializo meu aplicativo a frio, ainda recebo a grande mensagem de erro em vermelho e a única maneira de corrigi-lo é reiniciando a quente todas as vezes.

@Reprevise você pode elaborar um pouco? reinicialização a frio = executar novamente o aplicativo?

Sim, pare completamente o aplicativo e inicie-o novamente.

Você pode fornecer logs detalhados da nova execução (exemplo: flutter run -v) e compartilhar a mensagem de erro na inicialização?

@Reprevise , apenas parece que você está executando um aplicativo de vibração diferente em segundo plano e obtendo logs dele durante a construção (definitivamente irritante). Se você reiniciar o telefone e executar novamente, você pode confirmar primeiro se o erro ainda está acontecendo e, em seguida, se ainda está acontecendo se o erro desaparecer se você ficar limpo?

Limpei todos os dados de todos os meus emuladores e executei meu aplicativo Flutter. Ele mostrou o erro (que não deveria, pois já foi corrigido). Depois de executar flutter clean , o erro ainda apareceu na inicialização.

CORREÇÃO: NÃO mostra mais o erro na inicialização após o flutter clean. No entanto, mostra o erro nos logs.

Eu não acho que isso esteja relacionado. Parece que seu aplicativo está atualizado, mas naturalmente tem esse bug. Se você puder registrar um novo problema com uma reprodução mínima, isso ajudaria a determinar a causa raiz

v1.12 no canal estável parece armazenar em cache o log do console de erro obsoleto. Limpar / remover não resolve o problema. O erro continua sendo exibido até que às vezes desaparece sem motivo. Isso me confundiu muito.

@gloryluu que não tem nada a ver com construir / limpar, recomendo preencher um novo bug

Estou enfrentando algum problema no projeto de flutter, alguém pode me ajudar

C: \ flutterbin \ flutter.bat doctor --verbose
[√] Flutter (Canal mestre, v1.13.6-pre.38, no Microsoft Windows [Versão 10.0.14393], localidade en-US)
• Flutter versão 1.13.6-pre.38 em C: \ flutter
• Revisão da estrutura b28dd0c296 (7 dias atrás), 28/12/2019 10:33:01 +0800
• Revisão do motor 5a730c60d3
• Dart versão 2.8.0 (compilação 2.8.0-dev.0.0 1db1a837f8)

[!] Conjunto de ferramentas do Android - desenvolver para dispositivos Android (Android SDK versão 29.0.2)
• Android SDK em E: \ Android Meterial \ AndroidSDK
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-29, ferramentas de construção 29.0.2
• ANDROID_HOME = E: \ Android Meterial \ AndroidSDK
• Binário Java em: C: \ Arquivos de programas \ Android \ Android Studio \ jrebin \ java
• Java versão OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
X Status da licença do Android desconhecido.
Tente reinstalar ou atualizar seu Android SDK Manager.
Consulte https://developer.android.com/studio/#downloads ou visite https://flutter.dev/setup/#android -setup para obter instruções detalhadas.

[√] Android Studio (versão 3.5)
• Android Studio em C: \ Program Files \ Android \ Android Studio
• Plugin Flutter versão 42.1.1
• Versão do plugin Dart 191.8593
• Java versão OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

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

! O médico encontrou problemas em 1 categoria.
Processo concluído com código de saída 0

Como resolver esses problemas no Windows 10 de 64 bits

"[!] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK versão 29.0.2)
• Android SDK em E: \ Android Meterial \ AndroidSDK
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-29, ferramentas de construção 29.0.2
• ANDROID_HOME = E: \ Android Meterial \ AndroidSDK
• Binário Java em: C: \ Arquivos de programas \ Android \ Android Studio \ jrebin \ java
• Java versão OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
X Status da licença do Android desconhecido.
Tente reinstalar ou atualizar seu Android SDK Manager.
Consulte https://developer.android.com/studio/#downloads ou visite https://flutter.dev/setup/#android -setup para obter instruções detalhadas. "

Eu tenho o mesmo problema.

[vibração] vibração médico -v
[√] Flutter (Canal estável, v1.12.13 + hotfix.5, no Microsoft Windows [Versão 10.0.18363.535], localidade en-US)
• Flutter versão 1.12.13 + hotfix.5 em D: \ flutter
• Revisão da estrutura 27321ebbad (5 semanas atrás), 10/12/2019 18:15:01 -0800
• Revisão do motor 2994f7e1e6
• Dart versão 2.7.0

[√] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK versão 28.0.3)
• Android SDK em D: \ android-sdk
• Localização do Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil)
• Plataforma android-28, build-tools 28.0.3
• ANDROID_HOME = D: \ android-sdk
• Binário Java em: C: \ Arquivos de programas \ Android \ Android Studio \ jrebin \ java
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• Aceita todas as licenças do Android.

[!] Android Studio (versão 3.4)
• Android Studio em C: \ Program Files \ Android \ Android Studio
O plugin X Flutter não está instalado; isso adiciona funcionalidade específica de Flutter.
O plugin X Dart não está instalado; isso adiciona funcionalidades específicas do Dart.
• Java versão OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] Código VS (versão 1.41.1)
• Código VS em C: \ Usuários \ Armin \ AppData \ Local \ Programas \ Microsoft VS Code
• Extensão Flutter versão 3.7.1

[√] Dispositivo conectado (1 disponível)
• Android SDK desenvolvido para x86 • emulador-5554 • android-x86 • Android 9 (API 28) (emulador)

! O médico encontrou problemas em 1 categoria.

@jonahwilliams , provavelmente deveríamos inventariar quais partes da ferramenta ainda precisam ser convertidas para usar o novo sistema de compilação, arquivar problemas separados para essas partes e encerrar esse problema.

Etapas reproduzíveis:

  1. Criar novo projeto Flutter
  2. Para obter um erro que causa aquela tela de erro infame, chame MediaQuery.of(context) no método MyApp build .
  3. Você obtém a tela de erro.
  4. Pare a depuração (no VSCode e no Android Studio, clique no quadrado vermelho)
  5. Corrija o erro (neste caso, remova a linha que chama MediaQuery.of(context) .
  6. Reinicie a depuração
  7. Você obtém a tela de erro, embora o erro tenha sido corrigido.
  8. Reinicie o aplicativo (no VSCode, pressione o ícone de atualização verde e no Android Studio, pressione o botão "play" com o pequeno círculo verde) e observe que a tela de erro desapareceu.

Estou no Flutter 1.13.6 (última versão do canal beta).

ATUALIZAÇÃO: ainda se aplica à última versão beta (1.14.6).

v1.12 no canal estável parece armazenar em cache o log do console de erro obsoleto. Limpar / remover não resolve o problema. O erro continua sendo exibido até que às vezes desaparece sem motivo. Isso me confundiu muito.

Obtendo o mesmo problema também.
Flutter (Canal estável, v1.12.13 + hotfix.7, no Mac OS X 10.15.2 19C57, local en-AU)

@ shinta5150 O problema de log do console é uma regressão separada.

@Reprevise, isso soa como uma mudança que não pode ser recarregada a quente, não é um erro de compilação

@jonahwilliams Eu nunca disse que recarreguei a quente. Eu parei de depurar e reiniciei e ainda recebi a tela depois que o erro foi corrigido.

@Reprevise no diretório do seu projeto, haverá um arquivo gerado que deve conter todas as dependências do seu projeto, algo como build/app/intermediates/flutter/debug/flutter_build.d . Você pode verificar se ele contém o nome do arquivo que você está alterando?

@Reprevise no diretório do seu projeto, haverá um arquivo gerado que deve conter todas as dependências do seu projeto, algo como build/app/intermediates/flutter/debug/flutter_build.d . Você pode verificar se ele contém o nome do arquivo que você está alterando?

Ele contém o nome do arquivo que estou editando.

Ótimo, a próxima coisa a verificar é a soma de verificação do arquivo. É útil começar a próxima parte após uma limpeza vibratória. Primeiro - execute sua construção duas vezes com o erro intacto.

Em seguida, abra .dart_tool/flutter_build/<some-hash-value>/.filecache e puxe o sha para o arquivo que você estava editando. Será algo como:

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

Em seguida, faça a alteração para corrigir o erro e reconstruir o aplicativo novamente. Inspecione o hash e verifique se ele foi atualizado ou não foi atualizado

Na verdade, uma maneira mais fácil seria apenas executar o detalhamento após alterar o arquivo. Você estaria procurando por uma linha como:

skipping kernel_snapshot ou agora

Então, para verificar:

Executei a compilação duas vezes e a tela de erro apareceu duas vezes conforme o esperado.
Eu agarrei o valor sha.
Corrigi o erro.
Depois de uma reconstrução, descobri que o sha não mudou.

@jonahwilliams

NOTA: Não consegui reproduzir o problema no Linux.

@Repreveja quando você executa essas etapas com verbose, você vê que o gradle está pulando a tarefa de vibração em si? Gostar:

[        ] > 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

Isso me ajudará a identificar se é ou não um bug de ferramenta de vibração ou um bug de flutter gradle

Se este for o Windows, meu palpite é que há um erro de formatação no depfile que está fazendo com que o Gradle pule incorretamente a tarefa de flutter. Isso acertaria com o sha não atualizando.

Aqui está meu log de flutter run --verbose :

https://pastebin.com/V5U7G3tj

Observe que meu arquivo não contém MediaQuery.of(context) em meu método de construção, como sugere o log de erros. E sim, estou executando o Windows.

Ok, estamos reduzindo gradualmente o problema. Em FLUTTER_ROOT/packages/flutter_tools/gradle/flutter.gradle você pode adicionar uma instrução de impressão para verificar se o depfile é analisado corretamente:

    <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')
    }

No FlutterTask . Em seguida, execute novamente e pegue o conteúdo do depfile analisado

Com a declaração de impressão, aqui está meu novo flutter run --verbose log:

https://pastebin.com/dVXCUueS

Obrigado! parece que os arquivos certos estão lá - Os seguintes arquivos são o código do seu aplicativo:

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

Vou 🤦‍♂, mas me pergunto se esse é outro problema de "espaço no caminho do arquivo atrapalha o Windows". O problema se reproduz para você em um diretório sem espaço? (Não que eu esteja sugerindo isso como uma solução de longo prazo ...)

A parte android\app\Apps não existe:

Aqui estão os caminhos reais para esses arquivos:

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

Também não tem certeza de por que C:\Users\Owner\Documents\Flutter está lá?
Mas eu realmente não acho que o caminho seja um problema, apenas apontá-lo.

Além disso, o "espaço no caminho do arquivo" pode realmente ter causado o problema.
Tentei muito reproduzir o problema em um caminho sem espaço, mas não consigo.

Obrigado por toda a ajuda na depuração do @Reprevise . Com essas informações, devo conseguir montar um patch com bastante rapidez.

Também não tem certeza de por que C: \ Usuários \ Proprietário \ Documentos \ Flutter está lá?

Também parece estranho, ainda não tenho certeza, mas vou dar uma olhada

Possivelmente relacionado ao espaço vazio no nome do diretório para ser honesto.

@Reprevise para que eu reponha isso na minha máquina Windows e tenho uma correção pendente. Se você quiser, pode remendá-lo para sua própria verificação de vibração para verificar. Nota: você precisará limpar primeiro para soprar para longe o depfile ruim.

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

O problema de escape agora foi corrigido no mestre

Vou testar o master quando chegar em casa e relatar se isso resolve o problema

Parece que funciona, reconstrói com o código correto todas as vezes até agora 🤞.

Enfrentando o mesmo problema desde os últimos dias. Hot Reload parou de funcionar, tem que reiniciar todas as vezes.

@gegobyte isso não tem nada a ver com recarregamento a quente

No meu caso, essa situação ocorreu após a atualização do flutter e edição da biblioteca externa. Eu resolvi esse problema fazendo

flutter clean

e então correndo

flutter pub cache repair

e, em seguida, recrie seu aplicativo.

Devemos fechar isso? Pelo que vale a pena, não estou vendo mais o problema. E vejo que pelo menos um bug subjacente foi corrigido recentemente.

Também é possível que queiramos dividir isso em vários problemas e usar este como um meta-problema de rastreamento.

Não tenho esse problema há algum tempo, estou no último beta 1.15.17.

Suspeito que descobriremos que questões mais específicas serão mais úteis / acionáveis. @jonahwilliams wdyt?

Eu não vejo mais o problema. Estou no canal beta.

O problema parece ter desaparecido no canal estável (1.12.13 hotfix 8)

Tenho a versão 1.12.13 do hotfix 8 e ainda estou tendo esse problema. Eu corri

vibração limpa

e pareceu corrigir o problema pelo menos temporariamente

No meu caso, essa situação ocorreu após a atualização do flutter e edição da biblioteca externa. Eu resolvi esse problema fazendo

flutter clean

e então correndo

flutter pub cache repair

e, em seguida, recrie seu aplicativo.

Isso resolve o problema para mim !! (Atualize Dart e Flutter também).

Eu segui a solução "flutter pub cache repair", mas agora meu hot reload não funciona mais e preciso limpar a cada build. Alguma outra sugestão?

@AntheusS, parece que é um problema separado, que estou muito interessado em entender. Você estaria disposto a registrar um novo problema com suas preocupações específicas para que possamos ajudá-lo a resolvê-las? Obrigado!

A seguinte observação foi adicionada por @tvolkert em 16 de outubro de 2018

Se você for afetado por este bug,

Por favor preencha o seguinte formulário!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (pesquisa para coletar informações sobre este bug)

Passos para reproduzir

Quando eu (ou um de meus colegas de equipe) executo o flutter flutter run (ou com o botão executar / depurar no IntelliJ e VSCode) em um AVD ou em dispositivos reais, a versão instalada está sempre atrás da mais recente e eu sempre precisa reiniciar o aplicativo ou mesmo às vezes flutter clean .
Este é um problema especialmente quando a compilação do dispositivo AVD / real trava, e a única solução aqui é flutter clean , mesmo quando eu interrompo o aplicativo em execução e faço flutter run novamente.

O mesmo acontece ao criar e instalar APKs de produção:
Quando executo flutter build e flutter install , o APK instalado não é atualizado.
Se eu executar o flutter clean e, em seguida, novamente flutter build e flutter install , o APK instalado está atualizado.

Doutor 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!

A seguinte nota foi adicionada por @tvolkert em 16 de outubro de 2018

Se você for afetado por este bug,

Por favor, preencha o formulário abaixo!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (pesquisa para coletar informações sobre este bug)

Passos para a reprodução

Quando eu (ou um de meus colegas de equipe) executo o flutter flutter run (ou pelo botão executar / depurar no IntelliJ e VSCode) no AVD ou em dispositivos reais, a versão instalada está sempre à parte. Após a mais recente versão e eu sempre preciso reiniciar o aplicativo ou mesmo às vezes flutter clean .
Este é um problema, especialmente quando a versão do dispositivo AVD / real trava e a única solução aqui é flutter clean , mesmo se eu interromper a execução do aplicativo e fazer flutter run novamente.

A mesma coisa acontece ao criar e instalar um APK de produção:
Quando executo flutter build e flutter install , o APK instalado não é atualizado.
Se eu executar o flutter clean e, em seguida, novamente, os APKs flutter build e flutter install instalados serão atualizados.

O médico 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!

Muito obrigado, eu consertei.

mesmo problema na última versão no canal estável

@AntheusS, parece que é um problema separado, que estou muito interessado em entender. Você estaria disposto a registrar um novo problema com suas preocupações específicas para que possamos ajudá-lo a resolvê-las? Obrigado!

Na verdade, eu consertei reinstalando meu ambiente de desenvolvimento completo depois de executar os comandos descritos anteriormente. Muito obrigado mesmo. :-)

Este problema ficou um pouco longo e sobrecarregado. O trabalho de flutter clean , registre um novo problema com todos os detalhes. Obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações