美文网首页
2023-02-09 flutter命令执行流程

2023-02-09 flutter命令执行流程

作者: 我是小胡胡分胡 | 来源:发表于2023-02-08 17:19 被阅读0次

    研究flutter xxx和dart xxx区别。

    • flutter xxx 命令最终转化为:
    exec 
    
    /Volumes/xx/myshared/opt/fvm/versions/3.0.5/bin/cache/dart-sdk/bin/dart 
    
    --disable-dart-dev 
    
    
    --packages=/Volumes/xx/myshared/opt/fvm/versions/3.0.5/packages/flutter_tools/.packages  
    
    
    /Volumes/xx/myshared/opt/fvm/versions/3.0.5/bin/cache/flutter_tools.snapshot 
    
    
    --version
    

    简化为

    dart --disable-dart-dev --packages=.packages  flutter_tools.snapshot --version
    
    • dart 命令转化为:
    exec /Volumes/xx/myshared/opt/fvm/versions/3.0.5/bin/cache/dart-sdk/bin/dart --version
    

    简化为
    dart --version

    可用:
    flutter packages pub publish
    flutter pub publish
    dart pub publish

    不可以用:
    dart packages pub publish

    flutter的各种命令:

    0 = {map entry} "help" -> [HelpCommand]
    1 = {map entry} "analyze" -> [AnalyzeCommand]
    2 = {map entry} "assemble" -> [AssembleCommand]
    3 = {map entry} "attach" -> [AttachCommand]
    4 = {map entry} "build" -> [BuildCommand]
    5 = {map entry} "channel" -> [ChannelCommand]
    6 = {map entry} "clean" -> [CleanCommand]
    7 = {map entry} "config" -> [ConfigCommand]
    8 = {map entry} "configure" -> [ConfigCommand]
    9 = {map entry} "custom-devices" -> [CustomDevicesCommand]
    10 = {map entry} "create" -> [CreateCommand]
    11 = {map entry} "daemon" -> [DaemonCommand]
    12 = {map entry} "debug-adapter" -> [DebugAdapterCommand]
    13 = {map entry} "debug_adapter" -> [DebugAdapterCommand]
    14 = {map entry} "devices" -> [DevicesCommand]
    15 = {map entry} "doctor" -> [DoctorCommand]
    16 = {map entry} "downgrade" -> [DowngradeCommand]
    17 = {map entry} "drive" -> [DriveCommand]
    18 = {map entry} "driver" -> [DriveCommand]
    19 = {map entry} "emulators" -> [EmulatorsCommand]
    20 = {map entry} "emulator" -> [EmulatorsCommand]
    21 = {map entry} "format" -> [FormatCommand]
    22 = {map entry} "dartfmt" -> [FormatCommand]
    23 = {map entry} "generate" -> [GenerateCommand]
    24 = {map entry} "gen-l10n" -> [GenerateLocalizationsCommand]
    25 = {map entry} "install" -> [InstallCommand]
    26 = {map entry} "logs" -> [LogsCommand]
    27 = {map entry} "make-host-app-editable" -> [MakeHostAppEditableCommand]
    28 = {map entry} "pub" -> [PackagesCommand]
    29 = {map entry} "packages" -> [PackagesCommand]
    30 = {map entry} "precache" -> [PrecacheCommand]
    31 = {map entry} "run" -> [RunCommand]
    32 = {map entry} "screenshot" -> [ScreenshotCommand]
    33 = {map entry} "pic" -> [ScreenshotCommand]
    34 = {map entry} "bash-completion" -> [ShellCompletionCommand]
    35 = {map entry} "zsh-completion" -> [ShellCompletionCommand]
    36 = {map entry} "test" -> [TestCommand]
    37 = {map entry} "upgrade" -> [UpgradeCommand]
    38 = {map entry} "symbolize" -> [SymbolizeCommand]
    39 = {map entry} "ide-config" -> [IdeConfigCommand]
    40 = {map entry} "update-packages" -> [UpdatePackagesCommand]
    41 = {map entry} "upgrade-packages" -> [UpdatePackagesCommand]

    flutter pub publish:
    command = {PackagesForwardCommand}

    flutter packages pub publish:
    command = {PackagesPassthroughCommand}

    /Volumes/xxx/myshared/opt/fvm/current/bin/cache/dart-sdk/bin/dart

    flutter 命令最终会转化为
    flutter_tools.dart->
    process_manager.dart

      @override
      bool canRun(dynamic executable, {String? workingDirectory}) {
        return _runSync(
          () => _delegate.canRun(executable, workingDirectory: workingDirectory),
          platform: _platform,
          failureMessage: 'Flutter failed to run "$executable"',
          posixPermissionSuggestion: 'Try running:\n'
              '  sudo chown -R \$(whoami) $executable && chmod u+rx $executable',
        );
      }
    
    • flutter doctor
    flutter命令.png
    • flutter pub publish
    • flutter packages pub publish

    步骤1:


    image.png

    步骤2:


    image.png
    • flutter packages pub run build_runner build

    步骤1:


    image.png

    步骤2:


    image.png
    名称 对应类 说明
    create CreateCommand 创建新的Flutter项目
    build BuildCommand Flutter构建命令
    install InstallCommand 安装Flutter应用到已连接设备
    run RunCommand 运行Flutter应用于已连接设备
    packages PackagesCommand 管理Flutter包的命令
    devices DevicesCommand 列出所有已连接的设备
    emulators EmulatorsCommand 列出,启动,创建模拟器
    attach AttachCommand 附加到正在运行的应用程序
    trace TraceCommand 开始和停止跟踪正在运行的Flutter应用程序
    logs LogsCommand 显示Flutter应用运行中的log
    doctor DoctorCommand 显示关于已安装工具的信息
    upgrade UpgradeCommand 升级Flutter
    clean CleanCommand 删除build/和.dart_tool/ 目录
    analyze AnalyzeCommand 分析项目Dart代码
    format FormatCommand 格式化一个或多个dart文件
    config ConfigCommand 配置Flutter settings
    drive DriveCommand 为当前项目运行Flutter Driver测试
    test TestCommand 为当前项目运行Flutter 单元测试

    相关文章

      网友评论

          本文标题:2023-02-09 flutter命令执行流程

          本文链接:https://www.haomeiwen.com/subject/vdbqkdtx.html