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

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.hqwc.cn/news/661137.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

支付宝小程序云租赁行业解决方案,支付宝租赁小程序源码-查征信-人脸验证-电子签合同接口

本文来自:支付宝小程序云租赁行业解决方案,支付宝租赁小程序源码-查征信-人脸验证-电子签合同接口 - 源码1688 业务痛点 某个国内领先的租赁头部商户,提供以消费电子为主的租赁交易服务(自营三方入驻),在租…

ROS1快速入门学习笔记 - 10服务数据的定义和使用

目录 一、服务模型(客户端/服务器) 二、自定义服务数据 1. 定义srv文件 2. 在package.xml中添加功能包依赖 3. 在CMakeLists.txt添加编译选项 4. 编译生成语言相关文件 5. 配置服务器/客户端代码编译规则 6. 编译并运行程序 7. Python文件 一…

ARM学习(27)链接库依赖学习(二)dlopen failed:library xxxx.so

笔者继续学习一下链接的依赖库。 1、起因 Android下面需要需要一个日志解码库,所以笔者就编译了一个parse.so来进行解码, 编译器:Clang,基于llvm后端的编译器平台:交叉编译,linux -> aarch64 linux An…

227. 基本计算器 II

227. 基本计算器 II 原题链接:完成情况:解题思路:参考代码:_227基本计算器II_单栈直接算_227基本计算器II_双栈 错误经验吸取 原题链接: 227. 基本计算器 II https://leetcode.cn/problems/basic-calculator-ii/ 完…

ubuntu入门

基础命令 cd 切换命令 ls 查看当前目录下所有的文件 cp a.c b.c 拷贝a.c 到 b.c touch a.c 创建a.c文件 mkdir file 创建文件夹file rm file 删除文件 rmdir 删除test文件夹 rmdir test/ mv 移动文件 mv a.c b.c 把a.c 替换成b.c ifconfig 查看电脑网络信息 rm xx 删…

C/C++基础语法练习 - ASCII码(新手推荐阅读✨)

题目链接:https://www.starrycoding.com/problem/159 题目描述 给一个仅包含大小写字母和数字的字符串,请输入它的每个字符对应的ASCII码。 输入格式 一行输入一个字符串 S ( 1 ≤ ∣ S ∣ ≤ 1000 ) S(1 \le |S| \le 1000) S(1≤∣S∣≤1000)。 输…

在Ubuntu linux操作系统上操作MySQL数据库常用的命令

检查是否安装了MySQL,或检查MySQL的状态: sudo systemctl status mysql或 sudo systemctl status mysql.service如果mysql有安装,上面这条命令会返回mysql的状态active或inactive。 卸载mysql数据库 第一步是停了数据库: sud…

精通GDBus:Linux IPC的现代C接口

目录标题 1. GDBus介绍2. GDBus的优点3. 安装GDBus4. 使用GDBus连接到D-Bus总线实现D-Bus服务调用D-Bus方法发送和接收信号 5. 总结 在Linux环境下,不同的程序需要通过某种方式进行通信和协同工作。GDBus是GLib库的一部分,提供了一个基于GObject系统的、…

typescript:vscode的settings配置文件配置ts语法提示

typescript:vscode的settings配置文件配置ts语法提示 1 找到vscode左下角的齿轮按钮 2 点击Settings(或者快捷键ctrl,): 点击右上角的Open Settings(JSON)按钮打开配置文件: 或者ctrlshiftp,搜索settings&…

Spring - 9 ( 10000 字 Spring 入门级教程 )

一: MyBatis XML 配置文件 Mybatis 的开发有两种方式: 注解XML 我们已经学习了注解的方式, 接下来我们学习 XML 的方式 MyBatis XML 的方式需要以下两步: 配置数据库连接字符串和 MyBatis写持久层代码 1.1 配置连接字符串和 MyBatis 此步骤需要进…

2024.阳光能源追光计划暨大陆考察团交流分享会

近日大陆考察团抵达香港,受到了本司热情接待和安排。公司于4月27日下午举办了阳光能源追光计划主题交流会。 会上公司营销部总监张超,分享了阳光能源近几年的能源发展之路及公司新推出的追光计划,得到了大陆考察交流团团长杨国均先生的高度赞…

【自研网关系列】过滤器链 -- 灰度发布过滤器

🌈Yu-Gateway::基于 Netty 构建的自研 API 网关,采用 Java 原生实现,整合 Nacos 作为注册配置中心。其设计目标是为微服务架构提供高性能、可扩展的统一入口和基础设施,承载请求路由、安全控制、流量治理等…