flutter项目适配鸿蒙记录

1,355 阅读1分钟
{    "第一阶段成果": "完成环境搭建,在模拟器上跑起了计数器。感谢社区开发者们的付出",
     "第二阶段":"开始测试之前的纯flutter插件"
}

{
    "标题": "flutter项目适配鸿蒙",
    "背景": "已有纯flutter工程,flutter版本2.10.5 dart 2.16.2",
    "步骤": {
        "1、": "注册鸿蒙开发者账号",
        "2、下载IDE": {
            "当前版本": "DevEco Studio NEXT Developer Beta1",
            "下载地址": "https://developer.huawei.com/consumer/cn/download/"
        },
        "3、下载Tools": {
            "当前版本": "Command Line Tools for HarmonyOS NEXT Developer Beta1",
            "下载地址": "https://developer.huawei.com/consumer/cn/download/"
        },
        "4、下载flutter sdk": {
            "当前版本": "Command Line Tools for HarmonyOS NEXT Developer Beta1",
            "下载命令": "git clone -b dev https://gitcode.com/openharmony-sig/flutter_flutter.git ",
            "备注": "切记是dev分支;先设置gitcode账号"
        },
        "5、环境变量配置": 
        [
        "#鸿蒙fluttersdk更新地址",            
        "export FLUTTER_GIT_URL=https://gitcode.com/openharmony-sig/flutter_flutter.git ",
        "#ohpm",            
        "export TOOL_HOME=/Applications/DevEco-Studio.app/Contents",            
        "export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk",            
        "export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin",   
        "export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin",
        "export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin"
        ]
    },
    "结果": [
        "fvm flutter doctorDoctor summary (to see all details, run flutter doctor -v):",
        "[✓] Flutter (Channel dev, 3.7.12-ohos, on macOS 13.0 22A8381 darwin-arm64, locale zh-Hans-CN)",
        "[✓] HarmonyOS toolchain - develop for HarmonyOS devices",
        "[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc1)",
        "[✓] Xcode - develop for iOS and macOS (Xcode 14.2)",
        "[✓] Chrome - develop for the web",
        "[✓] Android Studio (version 2022.1)",
        "[✓] VS Code (version 1.90.2)",
        "[✓] Connected device (3 available)",
        "[✓] HTTP Host Availability",
        "• No issues found!"
    ]
}

测试项目中使用到的纯flutter插件在当前纯血鸿蒙要求的flutter3.7.12上的使用情况

**

**

1、easy_refresh:纯血鸿蒙目前固定flutter版本3.7.12,easy_refresh 3.4.0解决了scroll_behavior.dart里的问题,但是需要flutter3.22.0,是因为我们使用的flutter SDK的TargetPlatform枚举里有ohos,但是ScrollBehavior的buildScrollbar方法里没有,目前自己在修改下加个“default: return child;”即可

2、webview_flutter:4.6.0

webview_flutter:  
    git:    
    url: "https://gitcode.com/openharmony-sig/flutter_packages.git"    
    path: "packages/webview_flutter/webview_flutter"


3、flutter_local_notifications:暂未支持  社区预计时间 :2024/6/30
但是我找到gitcode.com/openharmony…

slotType 设置SERVICE_INFORMATION

4、path_provider: 2.1.0

  path_provider:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_packages.git"
      path: "packages/path_provider/path_provider"

5、shared_preferences/fluttertoast

  shared_preferences:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_packages.git"
      path: "packages/shared_preferences/shared_preferences"

  fluttertoast:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_fluttertoast.git"

6、sqflite

  sqflite:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_sqflite.git"
      path: "sqflite"