flutter window 11 安装问题

该代码段是Flutter项目中用于验证Windows主机操作系统版本是否大于等于10的类。它已进行了修正,使用ver命令代替systeminfo,并解析输出以检查版本号。如果版本大于等于10,则验证成功;否则,提示无法确认版本信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Unable to confirm if installed Windows version is 10 or greater

flutter\packages\flutter_tools\lib\src\windows\windows_version_validator.dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:process/process.dart';

import '../base/io.dart';
import '../doctor_validator.dart';

// FIX #1 - Remove everything from line 10 to 20 in original source code.

/// Validator for supported Windows host machine operating system version.
class WindowsVersionValidator extends DoctorValidator {
  const WindowsVersionValidator({required ProcessManager processManager})
      : _processManager = processManager,
        super('Windows Version');

  final ProcessManager _processManager;

  @override
  Future<ValidationResult> validate() async {

// FIX #2 - Replace 'systeminfo' by 'ver' command
    final ProcessResult result =
        await _processManager.run(<String>['ver'], runInShell: true);

    if (result.exitCode != 0) {
      return const ValidationResult(
        ValidationType.missing,
        <ValidationMessage>[],
        statusInfo: 'Exit status from running `systeminfo` was unsuccessful',
      );
    }

    final String resultStdout = result.stdout as String;

// FIX #3 - Remove brackets from output
    final String resultAdjusted = resultStdout.replaceAll('[','').replaceAll(']','');

// FIX #4 - Split the output at spaces, and get Windows version at position 3.
//          Split again at dots and get the major version at position 0.
//          Cast the output to int.
    final int winver = int.parse(resultAdjusted.split(' ').elementAt(3).split('.').elementAt(0));

    // Use the string split method to extract the major version
    // and check against the [kUnsupportedVersions] list
    final ValidationType windowsVersionStatus;
    final String statusInfo;

// FIX #5 - Check if Windows major version is greater than 10.
//          Succeeds if true.
    if (winver >= 10) {
      windowsVersionStatus = ValidationType.installed;
      statusInfo = 'Installed version of Windows is version 10 or higher';
    } else {
      windowsVersionStatus = ValidationType.missing;
      statusInfo =
          'Unable to confirm if installed Windows version is 10 or greater';
    }

    return ValidationResult(
      windowsVersionStatus,
      const <ValidationMessage>[],
      statusInfo: statusInfo,
    );
  }
}
  1. cmdline-tools component is missing

android Studio\SDK manager\SDK Tools\Android SDK Command-line Tools(lastest) Not Installed

  1. Android license status unknown

Android Studio安装目\jbr 文件复制到 jre 目录

### 如何在 Flutter 中使用 `window_manager` 插件进行窗口管理 为了实现更复杂的桌面应用程序功能,在 Flutter 桌面应用开发中可以利用 `window_manager` 插件来控制窗口行为。此插件提供了多种方法用于调整窗口大小、位置以及状态。 #### 安装依赖项 首先需要在项目的 `pubspec.yaml` 文件里添加 `window_manager` 的依赖: ```yaml dependencies: flutter: sdk: flutter window_manager: ^0.2.0+1 ``` 接着执行命令安装新的包: ```bash flutter pub get ``` #### 初始化 WindowManager 为了让 `WindowManager` 正常工作,需初始化它。通常情况下是在主函数内完成这一步骤: ```dart import 'package:flutter/material.dart'; import 'package:window_manager/window_manager.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await windowManager.ensureInitialized(); runApp(MyApp()); } ``` #### 配置窗口属性 通过调用不同 API 方法来自定义窗口外观与行为。下面是一些常用设置的例子: ##### 设置最小化/最大化按钮可见性 ```dart await windowManager.setTitleBarStyle( TitleBarStyle.normal, // 或 hidden, hiddenWithDrag ); ``` ##### 修改初始尺寸和位置 ```dart await windowManager.setSize(Size(800, 600)); await windowManager.center(); // 居中显示 // 或者指定确切坐标 await windowManager.setPosition(Offset(x, y)); ``` ##### 控制是否允许用户改变窗口大小 ```dart await windowManager.setResizable(true); // 默认为 true ``` ##### 更改窗口标题文字 ```dart await windowManager.setTitle('My Custom Window Title'); ``` 以上操作均基于异步调用来确保界面流畅度不受影响[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值