当前位置:   article > 正文

flutter doctor一直等待_Flutter应用开发之第一步(踩坑记)

flutter doctor一直等待

6e235ebae0ce0881d8b7cb97250807ec.png
James:开始使用Flutter之系统配置要求​zhuanlan.zhihu.com
55d4ec9da2a4ba3e786caaecbc310b90.png
James:开始使用Flutter之Mac开发环境配置​zhuanlan.zhihu.com
55d4ec9da2a4ba3e786caaecbc310b90.png

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

在这过程中所踩的坑:

  • Android Studio版本问题

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

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

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

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

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

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

  • 新建工程问题

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

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

  1. export PUB_HOSTED_URL=https://pub.flutter-io.cn
  2. export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  3. flutter 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.gradle

  1. uildscript {
  2. repositories {
  3. //google()
  4. //jcenter()
  5. maven { url 'https://maven.aliyun.com/repository/google' }
  6. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  7. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
  8. }
  9. dependencies {
  10. classpath 'com.android.tools.build:gradle:3.5.0'
  11. }
  12. }android {
  13. compileOptions {
  14. sourceCompatibility 1.8
  15. targetCompatibility 1.8
  16. }
  17. }
  18. apply plugin: FlutterPlugin
  19. class FlutterPlugin implements Plugin<Project> {
  20. // private static final String DEFAULT_MAVEN_HOST = "https://storage.googleapis.com";
  21. private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn/download.flutter.io";

flutterSDK_PATH/packages/flutter_tools/gradle/resolve_dependencies.gradle

  1. repositories {
  2. google()
  3. jcenter()
  4. maven {
  5. //url "$storageUrl/download.flutter.io"
  6. url "http://download.flutter.io"
  7. }
  8. }

flutter PROJECT_PATH/android/build.gradle

  1. buildscript {
  2. ext.kotlin_version = '1.3.50'
  3. repositories {
  4. // google()
  5. //jcenter()
  6. maven { url 'https://maven.aliyun.com/repository/google' }
  7. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  8. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
  9. }
  10. dependencies {
  11. classpath 'com.android.tools.build:gradle:3.5.0'
  12. classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  13. }
  14. }
  15. allprojects {
  16. repositories {
  17. // google()
  18. // jcenter()
  19. maven { url 'https://maven.aliyun.com/repository/google' }
  20. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  21. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
  22. maven { url "https://storage.googleapis.com/download.flutter.io" }
  23. }
  24. }

根据我的经验,build.gradle中的 maven { url "https://storage.googleapis.com/download.flutter.io" }十分重要,没有的话,编译一定失败,应该还需要VPN的加持

第一步,打开Android Studio。

67179869d05829b22e29ff9f7cded3c2.png

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

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

611a24bbf8b5b673aa521ebabf1eeba4.png

选择第一个Flutter Application

594262bba90afc3d2c767cd38274b01b.png

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

e1f4bb85f73b669d41caa3379db3565f.png

输入package name,点击Finish。

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

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

e6061e14c52924a0acd0252f5aadceb1.png

ad9adbfc60ddc3136f94204d98be0085.png
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/976788
推荐阅读
相关标签
  

闽ICP备14008679号