Flutter环境折腾

今天尝试一下Flutter,但是又不想安装把Android Studio全家桶给装了,感觉即臃肿又重复,我又不怎么写Java只是玩玩。

结合前段时间搭建Kivy的虚拟机可以不用重复安装可以直接复用Android开发环境。

首先下载Flutter的Linux版本,放置到虚拟机中你想要安装的位置,我放在/local目录, 之后解压设置环境变量:

$ tar -xvf flutter_linux_1.17.0-stable.tar.xz
$ cd flutter
$ export ANDROID_SDK_ROOT=/home/bstaint/.buildozer/android/platform/android-sdk
$ export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn
$ export PATH=/local/flutter/bin:$PATH
$ flutter doctor

之后会提示你用sdkmanger来更新SDK并且同意一些协议:

    ✗ Flutter requires Android SDK 28 and the Android BuildTools 28.0.3
      To update using sdkmanager, run:
        "/home/bstaint/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager" "platforms;android-28"
        "build-tools;28.0.3"
      or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions.
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

照着提示运行即可(安装需要网络可用,提前备好梯子):

$ "/home/bstaint/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager" "platforms;android-28" "build-tools;28.0.3"
$ flutter doctor --android-licenses

之后就可以创建项目了:

flutter create my_project_name

在运行项目的时候我遇到了一些问题,从报错来看很可能跟网络有关,所以需要修改下源,修改项目目录下android/build.gradle:

    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' }
    }

之后就可以运行了,我这里用的是一台跑在VMWare中的Android x86虚拟机,所以可以用(注意编译Flutter的虚拟机确保内存大于2G,不然会出一些其他的错误):

$ adb connect 192.168.10.130
$ flutter run -v

下面是运行截图:

screeshot

补充一下,执行flutter run之后很长时间无反应,查看VMWare右下角图标硬盘网卡都不亮,可以尝试挂个梯子:

export GRADLE_OPTS='-DsocksProxyHost=192.168.10.1 -DsocksProxyPort=1081'
转载请注明: 本文《Flutter环境折腾》来源于bstaint的博客

没有评论: