在AndroidStudio创建Flutter项目并运行到模拟器

news2025/1/6 19:13:08

1.Flutter简介        

        Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。

        官网:

Flutter中文网 官网

2.安装AndroidStudio并下载Flutter插件

        AndroidStudio安装方法可以参考这篇文章:2023最新版Android studio安装入门教程(非常详细)从零基础入门到精通,看完这一篇就够了-CSDN博客

我的安装AndroidSDK地址保存在D:\PubData\Android\SDK。如下图所示:

        在AndroidStudio开发工具中File>Settings>Plugins中搜索Flutter安装。第一次安装Flutter会提示安装Dart插件,点击Install按钮。最后重启IDE使插件生效。

      查看到安装好了Flutter和Dart。   

 3.Flutter SDK安装

        官网地址:

Archive | Flutter

        根据自己的环境下载最新稳定版本(Stable channel),当前最新版是3.19.6 。

        下载完成后,解压到某一位置,D:\PubData\flutter_windows_3.19.2-stable

4.设置环境变量

         设置系统环境变量:

        添加用户环境变量的Path:

     设置完成后,在cmd命令行执行flutter doctor来检查flutter环境是否正常。如果有问题会显示红色的X,根据具体情况自行解决,再进行检查。如下图中的X问题的解决方法:

4.1问题1—缺少安装插件 cmdline-tools component is missing

        描述:

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.

         解决办法:根据路径Settings>Languages&frameworks>SDK Tools>Android SDK Command-line Tools(latest)勾选点Apply按钮安装。

4.2问题2Android license status unknown.

        描述:

    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.

        解决办法: 

        执行 flutter doctor --android-licenses ,如果报错版本问题一般是Android Studio自带了jdk版本与JAVA_HOME配置的jdk版本冲突了,可以检查 JAVA_HOME 环境变量,将路径设置为D:\\Android Studio\\jre 再执行 flutter doctor --android-licenses 并同意各种协议。

4.2问题3 Network resources网络资源访问超时

        描述:

[!] Network resources
    X A network error occurred while checking "https://maven.google.com/": 信号灯超时时间已到

    X A network error occurred while checking "https://github.com/": 信号灯超时时间已到

        解决办法:按如下步骤修改

         a.修改flutter安装路径下packages\flutter_tools\lib\src\路径下的http_host_validator.dart文件中的kMaven配置:

 const String kMaven = 'https://maven.aliyun.com/repository/google/';

        b.删除flutter安装目录/bin/cache 文件夹

        c.重新执行flutter doctor 

5.Android 开发环境设置

 5.1 创建android模拟器

在菜单 Tools > Device Manager 点击 Create device 创建设备 。

 默认提供了一些设备,我这里选择一个pixel 3a.

 选择镜像并下载,建议选择 x86 或 x86_64,点击finish创建模拟器。

 点击运行,效果如下:

5.2创建Flutter项目

         在 Android Studio 打开 File > New > New Flutter Project,选择SDK路径:

         点击Next,填写项目名称,配置Android和ios语言,点击 Create:

 报错提示Projectname的命名方式不对,我改为my_test_app后就可以了,如下是创建好的项目:

选择安卓模拟器,发现是灰色的,点run按钮,提示:not applicable for the "main.dart" configuration,解决办法,在Project Structure中要配置SDK。如下配置后,重启生效:

运行报错:

 换成默认的jdk试下:

         经过一段长时间的等待,终于可以在模拟器上看到运行的程序了。

console窗口的信息如下: 

Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...
Checking the license for package Android SDK Tools in D:\PubData\Android\SDK\licenses
License for package Android SDK Tools accepted.
Preparing "Install Android SDK Tools (revision: 26.1.1)".
"Install Android SDK Tools (revision: 26.1.1)" ready.
Installing Android SDK Tools in D:\PubData\Android\SDK\tools
"Install Android SDK Tools (revision: 26.1.1)" complete.
"Install Android SDK Tools (revision: 26.1.1)" finished.
Checking the license for package Android SDK Build-Tools 30.0.3 in D:\PubData\Android\SDK\licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in D:\PubData\Android\SDK\build-tools\30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app-debug.apk...
Debug service listening on ws://127.0.0.1:64507/QBYNZVjlvMs=/ws
Syncing files to device sdk gphone64 x86 64...

         至此,在Androidstudio上创建Flutter项目成功。

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

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

相关文章

如何提升制造设备文件汇集的可靠性和安全性?

制造设备文件汇集通常指的是将与制造设备相关的各种文档和资料进行整理和归档的过程。这些文件可能包括但不限于: 生产数据:包括生产计划、订单信息、生产进度等。 设计文件:如CAD图纸、设计蓝图、产品模型等。 工艺参数:用于指…

Django后台项目开发实战五

完成两个功能: HR 可以维护候选人信息面试官可以录入面试反馈 第五阶段 创建 interview 应用,实现候选人面试评估表的增删改功能,并且按照页面分组来展示不同的内容,如候选人基础信息,一面,二面的面试结…

如何判断第三方软件测试公司是否具有资质

在软件开发的过程中,软件测试是确保软件质量、稳定性和用户体验的关键环节。许多企业选择将软件测试工作交给专业的第三方软件测试公司来完成,以确保测试的准确性和公正性。但是,如何判断一个第三方软件测试公司是否具有资质呢?以…

