安卓开发学Flutter——安装与构建环境的一些注意点(第一篇)

简介: Flutter是多平台开发的利器,我在半年前和技术交流群就接触到了,但一直没有去主动学习,但为了未来的长足发展,还是去认真学习一下

前言

Flutter是多平台开发的利器,我在半年前和技术交流群就接触到了,但一直没有去主动学习,但为了未来的长足发展,还是去认真学习一下,下面我们就从安装和部署环境开始,本教程是我亲自实践所得,可能具有时效性,如果失效,请关注官网的教程(flutter.cn/docs/get-st… ,本教程基于Windows平台。

正篇

安装Android Studio

安卓开发当然少不了Android Studio,这第一步就先省略了,下面默认有Android Studio。

下载Flutter包

首先,本人是使用GitHub去获取最新的Flutter包的(flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond (github.com)),当然你也可以在官网下载最新的包(在 Windows 操作系统上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter),个人感觉GitHub的GitHub Desktop软件还是很好用的,

这是我拉取的,选择的stable分支:


网络异常,图片无法展示
|


首先,先在GitHub网站上复制URL


网络异常,图片无法展示
|


然后选择克隆库,将复制的URL粘贴上,再选好本地存储位置


网络异常,图片无法展示
|

网络异常,图片无法展示
|


最后选择克隆即可,当然使用git拉取也行,如果你更熟悉Git命令或者喜欢用其他方式也可,只要最终可以获取到代码资源。

配置环境

成功获取到代码后再去你选择存储的地方找到flutter的bin路径复制下来


网络异常,图片无法展示
|


然后在设置中系统这一栏找到系统信息点击打开,找到高级系统设置打开


网络异常,图片无法展示
|


选择环境变量


网络异常,图片无法展示
|


找到系统变量的Path这栏,点击选中然后点击编辑:


网络异常,图片无法展示
|


再把我们刚刚复制的flutter的bin路径新建复制进去,最后全部选择确定即可。


网络异常,图片无法展示
|


我们在Win+R 中输入cmd回车,然后在窗口输入命令

where flutter dart

网络异常,图片无法展示
|


这一步要是出现问题,如下,同时官方给出解决方法:


网络异常,图片无法展示
|


接下来官网叫我们利用flutter命令flutter doctor,但一般会出现几个X的地方:


网络异常,图片无法展示
|


通过查阅相关博客,已有解决方法: 1.配置用户环境变量,因为国内有些限制访问不了,所以要配置国内的:

变量名:FLUTTER_STORAGE_BASE_URL
变量值:https://storage.flutter-io.cn
变量名:PUB_HOSTED_URL
变量值:https://pub.flutter-io.cn

网络异常,图片无法展示
|


还有这一步:找到Flutter文件夹里面这一路径: ...\flutter\packages\flutter_tools\lib\src, 然后找到文件http_host_validator.dart:


网络异常,图片无法展示
|


右键选择编辑: 如果有编辑器可以选择编辑器,没有选择打开方式使用更多方式的记事本也可


网络异常,图片无法展示
|

网络异常,图片无法展示
|


然后和上面两个添加用户变量一样,将这个文件内容相应默认配置替换:


网络异常,图片无法展示
|

import 'dart:async';
import 'base/io.dart';
import 'base/platform.dart';
import 'doctor_validator.dart';
import 'features.dart';
// Overridable environment variables
//---------------------------------------------------替换
const String kEnvPubHostedUrl = 'PUB_HOSTED_URL';
const String kEnvCloudUrl = 'FLUTTER_STORAGE_BASE_URL';
//---------------------------------------------------替换
const String kDoctorHostTimeout = 'FLUTTER_DOCTOR_HOST_TIMEOUT';
/// Common Flutter HTTP hosts.
//---------------------------------------------------替换
const String kPubDevHttpHost = 'https://pub.flutter-io.cn/';
const String kgCloudHttpHost = 'https://storage.flutter-io.cn/';
//---------------------------------------------------替换
/// MacOS specific required HTTP hosts.
const List<String> macOSRequiredHttpHosts = <String>[
  'https://cocoapods.org/',
];
/// Android specific required HTTP hosts.
List<String> androidRequiredHttpHosts(Platform platform) {
  return <String>[
    // If kEnvCloudUrl is set, it will be used as the maven host
    if (!platform.environment.containsKey(kEnvCloudUrl))
    //---------------------------------------------------替换
      'https://dl.google.com/dl/android/maven2/',
      //---------------------------------------------------替换

此外,maven的地址也需替换,已在上面代码和图中标注

2.安装Android Studio的插件


网络异常,图片无法展示
|


这里顺便把必备的Flutter安装,一般会默认让你确定是否安装Dart,我们选择一起安装


网络异常,图片无法展示
|


然后不急着重启AS,我们先在Settings里的搜索框搜索SDK,在SDK Tools里下载:


网络异常,图片无法展示
|


完成后重启AS

3.这时候可以在AS的Teminal控制台中直接flutter doctor


网络异常,图片无法展示
|


如果出现:

Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

这表示有部分协议未同意,要确认,直接在控制台输入以下内容,然后一路选y即可:

flutter doctor --android-licenses

如果没安装CHrome和Visual Studio不影响使用Android端开发,如果需要Web和Windows软件开发,那需要下载VS的C++桌面开发套件:


网络异常,图片无法展示
|
网络异常,图片无法展示
|


完成了这些,最后就可以在AS中新建Flutter项目了:


网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

总结

时间荏苒,我也开启了自己的Flutter之旅,不过之前一些文章的坑还没填完,估计还得填很久,不过凡事开头难,相信自己一定可以在这条路学下去的。

相关文章
|
4天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
6天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
8天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
6天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!
|
7天前
|
存储 XML JSON
探索安卓开发:从新手到专家的旅程
【10月更文挑战第36天】在这篇文章中,我们将一起踏上一段激动人心的旅程,从零基础开始,逐步深入安卓开发的奥秘。无论你是编程新手,还是希望扩展技能的老手,这里都有适合你的知识宝藏等待发掘。通过实际的代码示例和深入浅出的解释,我们将解锁安卓开发的关键技能,让你能够构建自己的应用程序,甚至贡献于开源社区。准备好了吗?让我们开始吧!
19 2
|
8天前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!
|
11天前
|
移动开发 Java Android开发
探索Android与iOS开发的差异性与互联性
【10月更文挑战第32天】在移动开发的大潮中,Android和iOS两大平台各领风骚。本文将深入浅出地探讨这两个平台的开发差异,并通过实际代码示例,展示如何在各自平台上实现相似的功能。我们将从开发环境、编程语言、用户界面设计、性能优化等多个角度进行对比分析,旨在为开发者提供跨平台开发的实用指南。
33 0
|
Web App开发 移动开发 前端开发
Android面试:为什么说Flutter让移动开发变得更好?全套教学资料
Android面试:为什么说Flutter让移动开发变得更好?全套教学资料
|
16天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。
|
15天前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
28 5