HarmonyOS鸿蒙Next中flutter鸿蒙版在模拟器启动后立即crash,如何解决?

HarmonyOS鸿蒙Next中flutter鸿蒙版在模拟器启动后立即crash,如何解决? flutter 鸿蒙版项目,windows电脑使用x86模拟器,在真机可以正常运行,模拟器运行App启动后立即crash。

虽然真机可以运行,但是不能用模拟器还是很不方便,尤其是做兼容性测试时

jscrash日志如下:

cke_2753.png

cke_1974.png

根据其他帖子提示已修改build-profile.json5文件内容,报错依旧:

cke_7674.png

以下两个模拟器表现一样:

cke_29295.png


更多关于HarmonyOS鸿蒙Next中flutter鸿蒙版在模拟器启动后立即crash,如何解决?的实战教程也可以访问 https://www.itying.com/category-92-b0.html

6 回复

参考兼容OpenHarmony的Flutter SDK仓库,模拟器调试只支持Mac(arm64),还不支持Mac(x86)和Windows。

HarmonyOS开发使用Flutter框架,目前还不支持使用x86模拟器,如果有调试需要,使用HarmonyOS 5.0版本及以上的真机或者云调试

更多HarmonyOS开发中的Flutter相关问题参考常见问题

更多关于HarmonyOS鸿蒙Next中flutter鸿蒙版在模拟器启动后立即crash,如何解决?的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


后续考虑支持吗?毕竟x86才是主流,

由于x86已经不演进,所以后续模拟器也不会支持x86。

楼主好,Flutter鸿蒙版部分组件在x86模拟器中存在兼容性问题(我知道的有FloatingActionButton组件),

Impeller渲染模式在模拟器环境中也会引发异常。还有ABI配置缺失也会报错

楼主试一下吧FloatingActionButton相关代码注释掉:

//比如main.dart中注释该组件

// floatingActionButton: FloatingActionButton(

//   onPressed: _incrementCounter,

//   tooltip: 'Increment',

//   child: Icon(Icons.add),

// )

关闭Impeller渲染引擎,在ohos/entry/src/main/resources/rawfile/buildinfo.json5中添加配置:

{
  "enableImpeller": false
}

在模块级build-profile.json5中添加x86支持:

"buildOption": {
  "artifactType": "obfuscation",
  "targetAbi": ["x86", "armeabi-v7a"]
}

确保模拟器ABI类型与工程配置匹配

在HarmonyOS Next中使用Flutter鸿蒙版模拟器崩溃,可尝试以下步骤:

  1. 确保Flutter鸿蒙渠道版本与HarmonyOS Next SDK版本兼容
  2. 检查模拟器配置是否满足Flutter运行要求(内存≥4GB)
  3. 清除项目构建缓存:flutter clean后重新构建
  4. 查看崩溃日志:adb logcat定位具体错误
  5. 更新DevEco Studio和Flutter插件至最新版本

常见原因是NDK版本冲突或资源文件缺失,需核对build.gradle中的鸿蒙依赖配置。

从日志来看,这是Flutter鸿蒙版在x86模拟器上的兼容性问题。根据错误信息,主要问题是libflutter.so库加载失败导致的崩溃。

建议尝试以下解决方案:

  1. 检查Flutter鸿蒙版SDK是否完整,特别是x86架构的so文件是否存在

  2. 确保模拟器配置正确:

    • 模拟器API级别与项目配置匹配
    • 模拟器开启VT-x/AMD-V虚拟化支持
  3. 在build-profile.json5中明确指定支持的ABI:

"abiFilters": ["x86"]
  1. 尝试使用arm模拟器而非x86模拟器,因为Flutter对arm架构支持更好

  2. 清理并重新构建项目:

flutter clean
flutter pub get

如果问题依旧,建议检查Flutter鸿蒙版的版本是否与HarmonyOS Next兼容,并确认是否使用了最新的SDK工具链。

回到顶部