本文环境:
官网链接:
前言
官网的Get Started 写的挺好的,中文网站的 也挺好,我这就不赘述了,
写这个主要是给自己单篇内快速回忆和整点偷懒脚本加速新机器配置用的,
总的来说咱这主要追求一个 快
本篇配置目标是搭配代理进行开发,不会涉及配置镜像,如果要配置镜像详见在中国网络环境下使用 Flutter | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
安装Flutter
下载SDK压缩包
现在的最新版是3.29.0,但是现在还没稳定,不建议用,这里是3.27.4的快捷链接 ,
在这里查适合国内环境的资源:
解压缩(略)
注意:
下面的配置要用到flutter SDK路径,以我的情况为例,我解压之后把SDK放到 S:\SDK\flutter 这个路径下,
打开这个路径,至少要能看到下面图里这么些个文件,大家应该是没什么差别,有可能版本变了文件有些变化,
但是如果连bin、dev、packages这几个都看不到,那肯定是找错路径了,
配置环境变量
注意
直接点击下载的脚本是GBK编码 ,如果你的系统设置了UTF-8编码直接运行会有乱码是正常的,
如果你使用了中文Windows镜像安装的Windows系统然后手动设置了UTF-8编码,
相信你看得懂我上面说的是什么意思,要怎么改,我就不多赘述了,至少提一下,知悉乱码原因
(Linux用户,就更懂了吧,都捣腾Linux了)
不会配置环境变量的可以看:Windows配置环境变量 | 柒柒の小碎步
Windows batch脚本
点击展开
(点击下载)env-auto-configure.bat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 :: f15c3ed2-3c16-4655-88fc-01ef694143b7 :: 2025-03-02-1-3.bat @echo off setlocal enabledelayedexpansion :: 是否启用颜色代码,1为启用,0和其他为不启用,默认为启用且交互中不再次设置 set enable_color_code=1set env_path_in_reg_of_user="HKCU\Environment" set env_path_in_reg_of_system="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" set target_env_path_in_reg=set MSG_1=:: 此脚本不期望手动指定的参数, :: 这一行是用于选择设置系统环境变量时,会请求管理员权限并传入跳转指令, :: 此跳转由这里执行 %1 %2 goto :input_env_type_option :user_env_type_preproc set target_env_path_in_reg="%env_path_in_reg_of_user%" set MSG_1=用户goto :main_proc :system_env_type_preproc mshta vbscript:createobject("shell.application" ).shellexecute("%~s0" ,"goto :system_env_type_preproc_inner" ,"" ,"runas" ,1)(window.close)&goto :eof :system_env_type_preproc_inner set target_env_path_in_reg="%env_path_in_reg_of_system%" set MSG_1=系统goto :main_proc :main_proc set /p flutter_path="请输入或粘贴你的flutter SDK路径:" echo .echo 将会对%MSG_1%环境变量覆盖写入FLUTTER_HOME,并在PATH中添加一些东西,echo 没有做取消功能,不想继续运行就Ctrl + C终止,继续就按点东西比如回车键echo .pause reg add "%target_env_path_in_reg:" =%" /v " FLUTTER_HOME" /t REG_EXPAND_SZ /d " %flutter_path%" /f call :add_to_env_path %%%%FLUTTER_HOME%%%%\bin call :print_green_line 设置完成 echo. echo 下面可能存在 值显示异常,通常是由异常的变量替换引起的,正常,这只是预览一下,实际生效情况还是去环境变量那看看的好 call :view_reg_var FLUTTER_HOME call :view_reg_var PATH pause goto :eof :input_env_type_option echo. echo 可用选项如下(一个数字) echo 1. 用户环境变量 echo 2. 系统环境变量 set /p env_type_option=请输入选项: if " %env_type_option%"==" 1" ( goto :user_env_type_preproc ) else if " %env_type_option%"==" 2" ( goto :system_env_type_preproc ) else ( call :print_red 输入错误,请重新输入 @REM pause goto :input_env_type_option ) :view_reg_var ::应传入的参数如下 :: 1: 要从注册表中查询的环境变量名 call :query_reg_save_to_var " %target_env_path_in_reg:"=%" "%~1" "temp_path_var" call :print_blue_line "从注册表%MSG_1%环境变量中读取到的 %~1 值为:" call :print_blue_line "%temp_path_var%" goto :eof :add_to_env_path ::应传入的参数如下 :: 1: 要添加到PATH的目录 call :query_reg_save_to_var "%target_env_path_in_reg:" =%" " PATH" " temp_path_var" reg add " %target_env_path_in_reg:"=%" /v "PATH" /t REG_EXPAND_SZ /d "!temp_path_var!;%~1" /fgoto :eof :query_reg_save_to_var ::应传入的参数如下 :: 1: 注册表路径 :: 2: 注册表键名 :: 3: 要把查到的值存入的变量名 :: 使用 for /f 循环解析输出 for /f "usebackq skip=2 delims=?" %%i in (`reg query "%~1" /v "%~2" `) do ( for /f "tokens=1,2,* delims= " %%a in ("%%i" ) do ( set "%~3=%%c" ) ) goto :eof :print_green if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [42;37;1m%~1[0m ) goto :eof :print_green_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [42;37;1m echo %~1[0m ) goto :eof :print_blue if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [44;37;1m%~1[0m ) goto :eof :print_blue_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [44;37;1m echo %~1[0m ) goto :eof :print_red if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [41;37;1m%~1[0m ) goto :eof :print_red_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [41;37;1m echo %~1[0m ) goto :eof endlocal
检查
配置好之后,打开一个新的终端,输入flutter --version,第一次运行的话要等一会儿是正常的,
然后如果能看到版本信息就说明上面的步骤弄好了,
看不到就再回去检查检查
配置Windows目标构建支持
官网文档看:Make Windows desktop apps | Flutter
这个没啥好配置的,Win下就是装Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 ,然后装负载,
然后运行flutter doctor检测,没乱改啥东西的话,装好了能自动检测到的
doctor结果应该像下面这样Visual Studio这行正常,(后面如果你那边不是生成工具是正常的,绿了就行,)
如果已经装好Visual Studio了的话,手动检查负载或者安装,就像下面这样
把使用C++的桌面开发 选上
配置Android目标构建支持
官网文档看:Make Android apps | Flutter
下载Android Studio:下载 Android Studio 和应用工具 - Android 开发者 | Android Developers
用不用这个做为使用的IDE都行,装这个主要是便于管理Android SDK,
安装过程中,如果不知道SDK默认安装文件夹位置的,或者要改安装位置的,
安装类型这一步选自定义 Custom 去看看,
然后装一些必要的工具
Windows batch脚本
点击展开
(点击下载)env-auto-configure.bat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 :: f15c3ed2-3c16-4655-88fc-01ef694143b7 :: 2025-03-02-1-4.bat @echo off setlocal enabledelayedexpansion :: 是否启用颜色代码,1为启用,0和其他为不启用,默认为启用且交互中不再次设置 set enable_color_code=1set env_path_in_reg_of_user="HKCU\Environment" set env_path_in_reg_of_system="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" set target_env_path_in_reg=set MSG_1=:: 此脚本不期望手动指定的参数, :: 这一行是用于选择设置系统环境变量时,会请求管理员权限并传入跳转指令, :: 此跳转由这里执行 %1 %2 goto :input_env_type_option :user_env_type_preproc set target_env_path_in_reg="%env_path_in_reg_of_user%" set MSG_1=用户goto :main_proc :system_env_type_preproc mshta vbscript:createobject("shell.application" ).shellexecute("%~s0" ,"goto :system_env_type_preproc_inner" ,"" ,"runas" ,1)(window.close)&goto :eof :system_env_type_preproc_inner set target_env_path_in_reg="%env_path_in_reg_of_system%" set MSG_1=系统goto :main_proc :main_proc set /p target_sdk_path="请输入或粘贴你的Android SDK路径:" echo .echo 将会对%MSG_1%环境变量覆盖写入Android SDK,并在PATH中添加一些东西,echo 没有做取消功能,不想继续运行就Ctrl + C终止,继续就按点东西比如回车键echo .pause reg add "%target_env_path_in_reg:" =%" /v " ANDROID_HOME" /t REG_EXPAND_SZ /d " %target_sdk_path%" /f call :add_to_env_path %%%%ANDROID_HOME%%%%\tools call :add_to_env_path %%%%ANDROID_HOME%%%%\tools\bin call :add_to_env_path %%%%ANDROID_HOME%%%%\platform-tools call :print_green_line 设置完成 echo. echo 下面可能存在 值显示异常,通常是由异常的变量替换引起的,正常,这只是预览一下,实际生效情况还是去环境变量那看看的好 call :view_reg_var ANDROID_HOME call :view_reg_var PATH pause goto :eof :input_env_type_option echo 请输入要设置的环境变量类型选项 :input_env_type_option_loop_inner echo. echo 可用选项如下(一个数字) echo 1 : 用户环境变量 echo 2 : 系统环境变量 set /p env_type_option=请输入选项: if " %env_type_option%"==" 1" ( goto :user_env_type_preproc ) else if " %env_type_option%"==" 2" ( goto :system_env_type_preproc ) else ( call :print_red 输入错误,请重新输入 @REM pause goto :input_env_type_option_loop_inner ) :view_reg_var ::应传入的参数如下 :: 1: 要从注册表中查询的环境变量名 call :query_reg_save_to_var " %target_env_path_in_reg:"=%" "%~1" "temp_path_var" call :print_blue_line "从注册表%MSG_1%环境变量中读取到的 %~1 值为:" call :print_blue_line "%temp_path_var%" goto :eof :add_to_env_path ::应传入的参数如下 :: 1: 要添加到PATH的目录 call :query_reg_save_to_var "%target_env_path_in_reg:" =%" " PATH" " temp_path_var" reg add " %target_env_path_in_reg:"=%" /v "PATH" /t REG_EXPAND_SZ /d "!temp_path_var!;%~1" /fgoto :eof :query_reg_save_to_var ::应传入的参数如下 :: 1: 注册表路径 :: 2: 注册表键名 :: 3: 要把查到的值存入的变量名 :: 使用 for /f 循环解析输出 for /f "usebackq skip=2 delims=?" %%i in (`reg query "%~1" /v "%~2" `) do ( for /f "tokens=1,2,* delims= " %%a in ("%%i" ) do ( set "%~3=%%c" ) ) goto :eof :print_green if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [42;37;1m%~1[0m ) goto :eof :print_green_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [42;37;1m echo %~1[0m ) goto :eof :print_blue if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [44;37;1m%~1[0m ) goto :eof :print_blue_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [44;37;1m echo %~1[0m ) goto :eof :print_red if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [41;37;1m%~1[0m ) goto :eof :print_red_line if not "%enable_color_code%" == "1" ( echo %~1 ) else ( echo [41;37;1m echo %~1[0m ) goto :eof endlocal
检查
很好的AK,使我的冰粥旋转
然后建个新例程,分别在windows运行和打包一个apk出来,
都成功了,环境搭建成功,fufu