下載flutter 源碼
我這里使用的是1.22.2,用的是fvm管理的包
fvm install 1.22.2
下載aspect源碼
git clone https://github.com.cnpmjs.org/XianyuTech/aspectd.git
使用aspectd
- 切換到flutter的git目錄
cd ${path-for-git-flutter}
- 將aspectd源碼中的git patch文件合并到源碼工程中
在上面切換的目錄下執(zhí)行:
git apply --3way xxx/aspectD/0001-aspectD.path
其中0001-aspectd.patch文件在aspectd源碼中。
- 刪除原有flutter sdk目錄下的緩存文件
rm bin/cache/flutter_tools.stamp
- 重新構(gòu)建新的flutter編譯工具:
flutter doctor -v
這個時候會重新生成flutter_tools.stamp文件
運(yùn)行aspectd項目
想要運(yùn)行aspectd項目,需要在aspectd_impl、example及根目錄下執(zhí)行pub get
如果上面pub get沒問題的話,就可以執(zhí)行下面命令,讓項目運(yùn)行起來
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源碼
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分支,想要所有分支,再執(zhí)行如下命令:
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沒問題了,執(zhí)行flutter run --debug --verbose就可以運(yùn)行起來項目了。