第11章 数据库技术(第一部分)

一、数据库技术术语 (一)术语 1、数据 数据描述事物的符号描述一个对象所用的标识,可以文字、图形、图像、语言等等 2、信息 现实世界对事物状态变化的反馈。可感知、可存储、可加工、可再生。数据是信息的表现形式和载体,信…

基于肤色模型的人脸识别FPGA实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 matlab2022a的测试结果如下: vivado2019.2的仿真结果如下: 将数据导入到matlab中, 系统的RTL结构图如下图所示…

Guitar Pro8中文最新免费版吉他编曲学习软件下载

Guitar Pro 8是一款专业的吉他编曲学习软件,支持多种乐器。具体来说,它支持所有的4至8弦的弹拨乐器,包括但不限于吉他、贝斯、班卓琴、曼陀铃等。此外,它还支持鼓、钢琴、尤克里里等乐器。因此,无论是初学者还是高手&a…

数据挖掘之基于K近邻算法的原油和纳斯达克股票数据预测分析

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当今日益复杂的金融市场中,准确地预测原油价格和纳斯达克股票市场的走势对于投资者、政…

基于Spring Boot的校园博客系统设计与实现

基于Spring Boot的校园博客系统设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统功能界面图,在系统首页可以查看首页、文…

【再探】设计模式—抽象工厂及建造者模式

抽象工厂模式和建造者模式都属于创建型模式。两者都能创建对应的对象,而创建者模式更侧重于创建复杂对象,将对象的创建过程封装起来,让客户端不需要知道对象的内部细节。 1 抽象工厂模式 需求: 在使用工厂方法模式时&#xff0…

Gateway Predicate断言(谓词)

是什么 Spring Cloud Gateway匹配路由作为Spring WebFlux HandlerMapping基础设施的一部分。 Spring Cloud Gateway包含许多内置的路由谓词工厂。 所有这些谓词都匹配HTTP请求的不同属性。 您可以使用逻辑 and 语句来联合收割机组合多个路由谓词工厂。 Predicate就是为了实现一…

git 配置相关

问题一:ssh-keygen -t ed25519 -C "Gitee SSH Key" 这个命令中的 ed25519 字符是什么意思? ssh-keygen 是一个用于生成SSH密钥的工具,SSH(Secure Shell)是一种网络协议,用于加密方式远程登录和其…

【JAVA进阶篇教学】第九篇:MyBatis-Plus用法介绍

博主打算从0-1讲解下java进阶篇教学,今天教学第九篇:MyBatis-Plus用法介绍。 在 MyBatis-Plus 3.5.0 中,LambdaQueryWrapper支持多种条件构造方式,除了等于(eq)、不等于(ne)、大于&a…

SQL dialect is not configured. Apache Cassandra matches best.没有配置SQL方言 如何处理

我这里是MySQL语言,所以我设置MySQL dialect 写个记录,之后更换全局SQL语言再换 下图是设置

Vue通过下拉框选择字典值,并将对应的label以及value值提交到后端

产品品种从字典中获取 产品性质也是从字典中获取 字典当中的保存 dict_type表 dict_data表 在表单提交的方法中 1.因为做的产品性质是多选,它会以数组的方式提交,所以需要先将Json格式转变为String JSON.stringify(this.form.nature) 2.提交表单&…

汽车制造业安全事故频发,如何才能安全进行设计图纸文件外发?

汽车制造业产业链长,关联度高,汽车制造上游行业主要为钢铁、化工等行业,下游主要为个人消 费、基建、客运和军事等。在汽车制造的整个生命周期中,企业与上下游供应商、合作商之间有频繁、密切的数据交换,企业需要将设计…

大模型公开课-大模型的语言解码游戏学习总结

在当今快速发展的人工智能领域,深度学习作为其中的一项关键技术,正引领着科技的新潮流。而对于初学者来说,了解大型语言模型的解码游戏,对于理解深度学习的基本概念至关重要。本篇博客将对一次关于大型语言模型解码游戏的视频教学…

面试经典算法题之双指针专题

力扣经典面试题之双指针 ( 每天更新, 每天一题 ) 文章目录 力扣经典面试题之双指针 ( 每天更新, 每天一题 )验证回文串收获 392. 判断子序列 验证回文串 思路 一: 筛选 双指针验证 class Solution { public:bool isPalindrome(string s) {// 所有大写字母 > 小写 去除非字母…

nginx下载安装配置(含ssl)

下载安装环节 wget https://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf xxx.tar.gz yum -y install pcre-devel openssl openssl-devel ./configure --prefix/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream make & make i…

Linux的vim下制作进度条

目录 前言: 回车和换行有区别吗? 回车和换行的区别展示(这个我在Linux下演示) 为什么会消失呢? 回车和换行的区别 为什么\r和\n产生的效果不同? 打印进度条: (1)打印字符串 …

第十四届蓝桥杯国赛:2023次方的思考(指数塔,数论)

首先我们要知道,正常计算的话,指数优先级最高,因此得先计算指数,比如: 2 3 2 512 2^{3^2}512 232512 欧拉定理的关键在于,它允许我们通过减少计算的指数大小来简化模运算。 经过仔细研究(看题…