Win10环境下Android Studio中运行Flutter HelloWorld项目

一、引言

        Android Studio是Android的官方IDE(Integrated Development Environment)。它专为Android而打造,可以加快开发速度,为Android设备构建最高品质的应用。

        Flutter是Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过Dart语言开发App,实现一套代码同时运行在iOS和Android平台。

        Dart是一种针对客户优化的语言,可在任何平台上开发快速的应用程序。其目标是为多平台开发提供最高效的编程语言,并为应用程序框架搭配了灵活的运行时执行平台。通常来说,编程语言会包含一些技术壁垒,即语言在设计中的抉择决定了其功能和优势。 Dart的语言设计针对客户端开发,它优先考虑多平台(Web,移动端和桌面端) 上的开发 (亚秒级的状态热重载) 和高质量生产环境体验。Dart也是Flutter的基础。 Dart作为Flutter应用程序的编程语言,为驱动应用运行提供了环境,同时Dart还支持许多核心的开发任务,  例如格式化,分析和代码测试。

二、基础环境

        需要安装Android Studio和Flutter,Android Studio中的模拟器可不装、而选用真机。

        Android开发工具下载:https://www.androiddevtools.cn/

        安装Android Studio可查看这篇博客(仅供参考):https://blog.csdn.net/tao_789456/article/details/118093106。

        真机运行APP(测试Android Studio开发环境,仅供参考):https://blog.csdn.net/mfysss/article/details/128104855

        安装Flutter可查看这篇博客(仅供参考):https://zhuanlan.zhihu.com/p/628479851(基本上是下载、解压、设置环境变量就可以了)。

三、我的环境

        Win10版本:10.0.19042

        Android Studio版本

        真机环境:Meizu Pro 6 Plus(Android7.0.0)

        Flutter版本

        Flutter 3.3.10 • channel stable • https://github.com/flutter/flutter.git
        Framework • revision 135454af32 (7 months ago) • 2022-12-15 07:36:55 -0800
        Engine • revision 3316dd8728
        Tools • Dart 2.18.6 • DevTools 2.15.0

四、遇到的问题

        1、安装Android Studio的时候始终无法安装手机模拟器,大概原因是电脑的CPU不支持VT-x。装不了就不逞强了(因为这不是我个人的电脑,而且电脑桌面也是云桌面,捣鼓不好弄),然后我选用了真机运行。

        2、安装Flutter的时候,出现flutter相关的命令没反应、不运行、卡住的问题。除了上述的现象,如果你贸然在Android Studio中创建Flutter项目也会显示不正常(例如,没有Project Type、Android language、iOS language可以让你选),或者create项目的时候被卡住。解决方案:根据博客https://blog.csdn.net/huanggan08/article/details/88641198的指引将Flutter的安装位置进行了迁移,例如我一开始是安装在C盘的“Program Files”(切忌,带空格的安装路径是有可能导致这个问题的主要原因),然后我迁移到了C盘的根目录。

        3、在创建Flutter项目的时候出现“Invalid module name:'XxxxXxxx' - must be a valid Dart package name(lower_case_with_underscores)”。解决方案:使用小写字母或下划线的组合命名项目。

        4、Flutter App Run 卡在 Running Gradle task 'assembleDebug'。解决方案,切换Flutter的源(source,主要是flutter\packages\flutter_tools\gradle中的flutter.gradle),具体Flutter项目中的build.gradle(即android/build.gradle文件)我这边不改也可以。我主要参考了这篇博客来解决我遇到的问题:https://www.bilibili.com/read/cv22572083。具体方法:

修改Flutter SDK中packages\flutter_tools\gradle\flutter.gradle文件:

将buildscript.repositories下面两行代码注释掉
//google()
//mavenCentral()
改成
maven {
   allowInsecureProtocol = true
   url 'https://maven.aliyun.com/repository/google'
}
maven {
   allowInsecureProtocol = true
   url 'https://maven.aliyun.com/repository/jcenter'
}
maven {
   allowInsecureProtocol = true
   url 'http://maven.aliyun.com/nexus/content/groups/public'
}

在修改过程中请注意空格字符应与文件保持一致。

        5、在运行flutter doctor的时候,它提示我没有安装Visual Studio。其实这个Visual Studio不用安装也可以开发Flutter项目,具体装不装看个人吧。

