原有的原生flutter项目如何迁移到鸿蒙?
1、创建个新项目,把旧项目的lib与assets目录复制覆盖到新项目 2、修改pubspec.yaml依赖,改为支持 鸿蒙版本 3、如果编译没问题理论上就能跑在鸿蒙设备上了 4、Android或iOS平台上的一些特殊修改复制到新项目 以上操作相对简单一些。如果在老项目里面改也是可以的,直接在项目根目录直行
flutter create --platforms ohos .
然后修改pubspec.yaml依赖
flutter pub get
flutter build hap
flutter build app 输出的app文件路径不对
flutter build app 输出的app文件所在位置 ohos/build/outputs/default/ohos-default-signed.app flutter build app --flavor myflavor 输出的app文件所在位置为 ohos/build/outputs/myflavor/ohos-myflavor-signed.app
Windows模拟器上运行flutter应用
- Windows环境上的鸿蒙模拟器上运行flutter应用
- 确保在切换编译架构类型后,libapp.so能被删除
使用命令:
flutter run -d 127.0.0.1:5555 --debug
flutter run -d 127.0.0.1:5555 --profile
flutter run -d 127.0.0.1:5555 --release
flutter build hap --target-platform ohos-x64 --debug
flutter build hap --target-platform ohos-x64 --profile
flutter build hap --target-platform ohos-x64 --release
注意事项:
更新后,在Windows环境的鸿蒙模拟器上运行flutter应用,如果遇到闪退情况,请在执行以下操作后再尝试重新运行:
- 删除 flutter_flutter/bin/cache 目录
- 运行 flutter clean 命令
闪退日志摘要:
Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffc5ea3540
Fault thread info:
Tid:31390, Name:1.ui
#00 pc ffffffffc5ea3540 Not mapped
#01 pc 0000000000500817 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#02 pc 00000000005007ba /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#03 pc 000000000061d23e /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#04 pc 000000000061d1e9 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#05 pc 000000000061d4d9 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#06 pc 00000000006cedbe /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#07 pc 00000000006d42ed /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#08 pc 00000000006d326d /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#09 pc 00000000006d31a5 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#10 pc 00000000006d3119 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#11 pc 00000000006d29b1 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#12 pc 00000000006d280d /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#13 pc 00000000006d0f66 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#14 pc 00000000006d0f1c /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#15 pc 00000000006d0daa /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#16 pc 00000000006d8019 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#17 pc 00000000006d7f5c /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#18 pc 00000000004c565f /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#19 pc 00000000006d216e /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#20 pc 00000000008c20ae /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#21 pc 00000000008c3b53 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#22 pc 000000000071042f /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#23 pc 00000000008c3b53 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#24 pc 0000000000583d64 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#25 pc 00000000008c3883 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#26 pc 000000000071dd2f /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#27 pc 00000000004baa41 /data/storage/el1/bundle/libs/x86_64/libapp.so(ae7a4ca58ac49af2c83f9408422ec99f)
#28 pc 0000000000e3ba25 /data/storage/el1/bundle/libs/x86_64/libflutter.so(7ab6bc0ebf84f0628f42fc904045d42beb3839a0)
Registers:
rax:ffffffffc5ea3540 rdx:0000000000000001 rcx:ffffffffc5ea3540 rbx:00007f67c38b9fc8
rsi:00007f67bfc08481 rdi:0000000000000001 rbp:00007f67c38b9fb8 rsp:00007f67c38b9fa8
r8:0000000000047208 r9:00007f67bfc08081 r10:0000000000000001 r11:0000000000000000
r12:00007f67bfc08081 r13:00007f67c1100754 r14:00007f67cde0e0b0 r15:00007f67bd2ebc11 rip:ffffffffc5ea3540
flutter输入框的剪切板问题
可以按照三方框架无法使用剪切板控件发邮件来开通ACL白名单 developer.huawei.com/consumer/cn…