跨平台flutter- window与Android Studio环境配置_android toolchain - develop for android devices x -程序员宅基地

技术标签: objective-c  android-studio  ios  工具/环境  设计模式  

背景

Flutter是谷歌的混合移动UI框架,一套代码可以快速在iOS和Android上构建高质量的原生用户界面,Flutter可以与已有的代码一起混编,Flutter是完全免费并且开源的,正被越来越多的开发者和组织使用。

  • 混合开发:Flutter拥有丰富的工具和库,可以帮助您轻松地同时在iOS和Android系统中实现您的想法和创意。 如果您没有任何移动端开发体验,Flutter是一种轻松快捷的方式来构建漂亮的移动应用程序。 如果您是一位经验丰富的iOS或Android开发人员,则可以使用Flutter作为视图(View)层, 并可以使用已经用Java / ObjC / Swift完成的部分
  • 快速开发:Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态
  • 富有表现力,漂亮的用户界面:Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验
  • 响应式框架:和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战
  • 访问本地功能和SDK:通过平台相关的API、第三方SDK和原生代码让您的应用变得强大易用。 Flutter允许您复用现有的Java、Swift或ObjC代码,访问iOS和Android上的原生系统功能和系统SDK
  • 用于承载和编译Dart语言和Widget库的框架,将Dart编译为原生代码的SDK
  • Dart语言特点面向对象,类定义,单继承,语法类似C语言,可转译为JavaScript

更多了解可到Flutter中文网

准备

windows系统,flutter-io镜像

安装

使用镜像-用户环境变量配置

由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

注意: 此镜像为临时镜像,并不能保证一直可用,请随时关注Flutter中文网 以获得有关镜像服务器的最新动态。
window用户环境变量:我的电脑右键-属性-高级系统设置-高级模块下面的环境变量-新建用户变量并配置确定
在这里插入图片描述
在这里插入图片描述

系统要求

要安装并运行Flutter,您的开发环境必须满足以下最低要求:

操作系统: Windows 7 或更高版本 (64-bit)
磁盘空间: 400 MB (不包括Android Studio的磁盘空间).
工具: Flutter 依赖下面这些命令行工具.
Git for Windows (Git命令行工具)

如果已安装Git for Windows,请确保命令提示符或PowerShell中运行 git 命令,不然在后面运行flutter doctor时将出现Unable to find git in your PATH错误, 此时需要手动添加C:\Program Files\Git\bin至Path系统环境变量中。

获取Flutter SDK

注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包 。
有稳定版,测试版,和开发版,我们选择稳定版3.0.1下载:
在这里插入图片描述

  • 将安装包zip解压到你想安装Flutter SDK的路径(如:C:\src\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\Program Files\)。我们解压到D盘:
    在这里插入图片描述

  • 在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。
    在这里插入图片描述
    在这里插入图片描述
    这代表flutter控制台启动成功

注意: 由于一些flutter命令需要联网获取数据,如果您是在国内访问,由于众所周知的原因,直接访问很可能不会成功。 上面的PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL是google为国内开发者搭建的临时镜像。详情请参考 Using Flutter in China

上述命令为当前终端窗口临时设置PATH变量。要将Flutter永久添加到路径中,请参阅更新路径。

更新环境变量

要在终端运行 flutter 命令, 你需要添加以下环境变量到系统PATH:

转到 “控制面板>用户帐户>用户帐户>更改我的环境变量”
在“用户变量”下检查是否有名为“Path”的条目:
如果该条目存在, 新建并追加 flutter\bin的全路径,使用 ; 作为分隔符.
如果条目不存在, 创建一个新用户变量 Path ,然后将flutter\bin的全路径作为它的值.
在这里插入图片描述

在“用户变量”下检查是否有名为”PUB_HOSTED_URL”和”FLUTTER_STORAGE_BASE_URL”的条目,如果没有,也添加它们。
重启Windows以应用此更改

运行flutter doctor

打开一个新的命令提示符或PowerShell窗口并运行以下命令以查看是否需要安装任何依赖项来完成安装:

flutter doctor

在命令提示符或PowerShell窗口中运行此命令。目前,Flutter不支持像Git Bash这样的第三方shell。
该命令检查您的环境并在终端窗口中显示报告。Dart SDK已经在捆绑在Flutter里了,没有必要单独安装Dart。 仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务(以粗体显示)

例如:

[-] Android toolchain - develop for Android devices
• Android SDK at D:\Android\sdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.io/setup/#android-setup for detailed instructions.
第一次运行一个flutter命令(如flutter doctor)时,它会下载它自己的依赖项并自行编译,所以速度会慢一些,还需耐心等待。以后再运行就会快得多。
在这里插入图片描述
表示flutter安装完毕,后面的错误是需要安装Android编译环境,以及需要更新Visual Studio

