当前位置: 首页 > news >正文

专业网站建设企业网站制作seo 网站关键词

专业网站建设企业网站制作,seo 网站关键词,简历在线编辑免费,wordpress换主题报错综述 Flutter从架构上来说有3部分#xff1a;用Dart写的Framework层#xff0c;面向开发者用Java/Kotlin写的Embdder层(For Android#xff0c;iOS是OC/Swift)#xff0c;纯Flutter App不需要关心用C写的Engine层#xff0c;提供Dart运行环境和底层绘制能力针对每个部分用Dart写的Framework层面向开发者用Java/Kotlin写的Embdder层(For AndroidiOS是OC/Swift)纯Flutter App不需要关心用C写的Engine层提供Dart运行环境和底层绘制能力针对每个部分对应的源码阅读环境不同调试方法也不同。对于阅读环境最重要的是能够正确地完成调用/定义的跳转。对于调试环境最重要的是能够设置断点单步执行。Framework环境配置 Framework的环境设置比较简单。源码阅读Framework的代码在 https://github.com/flutter/flutter 下面直接Clone下来。亲测安装了Flutter插件的Android Studio是最好的阅读工具直接打开./packages/flutter 目录然后flutter pub get即可。这一步可能报错主要是一些的版本冲突按照信息解决即可。源码调试通过Flutter Acttach按钮即可开始调试但是如果要调试启动部分的Dart代码用Debug而不是Run来启动程序Embedder环境配置 Embedder的环境稍微复杂一点。源码阅读Embedder的代码在engine的./shell/platform下面tree -L 1.├── BUILD.gn├── android├── common├── config.gni├── darwin├── embedder├── fuchsia├── glfw├── linux└── windows用AS直接打开android目录即可打开后会发现代码都无法解析对这样就没法跳转了首先把根目录设置为Source类型这时候只剩androidx无法解析了:发现旁边一个目录已经声明了依赖于是按照提示建立一个local.properties文件指出本地sdk路径即可然后执行Gradle命令拉取更新后来查看文档发现其实另外一个目录已经有这些依赖了直接在工程设置页面添加一个classpath即可../third_party/android_embedding_dependencies/这个目录是在engine外buildroot下的应该是之前gclient sync的时候就解析build.gradle拉下来的。源码调试如果在打开Flutter的工程打开Andorid的Activity是解析错误的需要以android作为根目录单独打开然后通过Run/Debug按钮再次启动即可这里单独打开工程无需担心如何集成Fluttergradle脚本已经搞定了。Engine环境配置 Engine的配置是最复杂的。源码阅读把gn工具在src/out 目录生成的compile_commands.json文件移到src/flutter目录下然后用CLion打开这个文件就可以正确索引Engine的C代码了。该文件是预编译生成的索引其他编辑器也可以支持当然用CLion是最方便的。源码调试官方提供了gdb的调试方法但是没有文档按照代码注释的文档也无法运行成功一直报下面的错误Could not find platform independent libraries Could not find platform dependent libraries Consider setting $PYTHONHOME to [:]ImportError: No module named site看到网上有人已经在用lldb调试了于是也按照这个思路成功了首先是把Android SDK的lldb-server push到设备建立一个信道通过run-as绕过权限问题# 注意换成自己的包名adb push lldb-server /data/local/tmp/lldb-serveradb shell run-as com.example.flutter_demo \cp -F /data/local/tmp/lldb-server /data/data/com.example.flutter_demo/lldb-serveradb shell run-as com.example.flutter_demo \chmod ax /data/data/com.example.flutter_demo/lldb-serveradb shell run-as com.example.flutter_demo sh -c /data/data/com.example.flutter_demo/lldb-server platform --server --listen unix-abstract:///data/data/com.example.flutter_demo/debug.socket通过以上几步已经建立可以调试的通道了然后启动lldbattach到指定进程(通过进程id)然后添加符号表adb shell pidof com.example.flutter_demolldb(下面是lldb环境)(lldb) platform select remote-android(lldb) process attach -p 25382(lldb) add-dsym ~/WorkProject/flutter_source_code/src/out/android_debug_unopt_arm64/libflutter.so之前就注意到构建目录下的这个so非常大打包的so不过10M这个接近300M应该是存在大量调试信息。这里有两个坑lldb进去之后进程会挂起必须用c/continue来恢复不然无法触发逻辑也就无法触发断点必须在System.loadLibrary之后才能添加符号表否则失败如果还是失败就把以上流程重试一遍如此便可以开始调试了下面演示在帧刷新位置设置断点然后触发总结 以上便是Flutter源码阅读/调试环境的搭建欲善其事先利其器后面就要开始真刀真枪撸源码了。参考 engine/flutter_gdb at master · flutter/engineDebugging the engine · flutter/flutter WikiDebugging Flutter apps - FlutterDebugging Flutter apps programmatically - FlutterUsing an OEM debugger - Flutter如何调试Android Native FrameworkFlutter Engine C 源码调试初探Android 调试桥 (adb)  |  Android 开发者  |  Android Developers
http://www.pierceye.com/news/532685/

相关文章:

  • 没有后台的网站怎么做排名网页设计学校
  • 江苏网站建设哪家快点外贸商城网站系统
  • 菠菜网站做首存wordpress 警告
  • 无锡好的网站建设公司网站公司做的网站被攻击
  • 建设银行官方网站下载安装淘宝官网首页登录入口电脑
  • 玩具外贸网站扬中论坛全部帖子
  • 网站搭建规划建设网站方案ppt
  • 手机上哪个网站免费wordpress空间
  • 网站改版上线西安网站群搭建
  • 百度竞价培训青岛网站建设和优化
  • 网站建设 收费明细wordpress 动漫 主题下载
  • 物流网站怎么做推广wordpress插件ERP
  • 网站开发市场价手机改ip地址软件免费
  • 上海网站建设zj kt网站开发网络公司
  • 郑州平台网站建设福田欧曼图片
  • 企业网站策划应该怎么做杭州萧山网站建设
  • 南昌网站建设如何网站建设综合训练的实验目的
  • 连锁酒店网站建设软件开发分为哪几个步骤
  • 网站订单模板怎么可以自己做网站被百度收到
  • 网上做物理题赚钱的网站肥城住房和城乡建设局网站
  • 傻瓜式网站源码比较好的网站建设品牌升级
  • 买东西的网站德阳机械加工网
  • 企业网站建设的基本标准是广告公司运作模式
  • 做推广网站的文章电动汽车排名前十名
  • 宜州网站建设服务网页生成长图 iphone
  • 网站关键词seo费用广告设计教学大纲
  • 网站开发视频 百度云自己做网站卖东西
  • 二级网站建设费用品牌广告投放
  • 西宁做网站君博认同门户网站建设实施方案
  • 外贸公司做网站该去哪里找萝岗手机网站建设