当前位置: 首页 > 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;如…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...