以下各部分介绍如何执行这些任务并完成设置过程。你会看到在flutter doctor输出中, 如果你选择使用IDE,我们提供了,IntelliJ IDEA,Android Studio和VS Code的插件, 请参阅编辑器设置 以了解安装Flutter和Dart插件的步骤。

一旦你安装了任何缺失的依赖,再次运行flutter doctor命令来验证你是否已经正确地设置了。

该flutter工具使用Google Analytics匿名报告功能使用情况统计信息和基本崩溃报告。 这些数据用于帮助改进Flutter工具。Analytics不是一运行或在运行涉及flutter config的任何命令时就发送, 因此您可以在发送任何数据之前退出分析。要禁用报告,请执行flutter config --no-analytics并显示当前设置,然后执行flutter config。 请参阅Google的隐私政策。

编辑器设置
使用 flutter 命令行工具,您可以使用任何编辑器来开发Flutter应用程序。输入flutter help在提示符下查看可用的工具。

我们建议使用我们的插件来获得丰富的IDE体验,支持编辑,运行和调试Flutter应用程序。请参阅编辑器设置了解详细步骤

安装Android环境

安装Android Studio

要为Android开发Flutter应用,您可以使用Mac,Windows或Linux(64位)机器.

Flutter需要安装和配置Android Studio:

  • 由于AndroidStudio是国外的没有vpn直接访问会有一些问题,以下为中文网下载地址,下载并安装 Android Studio根据个人设备配置下载.
    在这里插入图片描述
  • 启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK,Android SDK平台工具和Android SDK构建工具,这是Flutter为Android开发时所必需的,
    除了安装路径自定义自己想装的位置之外其他都点击下一步,直到Install Type选择自定义安装:
    在这里插入图片描述
    然后是选择界面风格根据自己喜欢选择:

在这里插入图片描述
安装Sdk的时候路径可选择为与Android Studio同级新增一个文件Sdk,然后next
在这里插入图片描述
然后会让我们选择Android内存,默认选择即可,然后next,
在这里插入图片描述
进入环境安装下载,next:
在这里插入图片描述
然后选择接受安装协议,并finish,进入下载安装
在这里插入图片描述
出现这个就代表我们的AndroidStudio下载安装完毕。

Android Studio系统设置

把Android的开发环境配置到系统里面,打开高级系统设置->高级->环境变量

  • 首先我们要配置系统变量,变量名ANDROID_HOME必须全部大写,变量值为Sdk的安装路径:
    在这里插入图片描述
  • 系统Path配置,%ANDROID_HOME%\platform-tools,这样Android才能全局使用
    在这里插入图片描述
    控制台执行adb devices,是Android提供检测是否有Android设备连接的指令
adb devices

