美文网首页
不用Android Studio,搭建Flutter开发环境

不用Android Studio,搭建Flutter开发环境

作者: KwokKwok | 来源:发表于2019-06-15 08:36 被阅读0次

    文章按步骤依次为 开发环境安装、设备调试准备(真机、WIFI连接、模拟器等)、项目的创建和运行,因为有好几个环境变量需要设置,相对于其他安装完就算完事的开发环境,会复杂不少。

    1. 使用国内镜像

    创建两个用户环境变量,在中国使用Flutter

    export PUB_HOSTED_URL=https://pub.flutter-io.cn
    export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
    

    2. SDK、编辑器和插件

    参考文章

    JDK, Flutter Windows SDK

    1. 解压,并将/bin目录加到环境变量中。
    2. 打开一个终端,执行flutter doctor检查是否仍需其他依赖。

    2.1 Android SDK的安装

    1. 下载命令行工具,解压到F:\Android\sdk

    2. 创建三个环境变量JAVA_HOME(安装jdk的路径),ANDROID_HOME(F:\Android), ANDROID_SDK_ROOT(F:\Android\sdk),并把Android\sdk\bin加入到环境变量。

    3. 运行flutter doctor,注意Android-toolchains部分,执行提示命令,比如提示我执行两个命令:

      # 安装需要的Android环境
      "F:\Android\tools\bin\sdkmanager" "platforms;android-28" "build-tools;28.0.3"
      # 修复许可,输入Y接受即可
      flutter doctor --android-licenses
      

    使用代理

    sdkmanager --proxy=http --proxy_host=127.0.0.1 --proxy_port=1080 #适用于所有命令,指示使用代理
    

    也可以在用户目录下~/.android创建androidtool.cfg文件:

    http.proxyPort=1080
    http.proxyHost=127.0.0.1
    

    2.2 编辑器

    我使用VSCode

    1. 查找并安装扩展flutter
    2. 然后使用ctrl+shift+p调出命令面板, 输入 ‘doctor’, 然后选择 ‘Flutter: Run Flutter Doctor’, 看会不会出问题, 没有错误就行。Android Studio不用管。

    2.3 连接设备

    连接工具准备

    这里需要使用adb,方便起见,安装platform-tools,包括了adb以及其他工具。

    sdkmanager "platform-tools"
    

    安装完之后,将F:\Android\platform-tools添加到环境变量,方便后续使用。

    手机连接

    1. 进入开发者模式
    2. 进入开发者选项,启用USB调试
    3. 使用数据线连接电脑,同意USB调试
    4. 使用adb tcpip 5555命令,设置Wifi连接的端口号为5555
    使用WIFI

    将电脑和手机处于同一WiFi下,也可以Windows自己开(Win10自带了),手机WiFi的IP可以通过手机信息查看,首先需要能ping通。

    然后电脑执行连接命令,连接手机IP,显示连接成功即可。

    adb connect xxx.xxx.xx.xx
    

    Android模拟器

    # intel 硬件加速,可能需要打开Android/extras/intel目录,进行安装silent_install.bat
    sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
    # Windows打开Hyper-V服务
    
    # 28版本的镜像
    sdkmanager "system-images;android-28;default;x86_64"
    # 模拟器
    sdkmanager "emulator"
    
    # 创建一个名为‘Pie’的模拟器实例,后续指令可能需要在Android/emulator目录下执行,或者将其加入环境变量
    avdmanager create avd -n Pie -k "system-images;android-28;default;x86_64"
    .\emulator.exe -avd Pie
    
    # 删除模拟器
    avdmanager delete avd -n Pie
    
    # 脚本
    emulator.exe  -avd Pie -no-boot-anim -scale 96dpi -dpi-device 160 -partition-size 100
    
    模拟器皮肤

    参考问题

    简单说就是在用户目录下可以找到自己创建的模拟器,比如C:\Users\{users}\.android\avd\Pie.avd,进去可以看到有一个文件config.ini使用实体键盘也在这里设置),添加下面两行就可以,皮肤可以去Github下载,skins目录里都是。

    # 皮肤名
    skin.name=pixel
    # 皮肤路径,里面有layout文件
    skin.path=G:\Android\skins\pixel
    

    也可以复制修改layout文件,去掉设备边框,设置屏幕大小之类的,比如:

    parts {
      device {
        display {
          width 480
          height 800
          x 0
          y 0
        }
      }
    }
    layouts {
      portrait {
        width 480
        height 800
        event EV_SW:0:1
        part1 {
          name portrait
          x 0
          y 0
        }
        part2 {
          name device
          x 0
          y 0
        }
      }
      landscape {
        width 600
        height 360
        event EV_SW:0:0
        part1 {
          name landscape
          x 0
          y 0
        }
        part2 {
          name device
          x 0
          y 0
          rotation 3
        }
      }
    }
    

    3. 项目

    调出命令面板,使用Flutter: New Project根据提示创建项目。进入项目,VSCode的右下角也会显示连接的设备。执行flutter run运行。

    3.1 示例项目

    在Flutter安装目录下,有一个examples文件夹,里面有各种示例项目,包括gallery。通过git pull可以及时拉取最新代码。进入项目,使用flutter run可以执行。

    4. 其他问题

    卡在Initializing gradle

    我是因为gradle国内下载太慢,方法是自己下载,然后放到gradle的下载目录里,让它接着执行之后的操作。

    1. 停下来
    2. 查看用户目录下的.gradle\wrapper\dists\, 比如我的C:\Users\kwokg\.gradle\wrapper\dists\gradle-4.10.2-all
    3. 有一个文件夹,比如我的gradle-4.10.2-all
    4. 自行下载https://services.gradle.org/distributions/gradle-4.10.2-all.zip
    5. 将下载下来的zip文件,放到原文件夹下名字很乱的文件夹下,比如gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv这个文件夹。
    6. 重新执行flutter run
    7. 启动

    相关文章

      网友评论

          本文标题:不用Android Studio,搭建Flutter开发环境

          本文链接:https://www.haomeiwen.com/subject/uahaxctx.html