当前位置: 首页 > news >正文

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环境变量
      在这里插入图片描述

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_URL
    • https://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官网安装的时看到配置路径就换成自己其他盘的路径即可&#xff0c;其他的一路下一步就ok安装完毕&#xff0c;运行打开缺少 android sdk 按照提示下载即可…...

postgresql 字符串 替换

postgresql 字符串 替换 在PostgreSQL中&#xff0c;可以使用replace()函数来替换字符串中的某个部分。该函数的语法如下&#xff1a; REPLACE(string text, from text, to text) 其中&#xff1a; string 是要进行替换操作的原始字符串。 from 是原始字符串中需要被替换掉的…...

如何强化学习神经网络

强化学习&#xff08;Reinforcement Learning, RL&#xff09;神经网络是一种通过奖励和惩罚机制来学习策略的方法&#xff0c;适用于各种复杂的决策问题。以下是强化学习神经网络的一些主要步骤和方法&#xff1a; 1. 了解基本概念 环境&#xff08;Environment&#xff09;…...

Hadoop未授权访问漏洞

Hadoop未授权访问漏洞 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;由于服务器直接在开放了Hadoop机器HDFS的50070web端口及部分默认服务端口&#xff0c;黑客可以通过命令行操作多个目录下的数据&#xff0c;如进行删除&#xff0c;下载&#xff0c;目…...

Python中json模块的编码和解码

在Python中&#xff0c;可以用json模块处理JSON的编码和解码问题。json的全程是 javascript object notation, 翻译一下就是javascritpt 对象表示法。json是一种轻量级的数据交换格式&#xff0c;容易阅读和编写&#xff0c;支持的数据类型有&#xff1a;字符串、数字、数组和对…...

【Linux】文件变身大作战:Linux下的文件重命名艺术

欢迎来到 CILMY23 的博客 &#x1f3c6;本篇主题为&#xff1a;文件变身大作战&#xff1a;Linux下的文件重命名艺术 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…...

字节的存储和字符的存储

字节的存储 内存中的存储 基本数据类型&#xff1a; 在Java中&#xff0c;byte 类型占用 1 个字节&#xff08;8 位&#xff09;。它的取值范围是从 -128 到 127。存储在内存中的 byte 数据可以直接操作&#xff0c;例如通过数组或变量访问。 数据结构&#xff1a; byte 数组…...

Markdown插入Base64格式的图片,无需图床,稳定保存

Markdown插入Base64格式的图片&#xff0c;无需图床&#xff0c;稳定保存 我是一个Markdown的爱好者&#xff0c;转存图片是MD经常出问题的地方&#xff0c;因为MD不像其他富文本编辑器&#xff0c;将图片内嵌到文件中&#xff0c;而是用链接的形式引用&#xff0c;或网络链接…...

weblogic 连接gaussdb测试数据源是否联通

文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…...

如何成为全域运营商?掌握这2种申请方式就够了!

随着全域概念的兴起&#xff0c;全域运营商的职业前景和收益空间逐渐显现&#xff0c;并迅速成为了热门创业赛道中的一份子&#xff0c;连带着如何成为全域运营商等入局方式相关话题也成为了众多创业者热议的焦点。 不过&#xff0c;从市场现状来看&#xff0c;作为涵盖公域和私…...

@ConfigurationProperties加在方法上

ConfigurationProperties注解通常用于将外部配置文件&#xff08;如application.properties或application.yml&#xff09;中的属性映射到Java类中。它通常加在类上&#xff0c;但也可以加在方法上。加在方法上时&#xff0c;通常与Bean注解一起使用&#xff0c;以便将配置属性…...

使用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…...

合并重叠的区间

这一题不能用差分数组&#xff0c;因为 [1 , 4] [5, 6] 这个就会被合并&#xff0c;正确的做法就是先排序 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 /*** 定时任务类&#xff0c;定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…...

RCE和php文件上传

一、远程命令执行&#xff08;RCE&#xff09; RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中&#xff0c;如PHP。 RCE漏洞原理 PHP中的一些函数可以执行命令或代码&#xff0c;但如果对这些函数的输入未加限制&a…...

nextjs 实现TodoList网页应用案例

参考&#xff1a; https://nextjs.org/ Next.js 是用于网络的一种 React 框架。一些世界上最大的公司在使用它&#xff0c;它能够借助 React 组件的力量让您创建高质量的网络应用程序。 1、创建项目&#xff1a; 另外注意&#xff1a;pages与app路由存在冲突&#xff0c;如果有…...

U盘格式化了怎么恢复数据?教你U盘恢复妙招

U盘作为便携式存储设备&#xff0c;在我们的日常生活和工作中发挥着重要作用。然而&#xff0c;有时由于操作失误或其他原因&#xff0c;我们可能会格式化U盘&#xff0c;从而导致数据丢失。当遭遇这种情况时&#xff0c;很多人会感到焦虑和困惑。不过&#xff0c;幸运的是&…...

化工厂室内外4G/5G+蓝牙+GPS/北斗RTK人员定位系统解决方案

化工厂是高风险场所&#xff0c;含有大量有毒、易燃、易爆、易腐蚀等化学物品&#xff0c;并且环境复杂、设备繁多&#xff0c;一旦出现人为疏忽或者违规操作很容易引发重大安全事故&#xff0c;因此对化工厂员工、外来访客进行科学合理地管控&#xff0c;提升化工厂管理人员管…...

【知识跨境电商API接口丨python数分实战】国际电商平台用户成交转化分析

今天这篇文章将给大家介绍国际电商平台用户成交转化分析案例。 01 初步思路 问题已经明确 GMV的下降&#xff0c;可能出在用户下单成交环节。 这里需要明确GMV下降是今年与去年相比吗&#xff1f;明确GMV下降到底如何判断出来的&#xff1f;对比的对象是什么&#xff1f;如…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...