Flutter安装与安装问题记录

安装

当flutter添加进path后运行flutter doctor查看是否缺少其他环境,建议每安装一个环境重新查询一次。

步骤
  1. 下载flutter
  2. 将flutter/bin加入用户环境变量path
  3. 下载Android Studio
  4. 配置Android Studio环境,参考文章:https://www.jianshu.com/p/332205db002c
  5. 新建环境变量ANDROID_HOME,值为SDK根目录
  6. 添加X:\Android\SDK\tools、X:\Android\SDK\platform-tools至用户下的path内,再次运行flutter doctor检测
  7. 若出现错误信息,可在下面问题表中找到解决方案
  8. 如果环境正常则结束,我这提示安装VsC++运行库,解决方案参考下面
  9. 至此全部安装完毕,可能还会存在[!] HTTP Host Availability,解决方案见下面,若还报其他HTTP连接失败,无视即可
问题
1.Android toolchain - develop for Android devices

X Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
flutter config --android-sdk to update to that location.

添加X:\Android\SDK\tools、X:\Android\SDK\platform-tools至用户下的path内,再次运行flutter doctor检测。


2.找不到Android Studio

运行命令:flutter config --android-studio-dir “路径”


3. cmdline-tools component is missing

Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.

打开Android Studio→SDK Manager→Android SDK→SDK Tools安装Android SDK Command-line Tools(latest),然后关闭Android Studio并重新flutter doctor


4. Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

根据提示,在命令行执行flutter doctor --android-licenses
需要输入的时候,全部输入y即可


5.Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the “Desktop development with C++” workload, and include these components

https://github.com/flutter/flutter/issues/44184

打开Visual Sudio Installer找到使用C++的桌面开发,安装此环境,然后关闭vs重新执行flutter doctor


6.[!] HTTP Host Availability

1、找到flutter sdk的文件目录,打开flutter\packages\flutter_tools\lib\src\http_host_validator.dart

2、将https://maven.google.com/ 修改为https://dl.google.com/dl/android/maven2/

3、关闭cmd命令窗口,重新打开cmd窗口

4、去到flutter\bin目录,删除cache文件夹

5、在cmd命令窗口重新运行flutter doctor,问题解决。


7.run卡在了Running Gradle task ‘assembleDebug’

https://blog.csdn.net/jinglinggg/article/details/105383270

或者翻墙


开发

引入外部包package

在这上面找包https://pub.dev/packages/english_words,比如english_words:

1.找到依赖项选项:

dependencies:
  flutter:
    sdk: flutter


  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  english_words: ^4.0.0 #添加外部依赖

2.点击右上角的pub get

3.在其他位置引入lib/main.dart,引入english_words

import 'package:english_words/english_words.dart'

4.正常使用


prefer constant constructors警告

有几种方法可以消除此prefer const with constant constructors警告。

您可以在文件顶部添加忽略行注释。如果要从文件中删除警告。

// ignore_for_file: prefer_const_constructors
import 'dart:async';
import 'package:flutter/material.dart';

否则,如果要删除该特定行的警告,请在行首添加忽略行注释。

AppBar(        
    // ignore: prefer_const_constructors
    title:Text('Register'),
  ),

这是禁用规则的最简单方法。

另一个是您可以简单地从analysis_options.yaml文件中删除以下行。

include: package:flutter_lints/flutter.yaml

但最好保留那条线并在analysis_options.yaml文件中添加一些规则(这是我根据我的研究得出的个人意见)。

为了避免prefer const with constant constructors警告,将此规则添加prefer_const_constructors : falseanalysis_options.yaml文件中。

linter:
  rules:
    prefer_const_constructors : false
    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule

还有其他规则可以帮助您使代码变得更好。如果需要,您可以添加以下一些规则(来自pedantic)。

linter:
  rules:
    - always_declare_return_types
    - always_require_non_null_named_parameters
    - annotate_overrides
    - avoid_init_to_null
    - avoid_null_checks_in_equality_operators
    - avoid_relative_lib_imports
    - avoid_return_types_on_setters
    - avoid_shadowing_type_parameters
    - avoid_single_cascade_in_expression_statements
    - avoid_types_as_parameter_names
    - await_only_futures
    - camel_case_extensions
    - curly_braces_in_flow_control_structures
    - empty_catches
    - empty_constructor_bodies
    - library_names
    - library_prefixes
    - no_duplicate_case_values
    - null_closures
    - omit_local_variable_types
    - prefer_adjacent_string_concatenation
    - prefer_collection_literals
    - prefer_conditional_assignment
    - prefer_contains
    - prefer_equal_for_default_values
    - prefer_final_fields
    - prefer_for_elements_to_map_fromIterable
    - prefer_generic_function_type_aliases
    - prefer_if_null_operators
    - prefer_inlined_adds
    - prefer_is_empty
    - prefer_is_not_empty
    - prefer_iterable_whereType
    - prefer_single_quotes
    - prefer_spread_collections
    - recursive_getters
    - slash_for_doc_comments
    - sort_child_properties_last
    - type_init_formals
    - unawaited_futures
    - unnecessary_brace_in_string_interps
    - unnecessary_const
    - unnecessary_getters_setters
    - unnecessary_new
    - unnecessary_null_in_if_null_operators
    - unnecessary_this
    - unrelated_type_equality_checks
    - unsafe_html
    - use_full_hex_values_for_flutter_colors
    - use_function_type_syntax_for_parameters
    - use_rethrow_when_possible
    - valid_regexps

一个简单的解决方案是在正确的位置添加单词“const”:所以替换:

appBar: AppBar(title: Text('Orange Valley CAA')),

appBar: AppBar(title: const Text('Orange Valley CAA')),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值