我只是升级flutter
到最新版本,flutter doctor -v
没有抱怨错误.从Android Studio
安装apk时日志输出的错误部分看起来像这样:
Running Gradle task 'assembleDebug'...
✓ Built build/app/outputs/apk/debug/app-debug.apk.
E/flutter (24489): [ERROR:flutter/shell/common/shell.cc(197)] Dart Error: Can't load Kernel binary: Invalid kernel binary: Indicated size is invalid.
E/flutter (24489): [ERROR:flutter/shell/common/engine.cc(198)] Could not prepare to run the isolate.
E/flutter (24489): [ERROR:flutter/shell/common/engine.cc(137)] Engine not prepare and launch isolate.
E/flutter (24489): [ERROR:flutter/shell/common/shell.cc(433)] Could not launch engine with configuration.
I/zygote64(24489): Do full code cache collection, code=124KB, data=87KB
I/zygote64(24489): After code cache collection, code=116KB, data=66KB
我已经尝试删除flutter
bin/cache
建议的GitHub issue page,和flutter doctor
再次,但这不能解决Dart Error:Invalid kernel binary: Indicated size is invalid
问题.我的flutter channel
是在master
不是stable
。顺便说一下,这个does always
发生了,当第一次尝试运行失败时,第二次尝试运行可以绕过这些错误,只是无法找出原因。
首次编辑
关于Dart Error: Can't load Kernel binary: Invalid kernel binary: Indicated size is invalid
的信息太少了。这不是kernel format
的问题,而是kernel size
的问题,是否有地方可以调整flutter Dart引擎的配置?
二次编辑
我的pubspec.yaml
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
intl: ^0.15.7
provider: ^3.1.0
shrine_images: ^1.0.0
url_launcher: 5.1.0
path_provider: ^1.2.0
barcode_scan: ^1.0.0
qr_flutter: ^1.1.1
font_awesome_flutter: ^8.5.0
flutter_circular_slider: ^2.5.0
flutter_swiper: ^1.1.6
after_layout: ^1.0.7+2
wave:
crypto: ^2.1.2
rxdart: ^0.22.2
bloc: ^0.15.0
flutter_bloc: ^0.21.0
equatable: ^0.2.0
json_serializable: ^3.2.2
shared_preferences: ^0.5.3+4
flutter_slidable: ^0.5.4
fluttertoast: ^3.1.3
encrypt: ^3.3.1
connectivity: ^0.4.4
animator: ^1.0.0+1
imei_plugin: ^1.1.4
photo_view: ^0.7.0
dev_dependencies:
flutter_test:
sdk: flutter
pedantic: ^1.4.0
build_runner: ^1.6.9
当我在Android Studio
界面中按Run
按钮两次以绕过我上面提到的错误时,可以安装apk**,但当我将其分发给其他人时,该apk无法正常工作,它只是弹出一个白色屏幕,没有其他内容。
第三次编辑
我也参与了这个GitHub Issue的讨论。
第四次编辑
我创建了一个最小的project来重现这里的问题(目前只关注android platform
),并打开一个新的flutter issue。
第五次编辑
因为我引用了一个不同于Firebase Cloud Messaging
的第三方库来提供后台推送通知服务。我想Dart Error: Can't load Kernel binary: Invalid kernel binary: Indicated size is invalid.
是由该服务引起的。当我注解掉启动它的行时,没有显示任何错误。重现此问题的最小project也已相应更新。
3条答案
按热度按时间dhxwm5r41#
我有同样的问题,并解决了这个问题,通过删除该高速缓存文件夹,并再次安装Flutter。
au9on6nz2#
对我来说,以下步骤解决了这个问题:
1-打开cmd并运行flutter doctor。(如果有问题,请先解决。)
2-如果没有,则将Flutter通道更改为dev。不管你的频道是什么?。如果这是开发频道,则切换到主频道。
3-又是扑医生。如果一切顺利的话。然后运行您的项目。如果它相应地运行,然后再次改变到稳定的通道。
hmae6n7t3#
类似的事情发生在我身上,这就是我所做的:
1.只需删除当前的Flutter版本(我使用的是Flutter 3.13.1)。我删除了它并下载了最新版本(当时是Flutter 3.13.7)
1.将您的环境变量更新为提取的Flutter路径。
1.运行
flutter doctor
以验证一切正常1.在项目上运行
flutter pub get
以更新依赖项。