出现List of devices attached即为成功。
在这里插入图片描述
然后再执行flutter doctor:

Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 3.0.1, on Microsoft Windows [版本 10.0.19044.1706], locale zh-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    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.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[] Chrome - develop for the web
[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[] Android Studio (version 2021.1)
[] Connected device (3 available)
[] HTTP Host Availability

! Doctor found issues in 2 categories.

在这里插入图片描述
这几个对勾表示Android Studio环境配置成功,但还有一些错误,
关于配置的错误

cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.

打开Android Studio设置,这几个tool设置一下,
在这里插入图片描述
然后再执行flutter doctor,看到配置的错误已经解决了
在这里插入图片描述

但下面是flutter未接受许可错误,许可执行:flutter doctor --android-licenses

flutter doctor --android-licenses

进入是否允许接受许可,输入 y
在这里插入图片描述
连续y,直到执行出现All SDK package licenses accepted,表示许可接受完成。
然后再执行flutter doctor:
在这里插入图片描述
可以看出来,需要下载Visual Studio:里面有提示下载的地址:https://visualstudio.microsoft.com/downloads/
然后安装 “Desktop development with C++” ,默认安装
在这里插入图片描述

然后再执行flutter doctor:

 Visual Studio - develop for Windows (the doctor check crashed)
    X Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know
      about this issue at https://github.com/flutter/flutter/issues.
    X Exception: Bad UTF-8 encoding (U+FFFD; REPLACEMENT CHARACTER) found while decoding string: [
        {
    
          "instanceId": "3ffd25c1",
          "installDate": "2022-05-30T14:52:30Z",
          "installationName": "VisualStudio/17.2.2+32519.379",
          "installationPath": "D:\\Application\\Microsoft Visual Studio\\2022\\Community",
          "installationVersion": "17.2.32519.379",
          "productId": "Microsoft.VisualStudio.Product.Community",
          "productPath": "D:\\Application\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\devenv.exe",
          "state": 4294967295,
          "isComplete": true,
          "isLaunchable": true,
          "isPrerelease": false,
          "isRebootRequired": false,
          "displayName": "Visual Studio Community 2022",
          "description": "����ǿ��� IDE����ѧ��������Դ��������ߺ͸������ʹ��",
          "channelId": "VisualStudio.17.Release",
          "channelUri": "https://aka.ms/vs/17/release/channel",
          "enginePath": "C:\\Program Files (x86)\\Microsoft Visual
          Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service",
          "installedChannelUri": "https://aka.ms/vs/17/release/channel",
          "releaseNotes": "https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.2#17.2.2",
          "thirdPartyNotices": "https://go.microsoft.com/fwlink/?LinkId=661288",
          "updateDate": "2022-05-30T14:52:30.664144Z",
          "catalog": {
    
            "buildBranch": "d17.2",
            "buildVersion": "17.2.32519.379",
            "id": "VisualStudio/17.2.2+32519.379",
            "localBuild": "build-lab",
            "manifestName": "VisualStudio",
            "manifestType": "installer",
            "productDisplayVersion": "17.2.2",
            "productLine": "Dev17",
            "productLineVersion": "2022",
            "productMilestone": "RTW",
            "productMilestoneIsPreRelease": "False",
            "productName": "Visual Studio",
            "productPatchVersion": "2",
            "productPreReleaseMilestoneSuffix": "1.0",
            "productSemanticVersion": "17.2.2+32519.379",
            "requiredEngineVersion": "3.2.2148.26540"
          },
          "properties": {
    
            "campaignId": "2030:b339723e-f580-4215-a586-af436edb4770",
            "channelManifestId": "VisualStudio.17.Release/17.2.2+32519.379",
            "nickname": "",
            "setupEngineFilePath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\setup.exe"
          }
        }
      ]
      . The Flutter team would greatly appreciate if you could file a bug explaining exactly what you were doing when
      this happened:
      https://github.com/flutter/flutter/issues/new/choose
      The source bytes were:
      [91, 13, 10, 32, 32, 123, 13, 10, 32, 32, 32, 32, 34, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 34, 58, 32,...]


[] Android Studio (version 2021.1)
[] Connected device (3 available)
[] HTTP Host Availability

! Doctor found issues in 1 category.

意思就是VisualStudio安装程序提供的vswhere已经过时,在utf8开关上有个BUG,升级vswhere即可解决。

首先下载最新的vswhere 3.0.2可能需要VPN

找到VisualStudio安装程序的安装目录,我是C:\Program Files (x86)\Microsoft Visual Studio\Installer中vswhere.exe文件,并替换
在这里插入图片描述
然后再执行flutter doctor:
在这里插入图片描述
至此,flutter的windows环境和Android Studio环境配置完成

Android设备设置

设置Android设备

要准备在Android设备上运行并测试您的Flutter应用,您需要安装Android 4.1(API level 16)或更高版本的Android设备.

在您的设备上启用 开发人员选项 和 USB调试 。详细说明可在Android文档中找到。
使用USB将手机插入电脑。如果您的设备出现提示,请授权您的计算机访问您的设备。
在终端中,运行 flutter devices 命令以验证Flutter识别您连接的Android设备。
运行启动您的应用程序 flutter run。
默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本。 如果您想让Flutter使用不同版本的Android SDK,则必须将该 ANDROID_HOME 环境变量设置为SDK安装目录。

设置Android模拟器-Genymotion

  • Genymotion 下载地址:https://www.genymotion.com/download/
  • Genymotion 对于个人免费,对于组织收费我们选择免费,我们选择带虚拟机
    在这里插入图片描述
    安装的时候有个Oracle VM VirtualBox安装,也是默认必须要的,一起安装,最好默认路径安装
    然后注册个账号,选择个人使用,并登录
    在这里插入图片描述
    然后里面有各种型号的Android手机的模拟器,点击自己想要的手机型号的模拟器并下载安装:
    在这里插入图片描述
    下载中:
    在这里插入图片描述
    启动模拟器:
    在这里插入图片描述
    然后我们的Android模拟器就完美启动了:
    在这里插入图片描述

经验

  • 有Android Studio中模拟器的需要系统环境变量配置名字:ANDROID_SDK_HOME
    值为avd路径

注意

环境配置过程中,更多的是要注意用户环境配置,和系统环境配置,根据流程见招拆招,绽放不一样的焰火。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MOON_YZM/article/details/124777619

智能推荐

C# 模糊搜索-程序员宅基地

文章浏览阅读2.9k次。private void txt_Select_SelectionChanged(object sender, RoutedEventArgs e) { try { //初始化变量(接收条件) string strSelect = ""; string strContent = ..._c# 模糊搜索

提升Python运行效率的小窍门_python 提升赋值效率-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏7次。说起Python,作为一门大热的编程语言,它简单易学、语法优美,自身拥有丰富强大的库,而且应用范围也是十分广泛。毫无疑问,Python 确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python 并不是没有缺点的,最主要的缺点之一就是Python 的执行速度不够快。针对这个问题,下面为大家搜集了6个可以提高Python运行效率的小窍门。窍门一:关键代码使用外部功能包Pytho..._python 提升赋值效率

Marching Cubes算法在点云重建中的简单应用_from skimage.measure import marching_cubes_lewiner-程序员宅基地

文章浏览阅读199次。Marching Cubes算法是由Lorensen和Cline于1987年提出的,它通过将空间划分为小的体素(voxel),并根据每个体素内部的点的状态来决定网格的生成。点云重建是计算机图形学中的一个重要问题,其目标是从离散的点云数据中生成连续的三维模型。其中一种常用的方法是Marching Cubes算法,它可以将点云数据转换为网格表示,从而实现对点云进行可视化、分析和处理。以上代码中,我们首先根据点云数据计算出体素网格的大小,并创建一个与之对应的空网格。这里只是一个简单的示例,供大家参考。_from skimage.measure import marching_cubes_lewiner

matlab批量txt文件导入,跪求大神给码。。。!!!!!!!!!_matlab大量导入txt文件-程序员宅基地

文章浏览阅读4.7k次。怎么批量导入txt,我只会一个一个导入。查了别人写的好多代码还是不能用。。。求大神_matlab大量导入txt文件

Python如何调用ixchariot进行吞吐量测试_python调用 chariot-程序员宅基地

文章浏览阅读714次。在上述代码中,您需要将 ixchariot_path 和 test_script_path 替换为您系统上实际的IxChariot安装路径和测试脚本路径。请确保您已正确安装IxChariot,并且测试脚本路径是有效的。要使用Python调用IxChariot进行吞吐量测试,您可以使用 subprocess 模块来执行IxChariot的TCL命令行。请注意,IxChariot的具体用法和命令行参数可能因版本而异,请根据您使用的IxChariot版本和测试需求进行相应的调整。_python调用 chariot

【目标检测算法系列】一、R-CNN算法_rcnn算法的缺点-程序员宅基地

文章浏览阅读2k次。R-CNN 是第一个成功将深度学习应用到目标检测上的算法,也是后续Fast R-CNN , Faster R-CNN等系列算法的鼻祖一、R-CNN整体架构R-CNN的全貌如下图所示它主要分为4个模块候选区域(region proposal)提取 一个大型的CNN网络用来特征提取 使用SVM分类模型进行类别分类 使用回归(Regression)模型进行具体定位具体R..._rcnn算法的缺点

随便推点

剑指Offer---2021/7/21-程序员宅基地

文章浏览阅读1.6w次,点赞2次,收藏3次。剑指Offer---2021/7/21刷题记录

java 8 默认接口实现_java 8 接口 默认实现-程序员宅基地

文章浏览阅读166次。_java 8 接口 默认实现

搭建国密SSL开发测试环境_国密ssl实验室-程序员宅基地

文章浏览阅读7.6k次,点赞10次,收藏33次。国密算法包含了一系列的加密算法,用途广泛,可以用于软硬件加密、签名等地方。我主要研究国密算法在SSL/TLS/HTTPS通信中的应用,这会涉及到客户端和服务器端,最典型的用例就是浏览器访..._国密ssl实验室

NEUOJ 竞赛训练 C语言谭浩强习题 C-谭浩强-3.7 题解_oj上有谭浩强练习题-程序员宅基地

NEUOJ竞赛训练C语言谭浩强习题C-谭浩强-3.7题解:将字符串 China 通过后移4位的方式进行加密。

Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)...-程序员宅基地

文章浏览阅读50次。Android开发平台中,可通过TelephonyManager 获取本机号码。TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);txtPhoneNumber.setText(phoneMgr.getLine1Number())..._android8.1 system_property_get("ro.serialno 获取不到值

虚拟直播的发展带来的影响有哪些?_虚拟直播之于游戏行业 是偶然还是必然-程序员宅基地

文章浏览阅读70次。虚拟直播将塑造出许多新的形象实现,成为数字新时代人类生存和生活方式的一部分,如数字化形象、品牌基因化、某种格局的逻辑化和静态图像的动态化。虚拟直播产业将成为未来细分市场中不可或缺的一部分,随着消费群体对虚拟主播的认知和接受度不断提高,虚拟直播市场将不断扩大,创新空间也将更加广阔。虚拟直播以其独特的魅力和新奇的展示方式,逐渐影响着社会文化和消费习惯,成为近年来网络文化中不可忽视的一部分。预计虚拟直播将在未来有更广阔的发展空间,推动互联网文化创新与突破,成为数字娱乐和社交互动的新潮流。随着网络与科技的发展,_虚拟直播之于游戏行业 是偶然还是必然