五、在Android Studio中运行Flutter HelloWorld项目

        创建一个Flutter项目:

        选择Flutter SDK路径(这一步很重要,路径不能包含空格,前面在安装Flutter的时候就要保证),然后next:

        命名项目(注意小写),选择Android和iOS的语言,然后点Finish。如果没有出现下面这个界面,说明Flutter没安装对,需要自己再检查调整一下。

        写代码,或者直接运行:

        然后连接电脑的Meizu Pro 6 Plus手机就会提示安装,安装后打开该app,手机屏幕上就会显示HelloWorld Times: 0,如果你不断地点“+”号图标,数字就会一直增加。

        好啦,博客快要写完了,大家有问题留言区见。

六、参考资料

        1、Android Studio 功能  |  Android 开发者  |  Android Developers

        2、Flutter介绍

        3、Dart 概览

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/43427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STL】list用法试做_底层实现

目录 一,list 使用 1. list 文档介绍 2. 常见接口 1. list中的sort 2. list sort 与 vector sort效率对比 3. 关于迭代器失效 4. clear 二,list 实现 1.框架搭建 2. 迭代器类——核心框架 3. operator-> 实现 4. const——迭代…

【计算机网络 01】说在前面 信息服务 因特网 ISP RFC技术文档 边缘与核心 交换方式 定义与分类 网络性能指标 计算机网络体系结构 章节小结

第一章--概述 说在前面1.1 计算机网络 信息时代作用1.2 因特网概述1.3 三种交换方式1.4 计算机网络 定义与分类1.5 计算机网络的性能指标1.6 计算机网络体系结构1 常见的计算机网络体系结构2 计算机网络体系结构分层的必要性3 计算机网络体系结构分层思想举例4 计算机网络体系结…

RuntimeError: DataLoader worker (pid 2105929) is killed by signal: Killed.

PyTorch DataLoader num_workers Test - 加快速度 可以利用PyTorch DataLoader类的多进程功能来加快神经网络训练过程。 加快训练进程 为了加快训练过程,我们将利用DataLoader类的num_workers可选属性。 num_workers属性告诉DataLoader实例要使用多少个子进程进…

23.多项式与非多项式曲线拟合对比(matlab程序)

1.简述 拟合标准: (1)原始数据向量与拟合向量之间的距离最小,该距离的度量一般使用误差平方和表示,即均方误差:R||Q-Y||22 (2)当均方误差最小时,说明构造的拟合向量与原始向量最为接近,这种曲线拟合的方法…

git commit -m时候没有保存package.json等文件

项目场景: 提示:git add . 和 git commit -m "保存" 操作,没有保存package.json等文件。 解决方案: 1.确保 package.json 文件没有被列在 .gitignore 文件中。打开 .gitignore 文件,检查是否有类似于 packa…

论文工具——ChatGPT结合PlotNeuralNet快速出神经网络深度学习模型图

文章目录 引言正文PlotNeuralNet安装使用使用python进行编辑使用latex进行编辑 样例利用chatGPT使用chatGPT生成Latex代码利用chatGPT生成对应的python代码 总结引用 引言 介绍如何安装PlotNeuralNet工具,并结合chatGPT减少学习成本,快速出图。将按照软…

4.2 Bootstrap HTML编码规范

文章目录 Bootstrap HTML编码规范语法HTML5 doctype语言属性IE 兼容模式字符编码引入 CSS 和 JavaScript 文件HTML5 spec links 实用为王属性顺序布尔(boolean)型属性减少标签的数量JavaScript 生成的标签 Bootstrap HTML编码规范 语法 用两个空格来代替…

通过 EXPLAIN 分析 SQL 的执行计划

通过 EXPLAIN 分析 SQL 的执行计划 EXPLAIN SELECTleave_station_area_id,ROUND( ( SUM( station_dist ) / 1000 ) / ( SUM( station_travel_time ) / 60 ), 2 ) evnPeakAvgSpeedFROMV3_SHIFT_ANALYSISWHERESTAT_DATE DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )AND LEAVE_STA…

NetSuite财务报表General Ledger Report的缺陷及改造案例

