当前位置: 首页 > 工具软件 > AspectD > 使用案例 >

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

澹台景辉
2023-12-01

下载flutter 源码

我这里使用的是1.22.2,用的是fvm管理的包,你可以使用其他方式

fvm install 1.22.2

下载aspect源码

这里最好是使用git下载,方便切换分支(不要直接下载zip)

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

也可以使用sourceTree

安装aspectd

  1. 切换到flutter的git目录

就是我们上面下载下来的源码,点击进去有个.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

但实际使用的时候,一直下载不下来,网上说自己把dart-lang源码下载下来,指定对应分支就可以,可都没有对应分支。

再仔细看上面的依赖,发现阿里用的是自己改造过的dart源码,而且demo中的源码地址贴错了,它们项目改目录了,这个对应的源码没改,(alibaba-flutter目录改为了XianyuTech)正确地址是:

git@github.com:XianyuTech/sdk.git

即使你换了正确地址,还是很难下载下来,还是建议使用本地的。

  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)

 类似资料: