美文网首页Flutter
Flutter aspectd (一)入门(1.22.2分支)

Flutter aspectd (一)入门(1.22.2分支)

作者: laomao_老毛 | 来源:发表于2021-04-30 15:31 被阅读0次

    下载flutter 源码

    我这里使用的是1.22.2,用的是fvm管理的包

    fvm install 1.22.2
    

    下载aspect源码

    git clone https://github.com.cnpmjs.org/XianyuTech/aspectd.git
    

    使用aspectd

    1. 切换到flutter的git目录
    cd ${path-for-git-flutter}
    
    1. 将aspectd源码中的git patch文件合并到源码工程中

    在上面切换的目录下执行:

    git apply --3way xxx/aspectD/0001-aspectD.path
    

    其中0001-aspectd.patch文件在aspectd源码中。

    1. 删除原有flutter sdk目录下的缓存文件
    rm bin/cache/flutter_tools.stamp
    
    1. 重新构建新的flutter编译工具:
    flutter doctor -v
    

    这个时候会重新生成flutter_tools.stamp文件

    运行aspectd项目

    想要运行aspectd项目,需要在aspectd_impl、example及根目录下执行pub get

    如果上面pub get没问题的话,就可以执行下面命令,让项目运行起来

    flutter run --debug --verbose
    

    踩坑

    aspectd源码的pubspec.yaml中指定的kernel为

    dependency_overrides:
      kernel:
        git:
          url: git@github.com:alibaba-flutter/sdk.git
          ref: stable/v1.22.2
          path: pkg/kernel
    
    

    但实际使用的时候,一直下载不下来,

    建议使用本地的。

    1. 下载阿里改造过的dart源码
    git clone https://github.com/XianyuTech/sdk.git
    

    这个如果能够直接成功可以直接看第二步,我是不成功的。因为太大,缓存不够

    先浅层clone,再fetch

    git clone https://github.com/XianyuTech/sdk.git --depth 1
    cd sdk
    git fetch --unshallow
    

    使用上面方式clone下来的,只有master分支,想要所有分支,再执行如下命令:

    git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
    git fetch -all
    

    2.切换dart源码aspectd项目中pubspec.yaml指定的ref上

    git checkout stable/v1.22.2
    

    3.在pubspec.yaml中指定为本地依赖

    dependency_overrides:
      kernel:
        path: /Users/wenxuemao/custom/flutter/sdk/pkg/kernel
    

    这个时候pub get没问题了,执行flutter run --debug --verbose就可以运行起来项目了。

    参考文章

    Flutter aspectd入门指引

    Flutter Aop方案之闲鱼AspectD(1)

    相关文章

      网友评论

        本文标题:Flutter aspectd (一)入门(1.22.2分支)

        本文链接:https://www.haomeiwen.com/subject/lwbnrltx.html