flutter开发环境搭建与android studio 安装配置
flutter开发环境搭建与android studio 安装配置
安装 android studio
- 下载安装 Android Studio 开发工具 Android Studio官网
- 安装的时看到配置路径就换成自己其他盘的路径即可,其他的一路下一步就ok
- 安装完毕,运行打开缺少 android sdk 按照提示下载即可,但是网络原因可能长时间卡着不动,那么就需要执行下面的一步了

无法下载 android SDk 配置服务器代理ip
- 网站检测 https://ping.chinaz.com/
- 在当前网站中输入 dl.google.com

- 查看检测结果,根据自己所在地区或近距离ip以及可以成功的响应ip

配置hosts文件 C:\Windows\System32\drivers\etc\hosts

- 前面是上面复制的ip地址后面是固定域名
220.181.174.225 dl.google.com

- ping dl.google.com 检测是否可以响应

- 出现所需要的配置



- 下载完毕

- 可以看到sdk安装到了c盘下 不要学我自己换个其他盘路径(安装到了C盘也不用慌后面可以改自己搜一下百度我帮你交过钱了)

flutter sdk下载以及环境配置
flutter官网下载sdk

-
下载并解压
-
-
系统变量配置
-
FLUTTER_HOME=D:\work\work-Software\flutter


-
检查 flutter sdk是否安装成功 新建控制台输入
flutter

flutter doctor 开发环境诊断与搭建
- 当前自己电脑flutter环境存在什么问题依次解决即可,没有直接跳过,本文未有的报错可以上百度搜索我帮你付过钱了
- 当前电脑配置诊断
flutter doctor- 此处 flutter sdk安装成功 但是有警告,因为在此之前安装了 dart的SDK,需要清除配置的dart环境变量

- 此处 flutter sdk安装成功 但是有警告,因为在此之前安装了 dart的SDK,需要清除配置的dart环境变量
cmdline-tools component is missing cmdline工具组件丢失
- 此处 Android工具链还有问题
- 解决:

Android license status unknown Android许可证状态未知
- 解决:输入命令后出现很多协议每个都选择 y即可

Windows Version (Unable to confirm if installed Windows version is 10 or greater) 报错

- 找到当前文件进行修改 flutter_windows_3.7.5-stable\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;@overrideFuture<ValidationResult> validate() async {// FIX #2 - Replace 'systeminfo' by 'ver' commandfinal 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 outputfinal 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] listfinal 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,);}
}
- 删除文件 flutter_windows_3.7.5-stable\flutter\bin\cache\flutter_tools.stamp
- 重新检测
Android toolchain - develop for Android devices 报错
- 配置你自己存放sdk的位置: flutter config --android-sdk D:\Android\SDK
Android toolchain - develop for Android devices (Android SDK version 34.0.0) 报错
- 下载 Android SDK Command-line Tools (latest)

- 执行
flutter doctor --android-licenses
Visual Studio - develop for Windows 报错
Visual Studio not installed; this is necessary for Windows development.Visual Studio未安装;这对于Windows开发是必要的- 这个就不管了目前没有开发pc应用端的需求
- 如果你有需求可以看我的这篇文章:flutter windows 应用开发相关配置
JAVA 环境配置
- 这个没写呢自己上百度搜一下我帮你付过钱了
创建一个空项目
- 第一次创建项目会自动下载 Gradle 下载需要一些时间
- 可以通过 android studio 进行创建
- 或者使用命令进行创建
flutter create projectname

- 选择flutter sdk 版本

- 填写项目名称 以及项目存放路径 最重要的是选择需要的运行的环境

- 下载依赖

打包 android 安装包
- 通过 android studio 进行打包
- 或者使用命令进行打包
flutter build apk||flutter build apk --debug- 正式包位置
\build\app\outputs\flutter-apk\xxx.apk - 测试包位置
\build\app\outputs\flutter-apk\app-debug.apk

- 正式包位置
- 打包成功

模拟器的使用
创建模拟器



模拟器启动出现问题 (没有出现的直接跳过)
- 报错详情 等待设备时出错:等待仿真器上线300秒后超时
Timed out after 300seconds waiting foremulator to come online.

- 参考大佬解决方案:https://stackoverflow.com/questions/36675654/error-while-waiting-for-device-time-out-after-300seconds-waiting-for-emulator-t
- 问题原因:
- 1.首先排除了网络原因,我用本地网络,而且使用了魔法,依然无效
- 2.系统问题,系统没有开启虚拟服务

- 查看自己电脑是否开启了 Hyper-V 没有开启则需要手动开启
- 报错详情:模拟器运行终止
The emulator process for AVD Pixel 3a XL API 26 has terminated.
参考大佬解决方案:https://blog.csdn.net/qq_55773476/article/details/124665613
我的确是C盘爆了导致的问题(已解决)

使用安卓模拟器运行 flutter 项目
- 使用android studio 界面运行 flutter

- 使用命令运行
flutter devices查看在线设备

flutter run -d emulator-5554运行到 emulator-5554 模拟器flutter run -dall运行到 当前展示的所有端
在下载flutter项目使用的依赖插件时下载超时 配置flutter镜像 解决

- 将flutter镜像配置到系统环境变量中 (不推荐设置临时环境变量)
PUB_HOSTED_URLhttps://pub.flutter-io.cn

- FLUTTER_STORAGE_BASE_URL
- https://storage.flutter-io.cn

flutter项目在VScode上进行开发
- 必备插件


android studio 开发flutter 项目 插件推荐 (我一般用vscode进行开发 android studio 运行代码)
- flutter 和 dart

- flutter doctor 在此进行检查

adb命令无法使用 (可以忽略不用)

- 配置环境变量




-
成功

