如果没有模拟器的“擦除数据”功能,Flutter 的 Android 应用程序会在第二次或之后运行时出现白屏

问题描述 投票:0回答:1

该应用程序第一次运行良好,没有任何问题。但是当我停止程序并再次运行它时,模拟器无法启动应用程序并像下面的图片一样变白,没有抛出任何错误。

Emulator whited out

控制台:

Launching lib\\main.dart on sdk gphone16k x86 64 in debug mode...

Running Gradle task 'assembleDebug'...

√ Built build\\app\\outputs\\flutter-apk\\app-debug.apk

Debug service listening on ws://127.0.0.1:53998/JPrAPAtzNX8=/ws

Syncing files to device sdk gphone16k x86 64...

I/le.test_project( 7228): Compiler allocated 5174KB to compile void android.view.ViewRootImpl.performTraversals()

flutter doctor -v 结果如下:

PS D:\Development\flutter\test_project> flutter doctor -v
[√] Flutter (Channel stable, 3.22.3, on Microsoft Windows [Version 10.0.22631.3958], locale en-US)
    • Flutter version 3.22.3 on channel stable at C:\Users\BlueZ\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (10 days ago), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at C:\Users\BlueZ\AppData\Local\Android\Sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.10.3)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.10.35013.160
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2024.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)

[√] VS Code (version 1.91.1)
    • VS Code at C:\Users\BlueZ\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.92.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22631.3958]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 127.0.6533.72
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 127.0.2651.74

[√] Network resources
    • All expected network resources are available.

• No issues found!

如果我“擦除数据”模拟器,它会再次正常运行,但如果不是,则会失败。

我创建了新的 Flutter 项目(默认计数器),问题也发生在他们身上。但 Java 默认项目并没有发生这种情况。所以我猜这是由flutter项目的设置或其他原因引起的。

“使缓存无效...”没有改变任何事情。 我尝试根据此链接将 gradle 文件迁移到新语法: https://docs.flutter.dev/release/writing-changes/flutter-gradle-plugin-apply

我还转到“项目结构”=>“SDK”并将其设置为“Android API 35,扩展级别 13 平台”,这是我当前使用的模拟器。没有改变。

我重新安装了 Flutter SDK / Java JDK / Android Studio,并进行了任何个人设置。没成功。

每次运行应用程序时都必须“擦除数据”模拟器,这很烦人且效率低下。

不知道如何解决。任何建议都会有所帮助。预先感谢。

android flutter android-gradle-plugin android-emulator launch
1个回答
0
投票

我也遇到过同样的问题。
请检查禁用硬件加速并启动应用程序是否可以解决问题:

flutter run --enable-software-rendering

这个问题可能与此线程中讨论的问题相同: https://github.com/flutter/flutter/issues/146890

放置按钮时,不可见但可以点击,因此这似乎是模拟器渲染问题。
我决定在模拟器设置中选择“桌面本机 OpenGL”来修复硬件加速。

Android 模拟器设置对话框
在模拟器工具箱中,转到“...”→“设置”→“高级”选项卡→将 OpenGL ES 渲染器设置为“桌面本机 OpenGL”并重新启动模拟器。

此线程的其他解决方案:

  • 将模拟器恢复到没有错误的旧版本
  • 持续使用软件加速
© www.soinside.com 2019 - 2024. All rights reserved.