WIN11下的Dart SDK源码项目本地部署踩坑记录

本地部署Dart SDK源项目这部分时遇到了一些坑,因为我是WIN11平台(许多大佬都是推荐Ubuntu或者Kali作为逆向环境,据说坑会少一些,但是我比较菜,以前没咋用Linux,暂时也懒得折腾了),所以想记录一下这些坑。

安装、使用depot_tools的踩坑记录

  1. 需要设置下git、cmd以及boto的代理,否则在首次执行gclientgclient sync命令时会在cipd相关流程时阻塞,因为cipd相关流程没有进度提示,所以在这里卡死时没有提示,也算是个大坑,或者遇到...NOTICE: You have PROXY values set in...这样的提示。

    首先是设置git的代理:

    ## <proxy_url> example: http://127.0.0.1:1080
    git config --global proxy.http <proxy_url>
    git config --global proxy.https <proxy_url>
    
    

    然后是cmd的代理,可以在用户变量中添加HTTP_PROXY和HTTPS_PROXY,或者设置一次性的环境变量:

    set HTTP_PROXY=<proxy_url>
    set HTTPS_PROXY=<proxy_url>
    
    

    最后是boto的代理设置,在某个目录下创建一个文本文件,比如 D:\boto.cfg,文件内容示例如下:

    [Boto]
    proxy=http:://127.0.0.1
    proxy=1080
    
    

    然后设置环境变量NO_AUTH_BOTO_CONFIG,值就是这个文件的路径。

  2. 在执行fetch dart或在其目录下通过gclient sync进行同步时,可能会遇到 Failed to fetch file gs://chromium-clang-format/c8455d43d052eb79f65d046c6b02c169857b963b ... for xx\xx\xx.ext之类的错误,可以将gs://替换为https://storage.googleapis.com/然后下载到目标目录,并改名为相应的名称(xx.ext),再执行gclient sync即可。

通过Dart SDK源码项目进行构建的踩坑记录

  1. 首先执行命令需要通过python启动,但是python版本必须是dpot_tools下的,所以dpot_tools的环境变量(Path环境变量中)的位置必须在你安装的其它Python版本的环境变量之前(如果有安装过其它版本的Python的话)。具体的命令,比如: ./tools/build.py -m product -a simarm gen_snapshot要改成python ./tools/build.py -m product -a simarm gen_snapshotpython3 ./tools/build.py -m product -a simarm gen_snapshot,是用python还是python3可以打开build.py通过第一行确定。
  2. 关于WIN10 SDK,如果安装WIN10 SDK的目录不确定,可以建一个C++的工程,包含#include "virtdisk.h", 再跳转过去即可确定位置。然后需要新建一个环境变量——WINDOWSSDKDIR, 其值为WIN10 SDK的路径。另外,需要注意的是Dart SDK依赖的WIN10 SDK版本需要包含WinDbg(Debugging Tools for Windows),通过VS installer安装WIN10 SDK可能不包含这个工具,此时需要到官网下载WIN10 SDK然后安装,安装选项中确定有WinDbg选项,安装完后,确认下SDK目录下是否存在Debuggers文件夹。
  3. 通过build.py执行构建时,如果你不是Chromium的开发者,那么应该没有使用goma服务,那么构建命令要加上--no-goma参数,否则会进行goma鉴权,从而构建失败。
  4. 在使用python3 ./tools/build.py -m product -a simarm gen_snapshot构建gen_snapshot工具时,如果你是64位的系统,那么需要将simarm改为simarm64否则会构建失败。

后续钻研过程中,有新的进展和心得我可能也会分享一下。现在还是个麻瓜,文中若有不对的地方希望各位给我指出,也希望有志同道合的朋友一起学习、交流。

最后

如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
img
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。

欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓

扫描二维码关注公众号,回复: 15854930 查看本文章

PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题
图片

猜你喜欢

转载自blog.csdn.net/weixin_43440181/article/details/131925303