这是调试控制台中的完整错误:
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Built build\app\outputs\apk\debug\app-debug.apk.
I/FlutterActivityDelegate( 4158): onResume setting current activity to this
D/ ( 4158): HostConnection::get() New Host Connection established 0xdc74b680, tid 4178
D/EGL_emulation( 4158): eglMakeCurrent: 0xdc741300: ver 2 0 (tinfo 0xdc74c480)
F/libc ( 4158): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xd in tid 4177 (Thread-2), pid 4158 (le.startupnamer)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone_x86/generic_x86:9/PPP4.180612.007/4860066:userdebug/dev-keys'
Revision: '0'
ABI: 'x86'
pid: 4158, tid: 4177, name: Thread-2 >>> com.example.startupnamer <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xd
Cause: null pointer dereference
eax ca0a8aac ebx ca0a8aac ecx 0000000a edx c9046c80
edi de6638d0 esi c90479f8
ebp c9046b58 esp c9046b58 eip c96e31d8
backtrace:
#00 pc 006981d8 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#01 pc 008f5b75 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#02 pc 008e87ea /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#03 pc 008f3ad6 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#04 pc 008e8b2f /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#05 pc 008ffb03 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#06 pc 008eb310 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#07 pc 008f3d98 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#08 pc 008e8b2f /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#09 pc 008eafc8 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#10 pc 008f997f /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#11 pc 008eaff8 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#12 pc 008fc81c /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#13 pc 008eaf69 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#14 pc 008f997f /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#15 pc 008eaff8 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#16 pc 008ef41e /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#17 pc 008f0570 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#18 pc 0091433e /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#19 pc 0092fad4 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#20 pc 00932f2a /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#21 pc 00934573 /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#22 pc 00933d2b /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#23 pc 0093004a /data/app/com.example.startupnamer-Doz3k_Pl0QfJtnmxYqiyHg==/lib/x86/libflutter.so
#24 pc 0000056b <anonymous:c7680000>
Lost connection to device.
Exited (sigterm)
我使用带有 Flutter 扩展的 Visual Studio Code,但没有 Dart 扩展。我还尝试在 Android 模拟器上运行我的 Flutter 应用程序,该模拟器是具有 API 28 x86 的 Nexus 6。模拟性能设置为“硬件 - GLES 2.0”。其余设置保留默认值。
在将模拟器与 Flutter 一起使用之前,我先冷启动模拟器,因为 adb 连接问题会导致模拟器在正常启动模拟器时无法加载。可能不相关,但无论如何值得注意。
Typing flutter doctor -v
进入命令行将显示以下内容:
[√] Flutter (Channel beta, v0.5.1, on Microsoft Windows [Version 10.0.17134.112], locale en-AU)
• Flutter version 0.5.1 at C:\dev\flutter
• Framework revision c7ea3ca377 (6 weeks ago), 2018-05-29 21:07:33 +0200
• Engine revision 1ed25ca7b7
• Dart version 2.0.0-dev.58.0.flutter-f981f09760
[√] Android toolchain - develop for Android devices (Android SDK 28.0.1)
• Android SDK at C:\Android\android-sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.1
• ANDROID_HOME = C:\Android\android-sdk
• 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 26.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 C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.2
• Flutter plugin version 26.0.2
• Dart plugin version 181.4668.60
[!] VS Code, 64-bit edition (version 1.25.0)
• 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
! No devices available
! Doctor found issues in 2 categories.
现在来说说实际问题:
当我加载 Flutter 应用程序时,无论代码处于何种状态,应用程序都会从创建后第一次保存时的状态启动。如果我尝试对代码进行任何更改(我只是更改主题颜色)并尝试热重载,应用程序就会崩溃并出现我上面发布的错误。为什么会发生这种情况?我可以采取什么措施来解决这个问题?
当我加载项目时,或者在不对代码进行任何更改的情况下热重新加载时,没有错误。
任何帮助表示赞赏。
编辑:我无法使用同一项目在 Android Studio 中复制此错误。这个错误只出现在我的 Visual Studio Code 中。