使用最新的Flutter+AndroidStudio导入旧项目的过程与问题解决方法

本文详细介绍了如何在Windows 10上重新安装Flutter SDK,配置环境变量,使用Android Studio安装Flutter和Dart插件,创建和配置Android模拟器,解决HTTPHostAvailability问题,处理旧项目的依赖错误,以及解决模拟器无法上网的问题。过程中涉及到了Flutter Doctor的使用,项目升级,以及针对特定错误的代码修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://flutter.dev/docs/get-started/install/windows

0. 背景

笔记本电脑上,先前用Flutter + AndroidStudio开发了安卓APP。之后为了节省空间,删除了flutter和android studio,以及c盘的用户内的相关文件夹。了解到这两个软件更新版本后,语法和项目文件结构都有一定改变。刚开始有点烦恼的,不过相关问题网上都有解决办法。

电脑是win10。

1. 下载Flutter SDK
flutter_windows_2.10.4-stable

2. 复制到D:\flutter-android并解压
要求硬盘不需要管理员权限,原因是flutter会自行下载各种依赖

3. 添加环境变量
开始搜索 env
把D:\flutter-android\flutter_windows_2.10.4-stable\flutter\bin添加到用户PATH

测试环境变量
cmd
where flutter dart

4. 下载android studio ide
用迅雷下载
安装

4.1 flutter
Welcome to Android Studio - configure - plugins - 输入flutter 自动安装flutter和dart后重新启动android studio
之后可以在这里选择flutter project了。

4.2 模拟器
Tools --> Device Manager --> Create virtual device 选择 Pixel 5 API 30

4.3 dart-sdk
https://dart.dev/get-dart/archive
File --> Settings --> Languages & Frameworks --> Dart 配置Dart SDK path

5. Run flutter doctor
cmd
flutter doctor

5.1 cmdline-tools component is missing
android studio 打开 file --> settings --> Appearance & Behavior --> system settings --> android sdk --> sdk tools --> android sdk command line tools

5.2 [!] HTTP Host Availability: HTTP host https://maven.google.com/ is not reachable.
Here is the solution works https://blog.csdn.net/ouhuanquan/article/details/123134340

Open ${FLUTTER_HOME}\packages\flutter_tools\lib\src\http_host_validator.dart

Change https://maven.google.com/ to https://dl.google.com/dl/android/maven2/
Close Terminal

Open ${FLUTTER_HOME}\bin and delete cache directory
Reopen Terminal and exec flutter doctor


6. android studio重新打开之前的工程
6.1 Target of URI doesn't exist: 'package:flutter/material.dart'.
如果出现这个错误,请用项目里的终端输入一下命令
flutter pub get

6.2 /D:/flutter-android/flutter_windows_2.10.4-stable/flutter/.pub-cache/hosted/pub.flutter-io.cn/charts_flutter-0.10.0/lib/src/behaviors/legend/legend_entry_layout.dart:134:45: Error: The getter 'body1' isn't defined for the class 'TextTheme'.
修改D:\flutter-android\flutter_windows_2.10.4-stable\flutter\.pub-cache\hosted\pub.flutter-io.cn\charts_flutter-0.10.0\lib\src\behaviors\legend\legend_entry_layout.dart

color ??= Theme.of(context).textTheme.body1.color;
修改为:
color ??= Theme.of(context).textTheme.bodyText1.color;

flutter pub upgrade
完成后重启Android studio

6.3 The minCompileSdk (31) specified in a
android studio --> tools --> sdk manager --> 勾上 android12 api 31

修改android --> app --> build.gradle 中的compileSdkVersion和targetSdkVersion,改为31

6.4 [!] Your project requires a newer version of the Kotlin Gradle plugin
android studio --> file --> settings --> plugins --> kotlin 点击update,restart ide

修改 android --> build.gradle 中的ext.kotlin_version = '1.6.20'


7. 安卓模拟器无法上网
7.1 这个方法可以,缺点是会占用一个CMD
cd C:\Users\qjfen\AppData\Local\Android\Sdk\emulator
emulator -avd Pixel_5_API_30 -dns-server 8.8.8.8,211.136.192.6

7.2 2021年8月2日发现通过Android Studio打开的模拟器仍然无法上网
ipconfig /all
   DNS 服务器  . . . . . . . . . . . : 192.168.60.130
                                       211.136.192.6
cmd
cd C:\Users\qjfen\AppData\Local\Android\Sdk\emulator
emulator -avd Pixel_3a_API_30_x86 -dns-server 8.8.8.8,202.96.128.86

用模拟器中的google浏览器打开baidu。可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值