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

news2024/11/25 13:01:49

一、引言

        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 概览

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux--stdin、stdout、stderr的文件描述符fd

stdin的文件描述符是 &#xff1a;0 stdout的文件描述符是 &#xff1a;1 stderr的文件描述符是 &#xff1a;2 证明&#xff1a; #include <stdio.h>int main() {printf("stdin: %d\n",stdin->_fileno);printf("stdout: %d\n",stdout->…

instsrv 注册 windows 系统服务

注册步骤 Win r 打开 cmd 窗口执行 instsrv.exe myserver C:\Windows\System32\srvany.exe 示例&#xff1a; instsrv.exe nginx C:\Windows\System32\srvany.exe win r 运行 regedit 进入注册表&#xff0c;依次找到以下路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\S…

如何应用MySQL高阶语句(子查询)

目录 一、SQL高阶语句 常用查询 关键字排序 升序降序 按区域进行查找 分组统计 limit限制显示结果条目 As别名设置 使用场景 嵌套克隆复制表结构 二、通配符 三、子查询 insert子查询 update子查询 delete子查询 Exists检测 一、SQL高阶语句 常用查询 对于MyS…

非50欧系统阻抗的S参数测试

1. S参数依赖于系统阻抗 S参数的定义需要约定一个系统阻抗。同一个微波电路&#xff0c;在不同系统阻抗下的S参数是不同的。例如&#xff0c;50欧电阻在50欧系统阻抗下的S11为零&#xff0c;是没有反射的匹配状态&#xff1b;但50欧电阻在75欧系统阻抗下的S11不为零&#xff0…

Puppeteer 使用教程-实战篇(爬取图片、视频、音频,页面数据)

目录 前言 一、 获取实体店铺信息 二、 获取全国各省市县地图json数据 三、 cookies 四、 获取网络图片、视频资源 五、 自动化测试 总结 前言 续上篇&#xff0c;我们简单讲述一下puppeteer常见的应用场景&#xff0c;包括静态页面数据获取&#xff0c;网络请求获取截取…

详解CPU的态

目录 1.CPU的工作过程 2.寄存器 3.CPU的上下文 4.系统调用 5.CPU的态 1.CPU的工作过程 CPU要执行的指令的地址存在寄存器中&#xff0c;指令存放在内存中&#xff0c;而CPU本质上就是一个去内存中根据地址取指令&#xff0c;然后执行指令的硬件。 举一个例子&#xff1a…

【雕爷学编程】Arduino动手做(22)——8X8 LED点阵MAX7219屏4

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#xff0c;这…

vscode使用技巧

在使用vscode编辑代码时&#xff0c;在settings.json中增加配置项可以配置回车换行缩进补齐方式&#xff1a; 第一种&#xff1a;使用空格补齐&#xff1a; "editor.insertSpaces":true 按下回车换行后&#xff1a; 第二种&#xff1a;使用tab键补齐&#xff1a; …

【java】对ArrayList中的元素进行排序的几种方式

对ArrayList中的元素进行排序的几种方式 一、使用Collections工具类 1、对基本类型排序 通过Collections.sort()对基本类型排序默认是以升序排序 // 1.Collections.sort()默认按照升序排序 List<Integer> integerList new ArrayList<>(); Collections.addAll(…

每日一刷——替换空格

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 我的思路&#xff1a;从左向右循环遍历字符串&#xff0c;定义一个空串。如果遇到空格&#xf…

Ubuntu18.04 拯救者R9-7945HX 4060 配置ZED 2i代双目相机驱动+ORBSLAM2

AMD的拯救者网卡很拉&#xff0c;研究了很久除了换网卡可以解决网络问题&#xff0c;其它没找到合适的办法&#xff0c;这里我用手机USB共享网络的方式勉强上网&#xff0c;这里不得不说华为的信号桥很好用。 之前在1050ti的电脑上布置过&#xff0c;很顺利&#xff0c;这个新…

SDUT 2023 summer team contest(for 22) - 1-Gym - 102220

B - Balanced Diet 题意&#xff1a;这题题意有点难搞啊&#xff0c;就是有n个物品&#xff0c;一个有m种&#xff0c;对于第 i 种物品如果你要买它就至少买 l[i]个&#xff0c;然后就是给你n行&#xff0c;每行两个数&#xff0c;ai,bi,表示这个糖果类型为bi&#xff0c;价值为…

STM32学习笔记(十三)丨USART通用同步/异步收发器(串口外设的基本使用丨串口发送数据、串口发送+接收数据)

本篇文章包含的内容 一、STM32的USART外设1.1 STM32的USAER外设简介1.2 USART外设的结构和工作原理1.3 串口通信数据帧1.4 起始位侦测和USART的噪声判断机制1.5 波特率发生器 二、串口发送和接收数据包2.1 HEX数据包2.2 文本数据包2.3 固定包长HEX数据包接收2.4 可变包长文本数…

chrome edge svg转png

chrome edge svg转png 生成SVG blockdiag Live Preview 导出png 截图&#xff1a; 左上角截取屏幕截图

零售EDI:True Value EDI 需求分析

True Value 是一家享有盛誉的卖场&#xff0c;经营范围广泛&#xff1a;包括家居用品、工具、园艺用品等。据悉&#xff0c;True Value 已将 EDI 纳入其供应商评级中。 True Value 将 EDI 作为对其供应商的一项要求&#xff0c;这意味着如果你希望与 True Value 建立合作关系&a…

uniapp 小程序 联想地址搜索

效果图&#xff1a; qqmap-wx-jssdk.js下载 <template><view class"items"><view class"items-text">地址&#xff08;必填&#xff09;</view><input type"text" placeholder"搜索地址" maxlength&quo…

SQL-每日一题【585.2016年的投资】

题目 Insurance 表&#xff1a; 请你编写一个 SQL 查询&#xff0c;报告 2016 年 (tiv_2016) 所有满足下述条件的投保人的投保金额之和&#xff1a; 他在 2015 年的投保额 (tiv_2015) 至少跟一个其他投保人在 2015 年的投保额相同。他所在的城市必须与其他投保人都不同&#…

Revit中如何添加剖面?快速实现剖面图

一、Revit中如何添加剖面&#xff1f; 除了标高绘制所得到的楼层平面视图和立面视图之外&#xff0c;还可以添加剖面视图&#xff0c;这样可以得到任意位置一个竖向的剖切面&#xff0c;例如在楼梯细节处理中&#xff0c;楼梯处于建筑物内部&#xff0c;立面也看不到整个楼梯的…

pdf怎么翻译?有这个工具就够了

pdf怎么翻译&#xff1f;PDF文档一直是我们日常生活和工作中不可避免的一部分。但是&#xff0c;当我们需要翻译PDF文件时&#xff0c;我们往往会感到无助&#xff0c;因为PDF文档不能像其他文本文件一样直接复制和粘贴。那么今天就给大家介绍一款可以帮助我们进行PDF翻译的工具…

Pytorch框架中各文件的作用

新人在接触Pytorch以及深度学习等领域时&#xff0c;面对一个开源的代码可能无从下手&#xff0c;一个Pytorch框架相对比较负责&#xff0c;文件也多&#xff0c;其中的逻辑不免让初学者感到不知所措&#xff0c;下面大致梳理一下Pytorch各文件夹的作用和逻辑&#xff0c;其中的…