本周有用户提到一个特殊的业务场景,比较有代表性,在此分享。 问题 “如果在一张JE中,某个科目既有借又有贷,金额相同。那么在General Ledger Report中此JE的借贷都显示为0。这与事实不符,所以是不对的。” JE 155&a…

vue3-element-plus,控制表格多选的数量

1. 需求描述 控制表格的多选&#xff0c;最多只能选择5条数据&#xff0c;并且其他项禁用 2. 需求描述 <!-- selection-change 当选择项发生变化时会触发该事件--><template><el-tableref"multipleTableRef"v-loading"loading":data"…

[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题

由于解决问题之后, 才写的博客, 所以没有图片记录. 尽量描述清楚一些 今天写代码的时候, 突然发现 文件里用了#define定义宏之后, coc.nvim的coc-clangd补全就用不了 :checkhealth了一下, 发现nvim忘记支持python3了 尝试pip3 install neovim的时候, 发现会警告然后安装失败.…

网络安全(黑客)自学路线笔记

一、什么是黑客&#xff1f; 黑客泛指IT技术主攻渗透窃取攻击技术的电脑高手&#xff0c;现阶段黑客所需要掌握的远远不止这些。 二、为什么要学习黑客技术&#xff1f; 其实&#xff0c;网络信息空间安全已经成为海陆空之外的第四大战场&#xff0c;除了国与国之间的博弈&am…

4.数据类型

JS数据类型整体分为两大类: ➢基本数据类型 ➢引用数据类型 4.1数据类型-数字类型(Number) 即我们数学中学习到的数字&#xff0c;可以是整数、小数、正数、负数。 let age 18 //整数 let price 88.99 //小数JavaScript中的正数、负数、小数等统一称为数字类型 注意…

【测试开发】Python+Django实现接口测试工具

PythonDjango接口自动化 引言&#xff1a; 最近被几个公司实习生整自闭了&#xff0c;没有基础&#xff0c;想学自动化又不知道怎么去学&#xff0c;没有方向没有头绪&#xff0c;说白了其实就是学习过程中没有成就感&#xff0c;所以学不下去。出于各种花里胡哨的原因&#xf…

关于 Qt中的QString内容存在\u0000使用QChart(0x00)消除 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131860574 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

解密动态内存管理的奥秘(含内存4个函数)

目录 一.为什么存在动态内存管理 二.动态内存函数的介绍 1. malloc函数&#xff08;memory alloc 内存开辟&#xff09; 函数介绍&#xff1a; malloc函数使用举例代码&#xff1a; 2.free&#xff08;释放&#xff09; 函数介绍&#xff1a; 代码的示例&#xff1a…

【Linux】初识多线程深入理解进程地址空间

目录 1 多线程的引入 1.1 相关概念 1.2 Linux操作系统理解多线程 特殊的进程结构 创建子进程的过程 创建多线程 进程与线程之间的关系 1.3 对多线程结构的管理 Windows管理多线程 Linux管理多线程 1.4 理解多线程与多进程相比&#xff0c;调度的成本更低 2 深入理…

MacOS上安装Portainer

Portainer介绍 Portainer 是一个很方便的 Docker 可视化管理工具。主要的功能包括: 管理 Docker 主机,可以添加和删除 Docker 主机管理容器,可以启动、停止、删除等容器管理镜像,可以搜索、拉取、删除镜像管理卷,可以查看、删除卷管理网络,可以创建 Docker 网络管理用户和角色…

OpenCv之车辆统计项目

目录 一、加载视频 二、去除背景 三、通过形态学识别车辆 四、对车辆统计 一、加载视频 代码如下: import cv2 import numpy as np import matplotlib.pyplot as plt# 视频加载 cap cv2.VideoCapture(2.mp4)# 循环读取视频帧 while True:ret,frame cap.read()if ret Tr…

DOS命令(windows)

DOS命令&#xff08;windows&#xff09; 目录 1. 打开命令提示符。2. 切换至根。3. 当前路径。4. 切换至上级路径。5. 查看当前目录。6. 查看文件内容。7. 删除文件。8. 进入长文件夹名时缩写。9. 复制文件。10. 移动文件。 1. 打开命令提示符。 命令&#xff1a;winR 输入&a…