flutter从搭建到运行遇到问题记录
近些年,跨平台开发很火,一个Android开发工程师因工作需要,最近开始学习flutter,搭建过程中遇到很多问题,记录下来
本文是已搭配好Android开发环境的角度写的;如果未搭配,请先搭配好;
flutter需要先下载flutter SDK
flutter SDK下载:
- 进入Flutter官网下载,https://flutter.dev/docs/development/tools/sdk/releases#macos(*)
- 去github直接clone,命令:git clone -b dev https://github.com/flutter/flutter.git
下载之后解压可以看到目录结构:
下载好之后需要进行环境配置;打开高级设置-->环境变量,在path中添加flutter SDK下的bin层目录
继续配置系统变量: PUB_HOSTED_URL:https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cn
检查配置:
打开命令行工具,跳转到Flutter目录
运行flutter doctor
第一个,运行flutter doctor --Android-licenses 若正常情况;弹出选择N/Y;一路点击Y同意即可;但我遇到的说需要更新AndroidSDK;这时候遇到一个挺大的坑;运行命令更新陷入了死循环;会一直提示;解决办法:打开idea;file-->sittings-->搜索SDK 切换到SDK tools;
将红框标记下载下来,因为有过时的;提示的命令行下载不下来,所以会一直提示更新;下载完成后执行命令flutter doctor --Android-licenses;一路Y就好了(PS:公司原本链接公司内网会看不到未下载(刷新不出来),只能看到已下载的;切换正常网络即可;例如:家里的网)
打开idea-->file-->plugins-->搜索flutter,点击安装
同样逻辑;dark搜索安装,安装完成后运行flutter doctor
至此环境配置就完成了;
点击file-->new -->project-->flutter-->选择flutter SDK 路径-->next-->finish创建项目
新建好后再次遇到坑
点击file-->settings-->搜索flutter;发现前面配置的flutterSDK路径为空
点击选择flutter SDK路径;重新build
前面还有一个坑;报no devices ;但是你却已经打开了模拟器,并且正常的Android project项目能运行;这时需要执行命令:
在flutter sdk目录输入命令:flutter config --android-sdk 自己的android sdk路径
执行后就会显示你的模拟器了;
如果你已成功*,忽略下面的话;不然,选择Android -->build.gradle文件添加阿里云镜像
flutterSDK-->packages-->flutter_tools-->gtadle-->flutter.gradle文件里同样替换镜像
maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
// google()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}
allprojects {
repositories {
// google()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
afterEvaluate{project->
if (project.hasProperty("android")) {
android{
compileSdkVersion 29
}
}
}
// project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
添加完镜像后运行报错
查询了一下说是JDK不匹配,把系统JDK替换成自带的就可以了;不过这个方法我没试过;既然不匹配就将gradle降低原本是3.5.0
更改为3.0.0;正常运行了;又多试了几个,3.3.0也可以;至此程序可以正常运行了,不过3.3.0与3.4.0区别需要了解一下,大家可以查询一下