开始使用Flutter之系统配置要求

开始使用Flutter之Mac开发环境配置

在开始Flutter开发之前请先参考我的前两篇文章搭建开发环境。

在这过程中所踩的坑:

  1. Android Studio版本问题

    其实Flutter刚出来我就开始用它开发过App,之后有一段时间没用。

最近打算重新开始,发现Android Studio更新到4了。

更新之后,就出现了很多问题。

首先,flutter doctor会认为android有问题,这个可以通过修改环境变量来解决,之前用的环境变量名是ANDROID_HOME,现在是ANDROID_SDK_ROOT。

其次是cocopods问题,虽然检测出问题,但是实际上毫无影响。

然后就是plugin问题,检测不到flutter插件和dart插件,但实际上是安装了。

新建工程问题

新建工程还是很慢,这个可以通过修改环境变量来解决。

还可以修改flutter的设置,取消分析会快一些。

export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cnflutter config --no-analytics

adb问题

新建工程之后,我发现没有android模拟器可以选择,但是AVD里是有的。

运行android模拟器之后,出现了一个提示 unable to locate adb。

网上有很多解决办法,比如寻找是否有占用端口,更新sdk等等。

根据我的经验,都没有重新安装Android Studio来的快。

不过在MAC里重新安装的时候要注意一件事情,需要将安装在用户文件夹中的AndroidStudio4.1一起删除。

以下是MAC中AndroidStudio4.1在用户文件夹的目录

/Users/user/Library/Application Support/Google/AndroidStudio4.1

如果不删除的话,你会发现重新安装以后所有的设置以及插件都跟以前一样。

gradle问题

在ios中调试很简单很顺利,但是android就遇到了问题。

首先gradle下载非常慢,导致编译过程一直在等待。

要解决这个问题可以自己下载gradle放在这个文件夹中。

/Users/user/.gradle/wrapper/dists/gradle-5.6.2-all/9st6wgf78h16so49nn74lgtbb

最后这个9st6wgf78h16so49nn74lgtbb可能是随机生成的吧,Windows用户在自己的用户文件夹里应该也能找到.gradle文件夹。

maven问题

最后就是maven,因为如果用默认的地址,在国内肯定是不行或者很慢的。所以需要修改如下文件:

flutterSDK_PATH/packages/flutter_tools/gradle/flutter.gradleuildscript {repositories {    //google()    //jcenter()    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.5.0'  }}android {  compileOptions {    sourceCompatibility 1.8    targetCompatibility 1.8    }}apply plugin: FlutterPluginclass FlutterPlugin implements Plugin<Project> {  // private static final String DEFAULT_MAVEN_HOST = "https://storage.googleapis.com";  private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn/download.flutter.io";

flutterSDK_PATH/packages/flutter_tools/gradle/resolve_dependencies.gradle

repositories {  google()  jcenter()  maven {      //url "$storageUrl/download.flutter.io"      url "http://download.flutter.io"    }}

flutter PROJECT_PATH/android/build.gradle

buildscript {ext.kotlin_version = '1.3.50'repositories {  // google()  //jcenter()  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.5.0'  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"  }}allprojects {    repositories {      // google()      // jcenter()      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' }      maven { url "https://storage.googleapis.com/download.flutter.io" }    }}

根据我的经验,build.gradle中的

      maven { url "https://storage.googleapis.com/download.flutter.io" }

十分重要,没有的话,编译一定失败,应该还需要VPN的加持

第一步,打开Android Studio。

e320db74a0b7dbf31030b4a21bd637f1.png

在已经配置好的Android Studio里,你可以找到Start a new Flutter project的选项。

第二步,新建一个Flutter工程。

97527ab43151b2f5077d2516b7d6ee12.png选择第一个Flutter Application

f958e53d289155087cf0033a2d811551.png

输入合适的工程名,点击next。

bd4eaa3d0c0cbd8655cfaed8034eee06.png

输入package name,点击Finish。

这样一个新Flutter工程就新建好了。

从target里选择ios或者android的模拟器来运行程序。

c88a2c9e9ae3b7c2122e8d05428a1042.png

e44f5fe0adfa8daca27b7a54e05387ef.png

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