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

下載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文件合并到源碼工程中

在上面切換的目錄下執(zhí)行:

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

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

  1. 刪除原有flutter sdk目錄下的緩存文件
rm bin/cache/flutter_tools.stamp
  1. 重新構(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

但實際使用的時候,一直下載不下來,

建議使用本地的。

  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分支,想要所有分支,再執(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)行起來項目了。

參考文章

Flutter aspectd入門指引

Flutter Aop方案之閑魚AspectD(1)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容