-
在android编辑器中端中使用 abd命令出现问题

关闭编辑器在重新打开

相关文章:
flutter开发环境搭建与android studio 安装配置
flutter开发环境搭建与android studio 安装配置 安装 android studio 下载安装 Android Studio 开发工具 Android Studio官网安装的时看到配置路径就换成自己其他盘的路径即可,其他的一路下一步就ok安装完毕,运行打开缺少 android sdk 按照提示下载即可…...
postgresql 字符串 替换
postgresql 字符串 替换 在PostgreSQL中,可以使用replace()函数来替换字符串中的某个部分。该函数的语法如下: REPLACE(string text, from text, to text) 其中: string 是要进行替换操作的原始字符串。 from 是原始字符串中需要被替换掉的…...
如何强化学习神经网络
强化学习(Reinforcement Learning, RL)神经网络是一种通过奖励和惩罚机制来学习策略的方法,适用于各种复杂的决策问题。以下是强化学习神经网络的一些主要步骤和方法: 1. 了解基本概念 环境(Environment)…...
Hadoop未授权访问漏洞
Hadoop未授权访问漏洞 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,由于服务器直接在开放了Hadoop机器HDFS的50070web端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目…...
Python中json模块的编码和解码
在Python中,可以用json模块处理JSON的编码和解码问题。json的全程是 javascript object notation, 翻译一下就是javascritpt 对象表示法。json是一种轻量级的数据交换格式,容易阅读和编写,支持的数据类型有:字符串、数字、数组和对…...
【Linux】文件变身大作战:Linux下的文件重命名艺术
欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…...
字节的存储和字符的存储
字节的存储 内存中的存储 基本数据类型: 在Java中,byte 类型占用 1 个字节(8 位)。它的取值范围是从 -128 到 127。存储在内存中的 byte 数据可以直接操作,例如通过数组或变量访问。 数据结构: byte 数组…...
Markdown插入Base64格式的图片,无需图床,稳定保存
Markdown插入Base64格式的图片,无需图床,稳定保存 我是一个Markdown的爱好者,转存图片是MD经常出问题的地方,因为MD不像其他富文本编辑器,将图片内嵌到文件中,而是用链接的形式引用,或网络链接…...
weblogic 连接gaussdb测试数据源是否联通
文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…...
如何成为全域运营商?掌握这2种申请方式就够了!
随着全域概念的兴起,全域运营商的职业前景和收益空间逐渐显现,并迅速成为了热门创业赛道中的一份子,连带着如何成为全域运营商等入局方式相关话题也成为了众多创业者热议的焦点。 不过,从市场现状来看,作为涵盖公域和私…...
@ConfigurationProperties加在方法上
ConfigurationProperties注解通常用于将外部配置文件(如application.properties或application.yml)中的属性映射到Java类中。它通常加在类上,但也可以加在方法上。加在方法上时,通常与Bean注解一起使用,以便将配置属性…...
使用CUBEMX配置的USB大容量存储设备主机库获取LUN数量的不严谨代码纠正
最近在使用usb主机库驱动U盘直接进行扇区读写。 发现MSC库中获取LUN相关代码有问题 代码如下 其中 status USBH_MSC_BOT_REQ_GetMaxLUN(phost, (uint8_t *)(void *)&MSC_Handle->max_lun); MSC_Handle->max_lun (MSC_Handle->max_lun > MAX_SUPPORTED_L…...
合并重叠的区间
这一题不能用差分数组,因为 [1 , 4] [5, 6] 这个就会被合并,正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…...
docker和运维
创建服务 docker service create --name order --network my-net -p 8080:8080 -d xxx 加入swarm集群 docker swarm join --token xxx 更新结点名字为mysql docker node update --label-add servermysql ecs-82ec-0003 创建MySQL服务 docker service create --name mysql --con…...
苍穹外面day13(day10)---订单状态定时处理、来单提醒和客户催单
Spring Task 同学们可以看我这篇文章 Spring Task初学-CSDN博客 订单状态定时处理 新建OrderTask /*** 定时任务类,定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…...
RCE和php文件上传
一、远程命令执行(RCE) RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中,如PHP。 RCE漏洞原理 PHP中的一些函数可以执行命令或代码,但如果对这些函数的输入未加限制&a…...
nextjs 实现TodoList网页应用案例
参考: https://nextjs.org/ Next.js 是用于网络的一种 React 框架。一些世界上最大的公司在使用它,它能够借助 React 组件的力量让您创建高质量的网络应用程序。 1、创建项目: 另外注意:pages与app路由存在冲突,如果有…...
U盘格式化了怎么恢复数据?教你U盘恢复妙招
U盘作为便携式存储设备,在我们的日常生活和工作中发挥着重要作用。然而,有时由于操作失误或其他原因,我们可能会格式化U盘,从而导致数据丢失。当遭遇这种情况时,很多人会感到焦虑和困惑。不过,幸运的是&…...
化工厂室内外4G/5G+蓝牙+GPS/北斗RTK人员定位系统解决方案
化工厂是高风险场所,含有大量有毒、易燃、易爆、易腐蚀等化学物品,并且环境复杂、设备繁多,一旦出现人为疏忽或者违规操作很容易引发重大安全事故,因此对化工厂员工、外来访客进行科学合理地管控,提升化工厂管理人员管…...
【知识跨境电商API接口丨python数分实战】国际电商平台用户成交转化分析
今天这篇文章将给大家介绍国际电商平台用户成交转化分析案例。 01 初步思路 问题已经明确 GMV的下降,可能出在用户下单成交环节。 这里需要明确GMV下降是今年与去年相比吗?明确GMV下降到底如何判断出来的?对比的对象是什么?如…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...
【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法
使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
