aspectd调试用脚本

aspectd自身也有一些尚未完善的地方,部分注解并不支持,比如对构造函数做一些注解生成。有一些问题,如:

1.构造函数带参数类
2.构造函数带泛型类
3.构造函数带const类型

这些就需要修改到aspectd的源码了,修改了源码又要重新生成一些中间产物。如果每次都手动去删除一些文件和目录就很繁琐。写了一个脚本,方便调试。如下:

#!/bin/bash
projectPath=/Users/local-admin/Documents/code
rm -rf $projectPath/load_module/flutter-host/aspectd_impl/.dart_tool
rm -rf $projectPath/load_module/flutter-host/flutter_host/.dart_tool
rm -rf $projectPath/load_module/flutter-foundation/flutter-aspectd/.dart_tool
rm -f $projectPath/load_module/flutter-foundation/flutter-aspectd/lib/src/flutter_frontend_server/frontend_server.dart.snapshot
cd $projectPath/load_module/flutter-host/flutter_host/
flutter clean
cd $projectPath/load_module/flutter-host/aspectd_impl/
flutter pub get
cd $projectPath/load_module/flutter-host/flutter_host/
# 日志导出到build.txt文件中查看
flutter build bundle &> build.txt

# 对host工程中flutter_build下的第一个文件app.dill进行dump

# 顺序获取/flutter_build下面所有的文件
cd $projectPath/load_module/flutter-host/flutter_host/.dart_tool/flutter_build/
dir=$(ls -lt ./ | awk '/^d/ {print $NF}')
# 循环每个文件
for i in $dir
do
    # 输出每个文件夹名,do里面不可为空,赋值语句也可。
    echo $i
done

# 将字符串转换成数组-根据空格
arr=(${dir//A/})
# 数组--输出数组最后一个元素
echo ${arr[${#arr[@]}-1]}
# 数组--进入第一个文件夹
echo ${arr[0]}
chmod +x $projectPath/load_module/flutter-host/flutter_host/.dart_tool/flutter_build/${arr[0]}/app.dill
dart /Users/local-admin/.pub-cache/git/sdk-e0932796a56a8de60c77923a69b98fdafd0d8db1/pkg/vm/bin/dump_kernel.dart $projectPath/load_module/flutter-host/flutter_host/.dart_tool/flutter_build/${arr[0]}/app.dill $projectPath/load_module/flutter-host/flutter_host/.dart_tool/flutter_build/${arr[0]}/app.dill.txt

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值